Restore removed sitemap entries

In Dynamics CRM you can work with solutions that stack on top of other solutions. This does require some careful planning and consideration during development as a change in one organization impacts other organizations. One of these changes are changes to the sitemap. If you add a sitemap entry in one solution and remove this in the second, then in a 3rd organization this entry will not be visible. However, how do you restore this entry?

CRM will place the following actions in the sitemap node of the customizations file when you export this as a managed solution. For the first solution where you add the sitemap entry:
<SubArea Entity="cht_yourentity" Id="cht_yourentity" AvailableOffline="false" PassParams="false" ordinalvalue="0" />

In the export for the second solution where you remove the sitemap entry:
<
SubArea Entity="cht_yourentity" Id="cht_yourentity" AvailableOffline="false" PassParams="false" ordinalvalue="0" solutionaction="Removed" />

As you can see, the solutionaction is removed. So, how can you remove this solution action?

Dynamics CRM is generating the actions based on the current state of the sitemap compared to the other existing (managed) solutions. This means that if you add a new sitemap entry in the second solution, then this will not be recognized as a difference and hence the solutionaction will be removed.

In short, just add a new sitemap navigation entry and this will solve your problem.

Cheers!       

No comments: