Tag Archives: 4.0

Flattening the CRM menu

CRM ships with Sales, Service and Marketing menus to provide a bit of structure and organisation to the menu.  This helps the user experience when your users work across major functional areas and need to be able to work with a wide range of CRM entities.

However, if your use of CRM is focussed on a handful of key entities then you might find this menu design a little cumbersome.   You might find that you mainly work in Sales but there are somethings you have to go to the Workplace.   Jumping between menus can get a bit tiresome and users can get a bit annoyed by not knowing where to look. 

I’ve found that the user experience can be significantly improved by flattening the CRM menu.  In simple terms, you do away with Sales, Service and Markeing and place the menu items that are relevant to your organisation all in the Workplace menu.    One menu, all your screens, your users will love it.

Take the CRM menu from:


Here’s how…

1. Open your exported Sitemap file in a text editor

2. Comment out whichever of the Sales, Service and Marketing areas you don’t want displayed

a. Hint: to comment out XML content you add <!– to start suppressing lines and end the suppression with –>.

b. For example: the entire highlighted section below has been commented out. Note the <!— on the first line and the –> on the last line.

3. Find the menu items from within the Sale, Service and Marketing areas that you want relocated to the Workplace menu and copy and paste those lines to that menu area. Keep in mind these features of the sitemap:

a. Each menu item is listed in the SiteMap as a SubArea node.

b. Subarea nodes may be one liners in the SiteMap or if they have a privilege check specified against them they will span more than one line. Be careful when you copy and paste to make sure you copy the entire node

c. When pasting into the Workplace pick carefully where you will place the menu item

· The Workplace menu (perhaps a little confusingly) has Sales, Service and Marketing sub-menus underneath it.

· Users’ can choose to have these display in their Workplace or not (via their personal options).

· If you want to this option away from your users you can do so by removing the IsProfile=”true” setting. Or, create your own menu groups and place your menu items in those groups.

Adding menu items for specific views

Here’s how to add a menu item in CRM to a specific view – e.g. a “Closed Opportunities” menu item that when clicked takes the user to the Opportunity view has the Closed Opportunities view displayed rather than the default view.

Here’s a screenshot where I’ve added a new menu item to a custom view of Hot Opportunities for my sales managers:

1. Determine the URL of the view you want a menu item for, by using CRM’s Copy Link feature. E.g. If you want the URL of the Closed Opportunities view:

a. Go to the Opportunities list view and select the Closed Opportunities view from the View dropdown

b. From the More Actions menu select: Copy Shortcut à Of Current View

c. Open Word or Notepad and from the Edit menu select Paste

d. This will give you something like this:

Closed Opportunities


Note: there are 3 ‘layers’ to this URL:

– The first section of the URL provides the address to your CRM system,

e.g.: http://gtapp3/CRMArchitects/_root/homepage.aspx?etc=3&viewid=%7b00000000-0000-0000-00AA-000010003006%7d

– If we just launched this URL then CRM would open and the default entity view would appear.

– We don’t actually need this part of the URL, the Sitemap will add this for us if it is not present and it is better to do this as the sitemap will then be able to deployed to other environments.

– The second part is the URL provides the address to a specific entity’s list view,

e.g.: http://gtapp3/CRMArchitects/_root/homepage.aspx?etc=3&viewid=%7b00000000-0000-0000-00AA-000010003006%7d

– If we launch this URL then CRM would open and the entity specified by the ‘etc’ parameter would be displayed. The default view of that entity would be displayed.

– The 3rd part is an optional parameter that will allow a specific view to be displayed (it refers to the unique GUID assigned to the view):

e.g.: http://gtapp3/CRMArchitects/_root/homepage.aspx?etc=3&viewid=%7b00000000-0000-0000-00AA-000010003006%7d

– This is what we wanted. Now we have a URL that once pinned behind a menu item in the SiteMap will allow our users to have one-click access to a specific view.

– Given we don’t need the first part of the URL, the URL that we want is:


But there’s a trick required here, because our URL has a & in it we have to do one little fiddle. Replace that & with &amp;

e.g.:  /_root/homepage.aspx?etc=3&amp;viewid=%7b00000000-0000-0000-00AA-000010003006%7d

Now you may have hit an issue back when you tried to copy the shortcut to the view.

– CRM does not always let you copy the shortcut of a view, sometimes you will be told “Shortcut for the selected view is not available”. I think you get this on the ‘My’ views – e.g. “My Opportunities”, “My Appointments”.

– I’m not sure if you can get around this by having a look in the database and determining the GUID of the view and then building the URL up from that.  That might be a solution.

– When I hit this limitation, I was able to get around it by making the view I wanted the default view for the entity. I then used a less specific URL, e.g. http://gtapp3/CRMArchitects/_root/homepage.aspx?etc=3 which would just takes the user to the entity’s list view, where my view shows by default. Of course you won’t always be able to solve this limitation this way.

Back to the sitemap…

2. Add a new SubArea node for your new menu item, e.g.:

<SubArea Id="nav_closedopps" Entity="opportunity" Title="Closed Opportunities" Url="/_root/homepage.aspx?etc=3&viewid=%7b00000000-0000-0000-00AA-000010003006%7d " />


– The SubArea ID is something you make up. It must be unique in your sitemap file.

– The Title is whatever you want displayed on the navigation menu.

– The URL is where you paste your URL (remember to drop off the prefix)

4. That’s it! Now, import your sitemap and then refresh your browser and you should see your new menu item.

Modifying the CRM Navigation Menu

The CRM navigation menu is customised via editing the SiteMap XML file that is stored in CRM. To access this file you export the SiteMap via: Settings – Customisation – Export Customisation


Once exported you can edit the SiteMap in Notepad, or an XML editor or better still in Visual Studio. But Notepad will do the trick.

There’s already plenty of useful instructions out there for editing the SiteMap so if this is all new to you then you should start there. I recommend: http://msdn.microsoft.com/en-us/library/dd393294.aspx

The end result can be a personalised, streamlined menu with instant access to key functionality and no clutter.   Here’s a few tweaks that might give you some ideas:

In my next few blogs I’ll show you how to achieve some of the above customisations.