Dynamics CRM in the Field

Information from the Microsoft Dynamics CRM PFE team working in the field

Performance: Turn off HTC’s and IE Compat Mode mode with Dynamics CRM 2011

Performance: Turn off HTC’s and IE Compat Mode mode with Dynamics CRM 2011

Rate This
  • Comments 0

After applying update rollup 12 most of us will likely want to take advantage of a setting which disables HTC’s and allows CRM to take advantage of Internet Explorers latest standards based browser mode. 

NOTE: This reference of HTC is not the mobile phone maker but instead DHTML behavior definitions used in IE5 and greater.

Why disable HTC’s?  There are a couple of reasons, the first of which is a general performance boost, anecdotally I’ve noticed that by disabling the HTC’s the perception of responsiveness in CRM seems to improve.  Second, by dropping the HTC’s (used for CRM 4.0 JavaScript API compatibility) you are removing a bunch of extra components from CRM including the forms – again these components specifically support CRM 4.0 javascript API’s.  By removing these behaviors you’re naturally streamlining the app. 

What are the settings and what do they do?

OrgDBOrgSetting UI Setting Label Setting Description
DisableIECompatMode Load pages in the most recent version of Internet Explorer True will attempt to turn off IE’s compatibility mode and allow for the use of HTML5, CRM accomplishes this by sending the X-UA-Compatible Response Header.  As of UR14 the header value (if this is set to true or checked) is “IE=7;IE=8;IE=9;IE=10”.  If False, the header is not set and the compatibility mode is left entirely up to the browser to determine.  Documentation
IncludeHTC Include HTC support in Microsoft Dynamics CRM forms If True (default) the HTC behavior files will be included in the Dynamics CRM UI to support the use of the CRM 4.0 JavaScript API’s – this is strictly in place for JavaScript backwards compatibility. If False will remove the HTC behaviors in CRM 2011. If you have updated your JavaScript to support CRM 2011 API’s this setting can be disabled. Documentation

How do I edit these settings?
You have two different ways to change the settings – both will change the same underlying setting but the second option has you to use an editor which allows for the altering of many other Dynamics CRM 2011 settings.

  1. To toggle the two specific settings listed above, open Dynamics CRM 2011 in the web browser and click Settings, then navigate toAdministration” in the left hand navigation.  Within the Administration navigation page, click “System Settings”.  Once in the System Settings modal dialog click the Customization Tab, you’ll find the two settings displayed as checkboxes under “HTML component support” a screenshot of this dialog can be found here
  2. To access all orgDbOrgSettings (Organization Settings) including the two above: download the Organization Settings Editor (see project page and blog article for more info).  This is a managed solution you import into CRM, then you open the solution in CRM, using the configuration page of the solution you are able to edit the above settings as well as dozens of others used to configure CRM (OnPrem or Online).  First, import the managed solution here.  Once you’ve imported the managed solution: open Dynamics CRM 2011 in the web browser, and click Settings, find and click Solutions in the left hand navigation, in the main solutions grid double click the “OrganizationSettingsEditor” managed solution to launch the configuration and editor page (you’ll want to maximize the editor page so you can see all the settings).  The above two settings, along with many others will be listed and can be edited within this editor page.

What setting values provide the most optimal experience and what are the defaults? To provide a standards based experience in IE and to allow for the user of cross browser mode you’ll should try to have the following settings:

Setting Suggested Value* Default Value
DisableIECompatMode Checked or True Unchecked or False (X-UA-Compatible header is not set)
IncludeHTC** Unchecked or False Checked or True (HTC’s are included)

*The values are suggested for the most optimal experience for users in IE – there are many cases where these settings may not be possible until customizations are updated to use CRM 2011 API’s. 
**If you wish to have cross browser support IncludeHTC must be set to False. However, this should not be used this as a way to restrict usage – if you wish to restrict usage of certain browsers read below.

The benefits: If you test and confirm customizations with these settings you can take advantage of the most recent IE versions and avoid having to be reliant on compatibility mode.  Additionally, Dynamics CRM 2011 can operate in cross browser mode and your customizations will meet standards making the use of your custom components in other browsers much easier to achieve. 

Can I control which browsers CRM allows? You can use the Browser Control solution documented on MSDN: here.  However, you’ll also want to work with your configuration management team – if using another browser isn’t supported in your business you want to make sure you inventory that and manage your software configuration appropriately.  Products like System Center Configuration Manager (SCCM) or for a cloud based approach appropriate for 1 user or thousands of users you can use Windows Intune.

More documentation: I want to call attention to the “Use JavaScript with Microsoft Dynamics CRM” MSDN article, this article does a great job of calling out many of the best practices when coding for Dynamics CRM.  It’s a great reference article and is a good reminder of the JavaScript best practices. The main issue we’ve observed with these settings is non-compliant or CRM 4.0 specific JavaScript.  The second largest issue I’ve observed is with custom pages in iFrames or embedded as WebResources – these pages should be tested to make sure they will render properly in a standards based browser mode and without HTC support. And a friendly reminder, please do not modify the DOM directly this has potential supportability consequences but this also can cause many unintended memory leaks if there are circular references caused by modifying the DOM.

More questions? Please leave a comment and we’ll try to respond as we have time.  If you’re a premier customer talk to your TAM about dispatching a Dynamics CRM PFE (remote or onsite), and if you already have a Dedicated Dynamics PFE make sure to reach out and we can work with you to put together a plan to get your customizations updated allowing you to take advantage of the most optimal settings.  If you don’t have Premier and are interested in working with us – please reach out and we can set you up to talk with someone about Premier.

By testing, preparing, and moving forward you will put yourself in a good position for future updates and upgrades to the CRM platform. Thanks for reading! 

Sean McNellis
Premier Field Engineer

Leave a Comment
  • Please add 1 and 5 and type the answer here:
  • Post