The ability to provide contextual custom help content for users is a very important piece of any CRM implementation, big or small. Microsoft Dynamics CRM 2015 now makes it easy to configure and manage help content, whether you are using CRM out of the box with a few minor customizations, or a highly customized CRM system.
CRM administrators can configure what help content will be displayed to the entire organization or for specific customizable entities. An important thing to note is that customizable help is not available for Microsoft Dynamics CRM for tablets.
To configure custom help in your CRM system:
Globally turn on custom Help
To turn on customized help for the organization, navigate to Settings > Administration > System Settings. On the General tab, scroll down to the section titled Set Custom Help URL.
Use Custom Help for customizable entities – This option turns on global help for all customizable entities in the system.
Global custom Help URL – specifies the URL to the location where our custom help content is hosted. Relative URLs are supported if you wish to host custom help inside HTML Web Resources.
Append parameters to URL – Setting this option to “Yes” will automatically include contextual information in our custom Help URL. The following parameters can be included:
Note: If custom help is turned off, the default help content will be displayed. For example, navigating to help for the Account entity will display the following window:
No help will be provided for any custom entities we have, since the default help content knows nothing about our customizations. If I open up help for a custom Event entity, the following window will be displayed:
Now let’s see what happens when we turn custom help on. I have specified the following properties in System Settings:
Use custom Help for customizable entities: Yes
Global custom Help URL: http://crmhelp.magnetismsolutions.com
Append parameters to URL: Yes
Note: You will need to refresh CRM in the browser once you have updated the System Settings.
If I navigate to help for the Account entity, CRM opens up a new window with the following URL which includes the entity name and language code of the current logged in user. We can simply build a web page which can read this information and display contextual help in the correct language.
If I now try to navigate to help for our custom Event entity, we will see the following URL:
Turn on custom Help at the entity level
Custom help can also be turned on at the entity level. This would be useful in scenarios where you might have purchased add-ons for CRM and the help URL would take you to the website of the vendor who developed the add-on. Another scenario would be the case where you have one HTML Web Resource per entity. For example, account.html would contain the help information for the Account entity, while contact.html would surface information about Contacts.
To turn on custom help at the entity level, navigate to Settings > Customizations > Customize the System and open up the entity definition for any customizable entity.
If I was building an Events module for CRM which I intend to sell as an add-on, I would configure a different URL for custom Help.
Note: You don’t need to publish the entity for the changes to take effect. Simply save the entity definition and refresh CRM in the browser before clicking on the help button.
The resulting help URL would look like this:
Hosting Help Content in HTML Web Resources
The ability to host custom help content within HTML web resources has the following advantages over other methods:
The CRM 2015 SDK describes the following caveat to using HTML Web Resources.
When a user belongs to more than one organization on a server, this path will always refer to the users default organization. If the user isn’t using the default organization and the expected web resource isn’t included in the user’s default organization, a “File Not Found” error occurs even though the web resource does occur in the organization the user is currently working in. If a web resource with the same name exists in the default organization, the web resource for that organization will be displayed and may not be correct for the current organization.
If this causes problems for users in the organization, the URL values for the settings can be updated to prepend the base organization URL to the relative URL for the web resource in the organization.
Stay tuned for future posts where we will see how we can implement custom help in various ways.