Modifying the CRM SiteMap
Posted August 19th, 2008 / 19 Comments
Modifying the CRM Sitemap can be very helpful in molding CRM for an organization. The SDK has some examples but we have found if you copy paste the code you will get an error. Below we have outlined the process. This can have a very helpful impact on end user adoption.
Step 1: Export the SiteMap
Action
- Open CRM and Navigate to the Settings Area by Clicking Settings.
2. Navigate to the Customization Area by Clicking Customization.
3.The Customization Area will load.
4.Click the Export Customizations link to load Export Screen.
5.Locate the Site Map Entity in the list and Select it.
6.With Site Map entity highlighted, Click the Export Selected Customization Button.
7.When prompted with screen below, Click Save and Save the customizations.zip file to your computer.
8.After saving the file, extract the customization.xml file from the .Zip file.
9.Make a backup copy of the customization.xml file before continuing.
Step 2: Make the Adjustments Inside the XML File Edit the Site Map Customization File
Action
1.Right click on your customizations.xml file and Open it with Application of your choice. The file can be edited with Visual Studio, NotePad, WordPad, etc.
2.The file will look similar to this.
Note: The Application Areas in Microsoft Dynamics CRM 4.0 include Workplace, Sales, Marketing, Customer Service, Settings and Resource Center.
3.After opening the file determine where you want to add the Custom Area. I want my Custom Area to display between the Service and Settings Areas, so I scroll down to the Service Area.
Build Custom Area and Sub Area
Locate the </Area> tag for the Service Area and hit enter. Utilizing the Microsoft Dynamics CRM 4.0 SDK which can be downloaded here, I construct the XML for my custom area.
<Area Id=”CustomArea” Icon=”/_imgs/sales_24x24.gif”>
<Titles>
<Title LCID=”1033″ Title=”Custom Area”/>
</Titles>
<Descriptions>
<Description LCID=”1033″ Description=”This is my custom area”/>
</Descriptions>
<Group Id=”CustomArea”>
<SubArea Id=”new_customentity” Entity=”new_customentity” Icon=”/_imgs/ico_18_126.gif”/>
</Group>
</Area>
Field/Value Notes:
ID – Can Only Contain a-z, A-Z, 0-9, and underscore (_)
LCID – Represents the Language (1033 = English)
Make Sub Area Available to all Microsoft Dynamics CRM Clients
Add the statement, Client=”All”, to the <SubArea> definition.
<SubArea Id=”new_customentity” Entity=”new_customentity” Icon=”/_imgs/ico_18_126.gif” Client=”All”/>
Make Sub Area Display when Microsoft Dynamics CRM is Offline
Add the statement, AvailableOffline=”true”, to the <SubArea> definition.
<SubArea Id=”new_customentity” Entity=”new_customentity” Icon=”/_imgs/ico_18_126.gif” Client=”All” AvailableOffline=”true”/>
Field/Value Notes:
Client – Possible Values are All, Outlook,OutlookLaptopClient,OutlookWorkstationClient,Web
AvailableOffline – Possible are true or false
Add Sub Area to Link to another Web Site
Add a new Sub Area inside your Custom Area. This time the Sub Area will point to another web site instead of an Entity in CRM. The Sub Area definition does not need the Entity parameter; instead a URL parameter is added to the definition.
<SubArea Id=”nav_dynamics” Icon=”/_imgs/area/ico_18_126.gif” Title=”Microsoft Dynamics” Url=”http://microsoft.com/dynamics” AvailableOffline=”false” Client=”Web”/>
Field/Value Notes:
URL – Defines the web site URL you are linking inside CRM
Add Custom Group to Workplace Area
1.Locate the definition for the Workplace Area in the customizations.xml file. It will resemble this.
2.Find the location you want the Custom Group to display inside the Workplace Area definition and add the XML defining the Custom Group.
<Group Id=”CustomGroup”>
<Titles>
<Title LCID=”1033″ Title=”Custom Group”/>
</Titles>
<Descriptions>
<Description LCID=”1033″ Description=”This is my custom group”/>
</Descriptions>
<SubArea Id=”new_customentity” Entity=”new_customentity” Icon=”/_imgs/ico_18_126.gif” AvailableOffline=”true” Client=”All”/>
<SubArea Id=”nav_dynamics” Icon=”/_imgs/area/ico_18_126.gif” Title=”Microsoft Dynamics” Url=”http://microsoft.com/dynamics” AvailableOffline=”false” Client=”Web”/>
</Group>
Provide User the Flexibility to Show/Hide Custom Group in Workplace
Locate your Custom Group within the Service Area XML. Inside the <Group> tag add the statement, IsProfile=”true”.
<Group Id=”CustomGroup” IsProfile=”true”>
Step 3: Import the SiteMapImport Site Map Customizations to Microsoft Dynamics CRM
Action
1.Navigate to Customizations Area inside CRM as describe above.
2. Click the Import Customizations Link to load the Import Customizations Screen.
3.Click the Browse Button to find your customization.xml file and click Open.
4.Click the Upload Button to Upload your XML file.
5.Assuming the XML is Valid, the file is ready for Import.
6.Click Import Selected Customizations. After successful import, the following screen will appear.
Step 4. Verify Site Map Changes
Action
1.Reload CRM (CTRL F5)
2. The Custom Area will appear in the Navigation menu between Service and Settings.
3.Click the Custom Area link to display Custom Sub Areas.
4.Click the Personalize Workspace link, select Custom Group, and click OK.
5.The Custom Group now displays in the Workplace Area.
