Microsoft Dynamics CRM 2011 introduced the ribbon, common now to most Office users, as the main set of menu options and controls to trigger system functionality. In addition, the ribbon is extendable and allows developers to add their own buttons and controls that expose custom functionality to the user.
There are several key concepts that help understand how a ribbon is customized. To modify the behavior of a ribbon control, you use the ribbon definition to set the following rules and actions:
Enable Rules: setting the Enable Rule of a ribbon control defines when and how a ribbon control is enabled/disabled for use. For example, when a View is being displayed for Contacts, you can set a custom ribbon button to only be enabled if a single (or multiple) records are selected in the View results.
Display Rules: setting the Display Rule of a ribbon control defines when and how a ribbon control is visible/invisible. For example, you can make a ribbon button appear only when a subgrid is the active control on a form.
Another very important concept to understand is that when you edit or modify a ribbon, you are not “adding” to configuration, you are modifying existing configuration. You first need to export the ribbon XML definition, modify it, and import it back into CRM.
As the ribbon is contextual throughout the CRM user interface, each CRM entity has its own “ribbon definition”. The ribbon definition is stored within CRM as XML and can be exported in a Solution file and edited to add, remove, or modify the contents of the entity’s ribbon.
There are many other considerations when editing or modifying ribbon elements, including:
Note: there are several third-party tools that have been created to help make ribbon editing easier. Check CodePlex for options.
- Guide to Microsoft Dynamics CRM 2011 Ribbon Customization (Blog)
- Customize the Ribbon (MSDN developer network resource)
Site Map Editing
The site map in Microsoft Dynamics CRM defines the primary navigational structure found along the left side of the CRM user interface. The site map is configurable, and the navigation options can be modified by editing the site map XML when exported in a solution. Note, you can also affect site map behavior using CRM security roles.
Some common reasons that organizations may edit the site map:
- Add/remove options to CRM functionality and navigation.
- Add/remove default CRM areas/subareas (like sales or service, etc)
- Send user to external application
- Link a site map option to a biew
- Open a web resource
Perhaps an organization uses CRM for sales and marketing, but does not use it for service. By editing the site map, you can remove all navigational options to any service-related resources like the case form.
- Change Application Navigation Using the Site Map (MSDN developer network resource)