Client extension features
Part 9 of "11 things to know about customization"
Published: April 20, 2007
There are three main client extension features in Microsoft CRM 3.0 that you can also use for customization tasks:
| • | SiteMap |
| • | ISV.Config |
| • | IFrames |
These features are designed to allow for other applications, usually Web sites, to be integrated into Microsoft CRM. The applications you integrate can be as complex as a new module developed by a third-party ISV or as simple as a link to an HTML page providing information for users.
On This Page
SiteMap
On the left side of the Microsoft CRM Web client there is an area called the Navigation Pane. The Navigation Pane contains the Workplace, Sales, Marketing, Service, and Settings areas.

The Microsoft Dynamics CRM Navigation pane
You can change these Navigation areas. You can add, remove, and modify these areas to change the text or the icons they display using the SiteMap. These changes also affect the Microsoft CRM 3.0 client for Microsoft Office Outlook. But the appearance is different because Outlook displays the areas as folders and sorts them alphabetically.
You can change the groups available in the Workplace area. This changes the options available to users when they click the Personalize Workplace link and also from the personalization options area.
The main purpose of the SiteMap is to allow for developers to add their own modules to Microsoft CRM, so there is not an easy GUI interface to change this. The process is to export the SiteMap exactly as you would export any entity, open the XML file, and make modifications. All the valid XML elements are documented in the Microsoft CRM Client Programming Guide. You then import the file back into Microsoft CRM to see the changes.
Microsoft Dynamics CRM MVP John O’Donnell (www.crowecrm.com) points out that the ability to control navigation is valuable when his clients want to reduce the number of options available or group items in different ways. He also emphasizes that it is important to keep a backup of the original site map before making changes.
ISV.Config
ISV.Config resembles SiteMap except that you use it to create custom buttons, menus, and navigation areas for the forms and views for the application and each entity. Each of these items can be configured to open a specific URL to a page that will be displayed in Microsoft CRM, or JScript can be added to perform actions. Clearly, these features help an ISV integrate their solution – but you can also use them for simpler customizations. Perhaps you want the users to have easy access to a SharePoint site where you document the procedures related to a particular type of record. You could configure a custom button to make that page easily available. The process of customizing ISV.config is the same as SiteMap.
IFrames
IFrames are another type of client extension feature. IFrame is an abbreviation for Inline Frame. This lets you insert a Web page within a Microsoft CRM form. An ISV can use this to expose some custom functionality within the form. For example, you could pass the address information from a contact to the IFrame. The target of the IFrame is a Web page that uses that information to retrieve a map based on the address information.
IFrames are easier to configure than SiteMap or ISV.Config because there is a GUI interface. You can add an IFrame within the entity form customization area.
Microsoft Dynamics CRM MVP John O’Donnell (www.crowecrm.com) points out that IFrames can be manipulated using form event scripts. One powerful technique is to use the form OnLoad event to change the URL for an IFrame. For example, when you have a SharePoint site where every account in Microsoft CRM has a matching SharePoint site where the URL is linked to the account number. When the account is opened in Microsoft CRM, the IFrame URL is modified by code so that the SharePoint site is displayed in the IFrame.
For more information on integrating SharePoint with Microsoft Dynamics CRM, see Creating folders in SharePoint document libraries for use with Microsoft CRM records in the Microsoft Dynamics CRM Team Blog.