Microsoft CRM Sitemap Surgery Tips
The ability to edit the Microsoft CRM sitemap is a great way to make the application fit your business requirements; however, CRM is somewhat picky about certain changes.
- Say you want to get rid of the "Workplace" area of the CRM wunderbar. You cannot "comment out" the "Workplace" section of the wunderbar in the sitemap.xml—you have to delete the area from the sitemap.
- Say you don't want the "Extensions" group to be displayed under navigation. If you "comment out" the extensions group from the sitemap xml, you will get a "invalid xml" error when you upload the sitemap. If you "comment out" the subareas under the extension group, but leave the extensions group in place, the sitemap will upload successfully, and the "Extensions" group will no longer display.
- Say you want to move a system entity link from one wunderbar area to another—say you want to move the service calendar from the Service area to the Sales area. If you copy the sitemap line for the service calendar subarea and paste it into another are, you will get an invalid XML error when you upload it. It appears that CRM reserves certain nav names for certain areas, and does not like you to move them. The solution is to create a new subarea string, giving it a new name and description, but pointing to the same URL as the default entity link.
- Example: The Service calendar subarea in the sitemap is <SubArea Id="nav_apptbook" ResourceId="Homepage_AppointmentBook" Icon="/_imgs/ico_18_servicecal.gif" Url="/sm/home_apptbook.aspx" Client="All"> If you try to move this line to another sitemap area, you will get an "invalid xml" error
- Create a new subarea under the area that you want the link to the service calendar to go. For example <SubArea Id="nav_svccal" Title="Service Calendar" Description="Service Calendar" Url="/sm/home_apptbook.aspx" Client="All" AvailableOffline="false" />. The sitemap will now upload successfully, and the link to the service calendar will be in the desired area.
What are some other Sitemap tricks and tips that you have found?

I WANT TO KNOW ABOUT THE FEATURES OF CRM . I WANT TO BUILT NEW SOFTWARE ,SO WHAT ARE THE MODULES ARE NEED FOR IT
Posted by: haji | February 27, 2008 at 05:26 AM
How do I define a sitemap for a particular user or a user role?
Posted by: Kamaldeep | February 28, 2008 at 11:18 AM
There is no way to have different sitemaps for specific security roles. You can define the rights per security role for specific entities to determine whether or not they will see the icon.
Another thing to consider is you can specify which client displays the subarea, so you can restrict access to areas to users of a specific client. Example Client = “web” , Client=”Outlook”, Client=”All”
Posted by: Joel Lindstrom | February 28, 2008 at 11:33 AM
Joel - good points on some 'gotchas' in editing the site map..
But in response to your comment above
"There is no way to have different sitemaps for specific security roles. You can define the rights per security role for specific entities to determine whether or not they will see the icon."
It is true that you can't set a whole site map based on a security role - but you can choose to hide specific areas based on the privileges found in a security role. See http://msdn2.microsoft.com/en-us/library/cc150881.aspx for more information. I'd be interested in hearing whether people have used this and if they got what they expected from it.
Posted by: Jim Daly | April 18, 2008 at 05:25 PM
Nice tips.. I found little information about the sitemap on other informational sites but found here what I was searching for...
Posted by: Microsoft CRM Implementation | August 12, 2008 at 07:25 AM
I've added an extra group under "Resource Center" called e-learning:
The problem is that if the html on "some-url-here.dk" is too wide or too long, part of it disappears. There seems to be no way of adding scrollbars dynamically.
Is this correct, and that's just something we have to live with, or is there some parameter I can add to the sitemap to add scrollbars?
Posted by: Maria | November 06, 2008 at 08:18 AM
Try using the Dynamics CRM Demo Tool to modify the Site Maps as another option. It is an amazingly powerful tool that allows you to connect directly to the sitemap and make modifications using a UI. BE SURE TO BACK UP THE SITE MAP FIRST
Posted by: Henry McCallum | November 12, 2008 at 02:05 AM
I have set ours up to show different wunderbars based on the department the user resides. To do this, I create a dummy entity, i.e. 'WBOperations' and a new security role, 'WB - Operations' that has everything turned off except 'Read' access to the dummy 'WBOperations' entity. I give each sitemap subitem 'Read' privileges to this entity under that wunderbar group. Then, all you do is give each user who needs access to that wundertab the 'WB -Operations' security role. Voila! MSCRM hides wunderbars if no subitems can been seen by the user. Therefore, from the user's perspective, you can have different sitemaps for different users and even different ones for the web/outlook; but it is still all housed in one sitemap.
P.S. You can have more than one Privilege per item in the sitemap so departments, users, etc. can overlap.
Posted by: Garrett Klas | February 19, 2009 at 05:49 PM
Hi,
I'm looking for a way to put my specific entities for example into the Area "MyWork".
As soon as I move a specific entity () out of the extensions group, I encounter an invalid XML error when I upload the Sitemap.
Any help would be greatly appreciated.
Posted by: Johan | March 31, 2009 at 09:42 AM
Hi Johan,
Each subarea ID can only appear once in the sitemap. Don't just copy the existing sitemap link, create a new one and give it a unique id.
For example, the following is an example where I have added a custom subarea for an entity that already exists elsewhere in the sitemap:
Note that you can call the subarea id anything you want--just has to be unique.
The approach can also let you have a link that opens a view other than the default view for the entity--just specify it in the URL
Posted by: Joel Lindstrom | April 01, 2009 at 04:13 PM
Thank's a lot ! It has been very helpful.
Posted by: Johan | April 07, 2009 at 10:35 AM
Does anyone know why I keep getting this pop message ('Server unable to process request')each time i try to publish the customizations I have made to CRM using the CRm demonstration tool
Posted by: eboni | April 24, 2009 at 03:27 AM
Eboni,
I haven't seen that error before. I don't know the answer.
Posted by: Joel Lindstrom | April 24, 2009 at 07:28 AM
Hi Joel, thank you for your response. I will use a software called snagit to record a video of this error. pls forward your email. In the meantime, how can I upload an icon for a pane. it seems all the URLs have tried on CRM demonstration tool are not working. kind regards.
Posted by: eboni | May 06, 2009 at 07:17 PM