NOTE: There is a tool freely available from Microsoft called "Demo Tools for the CRM 4.0 Demo VPC" that gives you an interface that is a bit friendlier.  This tool has some limitations - but if editing XML gives you an upset stomach, you may want to download and experiment with this tool.

You already know that users can have a small amount of control over their menu by clicking the Personalize Workplace ... link at the bottom Workplace on the CRM navigation menu.  But did you know how easy it is to create additional areas for that menu that users can choose from?

Before trying to follow the instructions below, you should make sure you have a tool that you're comfortable using to edit an XML file.   If you've done a lot of XML editing, then you're probably fine.  If not, then I recommend the free XML Notepad 2007 tool from Microsoft - click here to download it.

(1) Export the XML for your Site Map.  In the web version of CRM, go to Settings, Customization, Export Customizations, select Site Map and then click the Export Selected Customizations option.

Microsoft_CRM_Export_Customizations_Site_Map

(2) Save it to a convenient place on your hard drive.  REMEMBER to MAKE A COPY (BACKUP) OF THE FILE before saving it.  If you make a mistake, you'll want to be able to restore our Site Map again!

(3) Open the customizations.xml file (use XML Notepad 2007 or the editor of your choice).

I won't go into a lot of detail about all the different options.  You can check out the SDK for that information, or one of the many other BLOGs that provide a lot of detail on that.  Let's focus, instead, on the specific task of creating additional Groups that the user can optionally display.

A change that we're frequently asked to make is to create a Group that puts together all the entities typically used by Sales in the order of their normal business process: Leads, Accounts, Contacts, Opportunities.

(4) A good place to start is to find a Group that is already configued in a way similar to what you want.  In this case, you can start with the Customer Group.  You'll need to "drill down" to find what you're looking for.  Expand Site Map, then Site Map again, then the first Area (Workplace) and then the Customers group (I think this is the second group in the default configuration).

SiteMap_XML_in_Dynamics_CRM

(5) Now you'll want to make a copy of the group.  Click on the Customers Group, and select Edit | Copy.

(6) Back up to the top Area - click on it to highlight it and then select Edit | Paste.  This will paste an exact copy of the Group at the bottom of the area.  You can drag it to wherever you want on the menu (make sure you keep it at the same level in the hierarchy - drag/drop in the XML Notepad takes a bit of practice).

(7) Now you'll want to add other menu items (aka SubAreas) to the Group as appropriate.  You can copy the Lead and Opportunity Subarea out of the Sales Group.  Remember that you probably want to copy/paste and not drag/drop because you don't want to remove the items from their original meu.

(8) Now it's time to make a few changes to the Group to make sure that it will display correctly (and not "break" your site menu!).  Under the Group, you'll want to have an attribute named IsProfile that is set to "true" (see the image above).  This is what tells CRM that it should give the user the option to display the Group of they want to.

If you want the Group to have a unique name, then use the Title attribute (another red "gumball" in XML Notepad 2007) under the Group and enter a Title for it.

(9) The Group and each Subarea should have a unique ID and ResourceID.  If these items aren't unique, then the XML file will not load to CRM.  I typically give each of them a unique suffix related to the name of the Group.  So, if you want to name this Group "SalesSupport" then you can use the suffix "_salessupport" to be sure that each item is unique.  The image above has an example.

(10) Okay, you're ready to load your XML file back into CRM.  YOU DID MAKE A BACKUP DIDN'T YOU?  Import the XML for your Site Map.  In the web version of CRM, go to Settings, Customization, Import Customizations, browse button, browse to your file, click the Upload button and, assuming your XML file was readable, click the Import button.

(11) Refresh your browser.

(12) To check your configuration, click the Personalize Workplace... link on the Workplace Area of CRM.

(13) Select the Workplace tab and select each Group that you want displayed in your Workplace.

Personal_Microsoft_CRM_Menu

(14) Click OK

(15) Each of your users will need to follow steps 12-14 to customize their menu.

As you can see from the illustration, you can add as many Groups as you would like.  You can also have the same subareas (menu items) across multiple Groups.  So you have a lot of flexibility to configure your menus and allow your users to tailor their personal navigation.