The topic of managed solutions and sitemaps turned out to be so popular that a few trucks stopped by for the first Tipping Truckstop of 2018.
tl;dr
Before installing any managed solution, backup your sitemap. Because
Managed solutions and sitemap are like magicians and their assistants: one distracts the audience, another one disappears.
The story
Guido “Future Olive Farmer” Preite has reported that installing Organization Insights version 1.3.1.0 removes Process Center and Application sitemap areas in Dynamics 365 version 8.2.2. Jerry “Once Tipster Forever Tipster” Weinstock has since confirmed that the problem exists in Dynamics 365 version 9.0.1 as well.
Antidote
Miquel “Third musketeer” Julien was first to offer the solution:
I met the same problem two weeks ago! I used the XrmToolBox (must be some kind of a native French thing – t.j.) to change the sitemap after the insight solution import.
Now, before any managed solution import, I save the sitemap with the Sitemap Editor tool.
Reproduce
When I questioned the ability of a managed solution to delete other entries in the sitemap, Jonas “Surströmming MkII” Rapp outlined the detailed steps to reproduce the issue:
As long as the parts you are removing are “known” where your solution is developed. (which applies to all default areas – t.j.)
- Create a solution in vanilla CRM
- Add sitemap to it
- Use favorite sitemap editing tool to remove parts of standard solution sitemap
- Export solution managed
You will see in the customizations file that the removed areas/groups/subareas appear with action=deleted. And that will apply wherever the solution is imported. That’s why you should
always always always make sure you reset the sitemap to default before adding your own stuff when building ISV solutions
Otherwise someone will get angry and you will feel the flames that the orginsights team is feeling right now.
ISV Story
Jerry has some additional advice for ISVs:
As an ISV we initially recommended to our clients to backup their sitemap and even their default solution prior to importing our Managed Solutions.
However, since no one ever had the time to do it apparently or read the directions we changed our approach – We don’t include a sitemap in our solutions any longer. We do include instructions on how then can update their sitemap to add the entities from our managed solution.
Since going that route, provisioning sessions usually end with a happy face. Even though it’s time consuming for the client.
Jerry’s tip at the end is the best for an ISV in my opinion.
I would add that you can programmatically add \ remove your sitemap elements using steps close to the ones outlined here,
http://mubashersharif.blogspot.ie/2012/07/change-sitemap-content-programmatically.html