If you’re like me and spend much of your day importing, exporting, and publishing customizations, you’re probably a bit tired of some of the excess clicking required to accomplish those processes.
I dedicated a bit of time yesterday researching how I could move the main Customize, Export, and Import functions from the Customization page to the left-hand navigation so that these functions could be accessed with a single click. Here’s what I came up with:
This is all done using modifications to the CRM Site Map.
Step 1
The first step in this process is modifying the Settings area and adding the ShowGroups option, as shown below:
<Area Id="Settings"
ResourceId="Area_Settings"
Icon="/_imgs/settings_24x24.gif"
DescriptionResourceId="Settings_Area_Description"
ShowGroups="true">
Step 2:
We need to add a new Group containing the new navigation items. It should look something like this:
<Group Id="m3_customizations"> <Titles> <Title LCID="1033" Title="Customizations"/> </Titles> <Descriptions> <Description LCID="1033" Description="CRM Customization Functions"/> </Descriptions> <SubArea Id="m3_customize" Icon="/_imgs/SystemCustomization/ico_entityManagement.gif" Url="http://crm/contoso/tools/systemcustomization/systemcustomization.aspx?pid=01" AvailableOffline="false"> <Titles> <Title LCID="1033" Title="Customize Entitites"/> </Titles> <Descriptions> <Description LCID="1033" Description="Customize Entities"/> </Descriptions> </SubArea> <SubArea Id="m3_exportcustomizations" Icon="/_imgs/SystemCustomization/ico_exportCustomizations.gif" Url="http://crm/contoso/tools/systemcustomization/systemcustomization.aspx?pid=02" AvailableOffline="false"> <Titles> <Title LCID="1033" Title="Export Customizations"/> </Titles> <Descriptions> <Description LCID="1033" Description="Export Customizations"/> </Descriptions> </SubArea> <SubArea Id="m3_importcustomizations" Icon="/_imgs/SystemCustomization/ico_importCustomizations.gif" Url="http://crm/contoso/tools/systemcustomization/systemcustomization.aspx?pid=03" AvailableOffline="false"> <Titles> <Title LCID="1033" Title="Import Customizations"/> </Titles> <Descriptions> <Description LCID="1033" Description="Import Customizations"/> </Descriptions> </SubArea> </Group>
The new Customizations Group contains three subareas: Customize, Export and Import. Each points to the URL that handles that specific function within CRM. This is the same URL that CRM uses, we’ve just moved it into the navigation structure.
Caveats
The only real issue that I have with this solution is you must specify the full URL to these sites. I tried a relative path but it would not display properly. This is an issue if you are moving customizations between servers and/or organizations but it’s not a huge issue to overcome.
You’ll also notice that I only moved three of the six items on the Customization page. The other three items are used so infrequently that they don’t warrant occupying space within the navigation structure.




Since you added them to the main navigation, would the security roles still restrict these from being visible to users who do not have permission to import/export customizations or would anyone be able to click on the links?
Thanks,
Z
Excellent point. No it does not.
Thanks for a tip.
Strangly, I have tried the approach using relative URLs and it worked for me.
Here is exactly what I use:
I added 'Privilege Entity="workflow" Privilege="Create" ' beneath to SubArea node to all navigation items the users should not be able to see; this prevents the nav item to show up for non-admins.
Excellent. Thanks.