How To Make Dovetail Agent and Admin Compatible With Internet Explorer 9 and 10
Marek Pawelczyk
May 3, 2013

 

New versions of Dovetail Agent and Admin are in the works to allow compatibility with Internet Explorer versions 9 and 10.

 

Although there are going to be more reasons to upgrade to the latest version, some Dovetail Agent and Admin users may consider making the older versions they currently use IE9 or IE10 compatible while remaining existing compatibility with IE8 intact. Essentially, the same code should run on all three versions of Internet Explorer, no version detection should be required to modify functionality or appearance.

 

This can be achieved by a set of modifications to the source code and web site configuration.

 

This is a list of things that need to change:

 

  1. Enforce compatibility mode
  2. Remove DOCTYPE statements and certain meta tags
  3. Add meta tags where needed
  4. Change the handling of ‘required’ property
  5. Discontinue the use of ‘required’ and ‘errShow’ properties within styles
  6. Remove ‘<!–[if IE …]>’ as no longer supported
  7. Apply code patches as provided.

 

Details:

 

      1. Enforce compatibility mode

        The goal of IE8 / IE9 / IE10 compatibility is achieved by forcing the browser into IE5 Compatibility Mode by adding a custom header to web.config file. This file must be located in the folder pointed to by the “Physical Path” parameter specified for the Dovetail Agent / Admin application in IIS. Dovetail Agent / Admin ship without this file so create it with the following content:

         

      2. If web.config file already exists, just add the custom header.

         

        This allows for removal of  DOCTYPE statements and meta tags, and also prevents the user from changing Compatibility View for the applications.

      3. Remove DOCTYPE statements and certain meta tags

 

All DOCTYPE statements must be removed, except those in any plug-in code, like jquery or spellcheck. Also, all  meta tags with http-equiv=”X-UA-Compatible” property set to enforce certain level must be removed. However, some pages will have to have meta tags with http-equiv=”X-UA-Compatible” property added, as explained next.

 

      1. Add meta tags where needed

 

The following pages need to have meta tags added:

 

ce/ce_export_save.asp – Dovetail Agent only
login/login.asp – Dovetail Agent and Admin

 

The tag must be in this form:

 

<meta http-equiv=”X-UA-Compatible” content=”IE=8″ />

 

      1. Change the handling of ‘required’ property

Dovetail Agent and Admin use the ‘required’ property on HTML elements for highlighting and enforcing of values for data fields that must have some value before being saved. Before HTML 5, the ‘required’ property was a custom one, but now it’s part of HTML specification. Unfortunately, IE 10 has a bug which makes it ignore this property, rendering it useless. This impacts the detection method and forces the following coding rules:

 

– use only ‘required=true’ in HTML code, don’t use ‘required=false’
– don’t use just ‘required’ without ‘=true’ in HTML code
– if this property must change dynamically, it can be set by use of .setAttribute(“required”,”true”) or jQuery equivalent. Just remember to never set it to “false”, should you need to do it – remove the attribute instead.

 

      1. Discontinue the use of ‘required’ and ‘errShow’ properties within styles

 

Because of the abovementioned problem with ‘required’ property in IE10 we are also removing the ability to specify both ‘required’ and ‘errShow’ properties within style definition for an HTML element. They may be left there if present but they will no longer have any effect. To make them work, move them from the inside of the style string to the outside, so they are at the same level as the style property itself.

 

      1. Remove ‘<!–[if IE …]>’

 

This conditional statement is no longer supported in IE 10. Redesign all code dependent on it.

 

      1. Apply certain code patches

 

We are providing few code patches to be applied as specified:

 

IE Developer Tools have an option to change Browser Mode and Document Mode for a page. Should this happen, it may render a Dovetail Agent or Admin page out of alignment or not working. For this reason we added a mode detection mechanism which is going to ask the user to switch back to the proper mode. This mechanism needs to be added to include/inc_utility.asp module. See Code Patch #1.

 

When a result of a Query is to be exported to an html file it must contain proper meta tag. The ce/ce_export_save.asp needs to be modified. See Code Patch #2.

 

Because of the abovementioned problem with ‘required’ property in IE10, two functions: Validate() and ColorRequired() in code/client_utility.js module need to change. Replace these two functions with Code Patch #3.

 

Because the ‘<!–[if IE …]>’ conditional statement is no longer supported in IE 10, there are changes to console/about.asp module. Replace entire module with Code Patch #4.

 

Code Patches:

 

Patch #1 for Dovetail Agent:

 

In include/inc_utility.asp module, after these lines:

 

 

add these lines:

 

 

Patch #1 for Dovetail Admin:

 

In include/inc_utility.asp module, replace this line:

 

 

with these lines:

 

 

Patch #2 for Dovetail Agent only:

 

In ce/ce_export_save.asp module, after these lines:

 

 

add this line:

 

 

Patch #3 for Dovetail Agent:

 

In code/client_utility.js module, replace the Validate() and ColorRequired() functions:

 

 

Patch #3 for Dovetail Admin:

 

In code/client_utility.js module, replace the Validate() and ColorRequired() functions:

 

 

Patch #4 for Dovetail Agent only:

 

In console/about.asp module, replace these lines:

 

 

with this line:

 

 

then, after this line:

 

 

add these lines:

 

 

Important Note:

 

Dovetail Agent and Admin use several third-party plug-ins and utilities. Both applications have been tested for IE9 and IE10 compatibility with specific versions of these software libraries:
jQuery 1.6.1
TableSorter 2.0
Validation Plugin 1.9.0
maxlength 1.2
jqGrid 3.8.2
You are advised to avoid upgrading these libraries to any higher level. Should this be necessary for some other reason, an extensive testing of the application(s) is going to be required to verify IE version compatibility.

 

Summary:

 

Making older versions of Dovetail Agent and Admin is fairly easy task but requires diligence. The level of custom changes may add to the complexity, so thorough testing is advised. Dovetail Software Inc. would be happy to assist you in making this task successful.

 

Leave a Comment

International: +1 (512) 610-5400
Toll Free: 1 (800) 684-2055