Skip to main content

Notifications

Microsoft Dynamics CRM (Archived)

Positions of the Site Map Area Elements After Import

Posted on by Microsoft Employee

I am using Dynamics 365 on-premises 8.2.2.112.

I have a managed solution that includes a modified version of the default site map. The modified site map contains all five default areas unchanged (Sales, Service, Marketing, Settings, Training) and also three new custom areas. When I import that solution to another organization, I have observed the following behavior.

- Modifications made in the target organization on the five default areas are not affected (this is good)

- Custom areas made in the target organization are not affected (this is good)

- The positions of the new areas after the import appears random (this is bad)

Here's the case: In my source organization I have the following areas in the following order:

New Area 1 (NA1), New Area 2 (NA2), New Area 3 (NA3), Sales (SAL), Service (SER), Marketing (MAR), Settings (SET), Training (TRA)

In the target organization I have the following areas in the following order:

Custom Area (CUS), SAL, SET, SER, MAR, TRA

After I import the solution that contains the sitemap, I get the following areas in the following order:

CUS, NA1, SAL, NA2, SET, NA3, SER, MAR, TRA

What I would want is that the new areas contained in the solution would be in the beginning, so the result should look like this:

NA1, NA2, NA3, CUS, SAL, SET, SER, MAR, TRA

Does anyone have any idea how I could affect the order of the areas after the import? Also, I would very much like to know how the order is determined.

As a curiosity, I experimented on what would happen if the site map contained in the solution would have only the new areas and none of the five default areas. After the import it appeared that all the default areas that were not modified disappeared, but all modified default areas remained unchanged.

Is there any factual information available on what exactly happens to the default site map when a new one is imported? What is the exact logic it uses to determine should something be overridden, ignored or merged with existing elements?

Are there any better ways to achieve what I'm trying to do? I am under the impression that switching between Apps is rather inconvenient in on-premises environments at the moment, so I don't think an App is the way to go here.

*This post is locked for comments

  • Community Member Profile Picture
    Community Member Microsoft Employee on at
    RE: Positions of the Site Map Area Elements After Import

    An excellent answer. Thank you.

  • Verified answer
    Andras Fordos Profile Picture
    Andras Fordos 112 on at
    RE: Positions of the Site Map Area Elements After Import

    Good Afternoon,

    .

    In short: https://msdn.microsoft.com/en-us/library/gg309329.aspx#BKMK_MergingNavigationCustomizations
    .
    For details:
    "How to effect ordering after import"? You have to customize again - in case you have local changes in the target too - after the merge. Either in CRM, or by exporting an unmanaged solution from the target instance (with a sitemap containing now all areas), reordering the XML (manually, or with 3rd party), and then reimport it.
    .
    "How order is determined?" For this, you need to know about two things:
    A) Layering in CRM. First comes the system solution, then managed solutions ordered by import date, and then unmanaged customization on top.

    B) Sitemap behaviour in a managed solution. Even though, if during import you choose "overwrite customization", sitemap (and forms) will not overwrite local changes. On the other hand, a managed solution contains the "ordinalvalue" tag for the Areas in a site map, telling the ordering of them.

    So, when you import your solution:

    • it takes the order from the managed solution: NA1 (1st), NA2 (2nd), NA3 (3rd), SAL (4th), SER (5th), MAR (6th), ...
    • and it takes the local changes, (being local changes stronger): CUS (1st), SAL (2nd), SET (3rd), ...
    • and merges them together. If there are more elements for a place (eg 1st place), the one from the unmanaged wins. Obviously, if an element was already merged (eg SAL on 2nd place), it wont be merged again from the managed solution (to be also on the 4th)...

    .

    ".. what is the logic to determine (..) if overriden, ignored, ..." For this, you have to only know about one more thing: Sitemap behaviour in managed solutions. Managed solution only contains what really was changed with the solution itself. In the customization.XML, you can see this with the tag "solutionactiontype", and you can read more about it here: https://blogs.msdn.microsoft.com/crm/

    .

    Best regards

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

December Spotlight Star - Muhammad Affan

Congratulations to a top community star!

Top 10 leaders for November!

Congratulations to our November super stars!

Community AMA December 12th

Join us as we continue to demystify the Dynamics 365 Contact Center

Leaderboard

#1
André Arnaud de Calavon Profile Picture

André Arnaud de Cal... 291,240 Super User 2024 Season 2

#2
Martin Dráb Profile Picture

Martin Dráb 230,149 Most Valuable Professional

#3
nmaenpaa Profile Picture

nmaenpaa 101,156

Leaderboard

Featured topics

Product updates

Dynamics 365 release plans