Microsoft Dynamics CRM 2011 introduces some great new form customization capabilities. One of my favorites is the ability to remove Navigation bar links from a form.

Prior to 2011, the only way to remove nav bar links was to use jscript to hide them. This complicated form customization, and also made the form appear to “dance” when you first opened it, as all of the hidden nav bar links would appear momentarily and then hide.

Now, with CRM 2011, you can go to the form customization and select the “Navigation” node from the ribbon.

Then from the left side of the form customization, you can select visible navigation bar links and remove them by either clicking delete on your keyboard, or clicking “Remove” from the ribbon.

If you want to add a link to the navigation bar that is not currently displayed on the navbar, you can select the link from the “Relationship Explorer” on the right side of the customization form, and drag and drop it to where you want to display it on the navigation bar. So if you remove one, then want to add it back, just move it over from the Relationship Explorer.

This will work with most of the relationships in CRM. One of the few for which it doesn’t work however is the “Closed Activities” link.

This is a link that shows the closed activities related to the record. It is basically a link to the same entity as the “Activities” nav bar link, just filtered to show a different view—Closed activities.

If you delete the Closed Activities nav bar link, you will not be able to add it from the relationship pane. It will no longer exist.

To get the link back, create a solution containing the entity from which the link was deleted and export the solution.

Then from another CRM environment, export the same entity, extract the solution .zip file, and edit the customization.xml file. Search for “<NavBarByRelationshipItem.“ You will find a section in the XML that looks like this:

<NavBarByRelationshipItem RelationshipName="Incident_ActivityPointers" Id="navActivityHistory" TitleResourceId="Tab_Label_History" Icon="/_imgs/ico_18_history.gif" ViewId="21E2B905-6FDB-470d-8517-AD69B4C01268" Sequence="20" Area="Info">
<Privileges>
<Privilege Entity="" Privilege="ReadActivity" />
</Privileges>
<Titles>
<Title LCID="1033" Text="Closed Activities" />
</Titles>
</NavBarByRelationshipItem>

Note this section may be different based on the entity in question. In this example, I’m using the case entity.

Copy this section, then go to your exported solution customization.xml for the environment where you deleted the closed activity link. Paste this section in the appropriate place, then zip up your solution and import into your environment.

You will once again see the “Closed Activities” navigation bar link.