As you might have seen from previous posts on my blog, I am a big fan of the XrmToolBox by Tanguy, especially the Sitemap editor is excellent in its simplicity and capabilities.
However, I recently ran into a problem after using the function:
Reset CRM 2013 SiteMap to default.
Scenario
- New installation of CRM2013 organization.
- Import managed Solution A, with some entities then added to sitemap.
- Add some custom entities in unmanaged Solution B.
- Work with sitemap for Solution B entities, either directly in the solution xml or by using XrmToolBox.
- I’m not pleased with my manual sitemap changes, so I use the XrmToolBox function to reset the sitemap to default.
- Now the entities from Solution A are of course not in the sitemap.
- Re-import Solution A to get its entities back into the sitemap.
- Solution A entities are still not showing anywhere.
- Export Solution B unmanaged to investigate the current sitemap.
- No traces at all of Solution A entities in sitemap.
- Export Solution B as managed to investigate diff in sitemap.
- Sitemap elements from Solution A appear with solutionaction=”Removed”.
Conclusion
After removing the Solution A sitemap elements, which is the result of the reset action, the system “remembers” that I do not want to see them, even after new import of the managed solution.
Solution
The only way I have found to solve this is to manually edit the sitemap and reintroduce the sitemap elements from Solution A into the system. After that, the Solution A entities appear as expected. Managed export of Solution B now shows nothing at all, which is correct. I can then get back to adding my own new entities.
Additional Problem
The solution above is possible if I have access to an unmanaged version of Solution A, but if this is something from a third party it might not be that easy to generate corresponding sitemap xml from the managed solution file.