Modifying the CRM SiteMap

By in Dynamics CRM, SDK on Tuesday, August 19th, 2008

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

  1. Open CRM and Navigate to the Settings Area by Clicking Settings.

clip_image004

2. Navigate to the Customization Area by Clicking Customization.

clip_image006

3.The Customization Area will load.

clip_image008

4.Click the Export Customizations link to load Export Screen.

clip_image010

5.Locate the Site Map Entity in the list and Select it.

clip_image012

6.With Site Map entity highlighted, Click the Export Selected Customization Button.

clip_image014

7.When prompted with screen below, Click Save and Save the customizations.zip file to your computer.

clip_image016

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.

clip_image018

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.

clip_image020

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.

clip_image022

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.

clip_image024

2. Click the Import Customizations Link to load the Import Customizations Screen.

clip_image026

3.Click the Browse Button to find your customization.xml file and click Open.

clip_image028

4.Click the Upload Button to Upload your XML file.

clip_image030

5.Assuming the XML is Valid, the file is ready for Import.

clip_image032

6.Click Import Selected Customizations. After successful import, the following screen will appear.

clip_image034

 

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.

clip_image036

3.Click the Custom Area link to display Custom Sub Areas.

clip_image038

4.Click the Personalize Workspace link, select Custom Group, and click OK.

clip_image040

5.The Custom Group now displays in the Workplace Area.

clip_image042

23 Responses to “Modifying the CRM SiteMap”

  1. J T says:

    I wasted so much time trying to add a new area in crm following msdn’s just copy and paste advice to no avail.

    Thank you for the clear instructions and explanations. It worked the first time.

  2. Gavin says:

    On a related but slightly different issue, do you know if it’s possible to add new sub-areas on the left hand navigation within an actual Entity? So for instance, I have created a relationship between a custom entity Project and Account, and want to place the link for this relationship on the left hand side of the Account record with a heading other than the standard ‘Detail’, ‘Sales’, ‘Marketing’, etc.

    Do you know if this is possible?
    Cheers
    Gavin

  3. Gavin says:

    Hi Kristen,
    So keeping in mind this is a Relationship to another entity that normally gets displayed automatically on the left when you create the Relationship, are you saying instead of using the display options when creating the relationship, you rather create a manual NavBarItem with a manual URL that shows the grid of Associated items for that entity relationship? How would you form that URL then?
    Thanks!
    Gavin

  4. Gavin says:

    Hey Kristen,

    Unfortunately I don’t see this working for a new custom area… for instance, I’ve created the NavBarItem below, and it works fine as long as the Area is one of the standard ones (e.g. Sales, Marketing, etc), but I can’t get it to work with a custom one such as below:

    Cheers
    Gavin

  5. Chris says:

    It would be great if you could customise the Nav area on the entity. I take it from the convesation so far that it’s not possible?

  6. Kristen O'Connor says:

    Yes, Chris. It’s possible. From what we’ve experienced, downloading the IE Developer’s Toolbar and following the directions given in the MSDN library article (see comment at 8:51 am on the 24th for link) will give you what you need. You just have to replace the hyperlink (seen in the example code in the article) with the one that the IE Toolbar generates for you. It might not work the first time, as all developers have learned from experience. So try a few times from a few different angles, just to hit all points of potential logic.

  7. Gavin says:

    Hi Kristin,

    I think a bit of crossed wires… it definitely works, you can create a NavBarItem with the generated URL using the IE Toolbar etc.

    What WON’T work is placing it in a non-standard ‘Area’, i.e. creating a grouping on the left hand side that doesn’t fit into the standard areas provided of ‘General’, ‘Sales’, ‘Service’, ‘Marketing’.

    Thanks for you input!
    Cheers
    Gavin

  8. Khalid says:

    Thanks it took me so long to find this forum. It works great with IE7/8 but my only problem is our company application which uses an ActiveX. when I try to use the custom nav.bar in outlook it works wel but I cannot logon to our page. I can see the username and password fields when try to tap the logon buttorn it comes back to loggon screen. What can I do about this. I just tested this one in Outlook 2003 and it works fine but not with outlook 2007. I just changed all the security settings even I used the GroupPolicy editor to run all ActiveXs. What can I do about this.

    thx.

  9. Ben says:

    Sounds like you may need to configure your activeX settings for Outlook 2007. Take a look at this link and let us know if this helps at all.

    http://technet.microsoft.com/en-us/library/cc179122.aspx

    Thanks.
    Ben

  10. jhelumi786 says:

    Can I have the groups in Areas other than WorkPlace? If yes how can I do that. e.g I want to combine the Sales & Marketing as single area but having two groups within it (sales, marketing) and then each group have relative links without duplications.
    Thanks Jhelumi786

  11. jhelumi786 says:

    I got the answer. Its the ShowGroups = “true” in the Area tag

  12. Bob Clayton says:

    I followed the steps above and created a new area with my custom entity as a sub area. Is it possible to add system entities to my new area. For example, to see “Invoices” as a sub area?

    Thanks
    Bob

  13. Shaimaa Mohamed says:

    Really great work :) Thanks alot

  14. saeed neamati says:

    Hi, I made some customization (adding a simple area, a group and a sub-area) but it doesn’t work, and the error messoge tells me that I have to turn DevErrors section of configuration database to on. I did it in web.config file to get the stack trace of the error, but no result. It still gives the same error messoge.

  15. RFish says:

    This is great post. Thanks!
    Does someone know how to add just one line at the stiings aea – that will take to a page with multiple links – like the Customization Page or Administration – they all look the same – is there kind of template we can use?
    Thanks

  16. [...] roles. If you are unfamiliar with modifying the sitemap, reading Micorsoft Sitemap Reference and article on modifying the CRM Sitemap will be helpful. view plaincopy to [...]

  17. Alex says:

    Is it possible to remove Workplace and My Work from Outlook client at all and just show users the entities they need? I’d like to have Microsoft Dynamics CRM and Accounts/Contacts right at the next level.

    Thanks

  18. Ruchi says:

    Thx for step by step explaining. I really appreciate this being a new learner.

  19. Kristen O'Connor says:

    Gavin,

    Yes, it’s possible. Check out this library article on MSDN Developer’s Center:

    http://msdn.microsoft.com/en-us/library/cc150902.aspx

    Some example code is at the bottom of the page – just be sure that you know the URL you are going to point the navigation to.

    Let us know if you have any other questions.

  20. Kristen O'Connor says:

    Gavin,

    Not really manual. Download the IE Developer’s Toolbar, and that should generate a URL for you:

    http://www.microsoft.com/downloadS/details.aspx?familyid=E59C3964-672D-4511-BB3E-2D5E1DB91038&displaylang=en

    Hope this helps.

  21. Kristen O'Connor says:

    Thanks for the input, Jhelumi786! If you have any other ideas or questions about SiteMap modification, please feel free to share.

Leave a Reply

*
*