Internet Explorer, X-UA-compatible, SharePoint 2010, 2013, 2016 and IBM Cognos – What You need to Know

Embedding Cognos content in SharePoint 2010, 2013 or 2016 is simple, right?

Just embed a URL link to the Cognos report in a SharePoint Page Viewer Web Part. What could be easier?

Putting aside the complexities of authentication and security, navigation, rendering of the many different Cognos content types, etc, etc. that QueryVision’s SharePoint Web Parts for Cognos provides, there are major inter-dependency and compatibility issues between Internet Explorer versions, Cognos Versions and SharePoint 2013. We also solve those issues – so you don’t have to.

Before reading further, you may want to read: Understanding Internet Explorer “Compatibility” modes

What you need to know:

  • SharePoint 2010 – the default Master Page X-UA-Compatible version is IE=IE8, which means any embedded content (e.g. Page Viewer) web part will be rendered in IE-8 mode – which is a potential issue of IBM Cognos Analytics 11.X as it will try to set IE=Edge, which it can’t if it’s embedded in an iframe (See – Embedding IBM Cognos Analytics in SharePoint )
  • SharePoint 2013 has substantial restrictions on IE versions – unlike SharePoint 2010 which has no IE version restrictions, SharePoint 2013:
    • Requires a minimum of IE 8
      Attempting to run SharePoint 2013 in IE 7 or in any version of IE using IE7 or IE5 Quirks Document Mode will cause any SharePoint 2013 page to fail.
    • The as-shipped SP 2013 default Master Page sets X-UA-compatible to IE=IE10 primarily to address IE 11 compatibility issues
      It is HIGH recommended to use this setting for all SP 2013 Master pages. NOT adding X-UA-compatible to your own SP 2013 Master pages means that IE 11 will operate in IE=Edge Document Mode and will also block SharePoint web parts from changing X-UA-compatible (they can change X-UA-compatible, but can’t add it to the HTTP header if it does not already exist).
  • IBM Cognos IE requirements are a moving target – Cognos IE configuration settings have evolved from 10.1.0 through 10.2.2 and continue to evolve with Fix Packs for 10.2.1 and 10.2.2 and in IBM Cognos Analytics 11.x
    • Most of the Cognos web components and tools, like Cognos Connection, the Report Viewer (used to render most reports) and Studios require IE 5 Quirks Document mode with some requiring IE 7
    • Cognos requires use of IE “Compatibility View” for IE 10 and 11 for 10.1 through 10.2.2, but increasingly Cognos is using X-UA-compatible (IE 5 Quirks or IE 7) to avoid needing Compatibility View. Recent fix packs for 10.2.1 and 10.2.2 are using this technique extensively.
    • IBM Cognos Analytics 11.X explicitly sets X-UA-Compatible to IE=EDGE.
  • Embedding IBM Cognos in SharePoint 2013 – at first glance this appears incompatible…

    • IBM Cognos desired document modes are incompatible with SharePoint 2013’s requirement for IE=8. IBM Cognos components running in IE “Compatibility View” will result in a Document Mode of IE 5 Quirks or IE 7, yet SP 2013 can’t run will less than IE=IE8, so armed with the above information, one would conclude it just won’t work.
    • IBM Cognos web components work in more than just IE 5 Quirks/IE 7 Document Mode. This is the secret sauce.If you draw up a matrix of IE versions, their document modes, IBM Cognos releases and their IBM Cognos web components (this is a BIG matrix) and test all combinations, it turns out that for all the critical IBM Cognos web components there is an X-UA-compatible setting which is IE=IE8 or higher where the Cognos web component works and renders correctly. You can test this independently of SharePoint 2013.
  • It’s critical that you don’t use the Web Server “hacks” to set X-UA-compatible for Cognos sites, particularly setting an HTTP Response Header as it may be unreachable for either IBM Cognos or your web application or master pages to change the value. So techniques such as configuring Apache or IIS to insert an X-UA-compatible value in an HTTP Response Header should be avoided.
  • Embedding IBM Cognos URLs via a SharePoint 2013 Page Viewer Web Part will hit the SharePoint URL length limitations of 255 characters. Your typical IBM Cognos URL to run or view a report is 400++ characters. SharePoint (all versions) – for reasons unknown – limits URLs in their SharePoint Page Viewer web part and other components to only 255 chars. While there are techniques to shorten Cognos URLs, including “bit.ly” components that can be embedded in SharePoint, this no longer such a simple solution.
  • Should I switch our organization to Firefox or Chrome? Firefox and Chrome don’t share the same complications as IE, in many cases “just working” with Cognos and SharePoint 2013 without the convolutions of X-UA-compatible, Compatibility View, etc. So why not convince the organization to move to Firefox or Chrome?
    • While Firefox is a next best solution for IBM Cognos, changing browsers for IBM Cognos alone isn’t a sufficient justification to switch from IE for most medium to large organizations. Too many internal and 3rd party applications are dependent on IE.
    • IBM Cognos only supports Chrome for Run/View output support. It does not support administration, authoring or ad-hoc (e.g. Business Insight Advanced/Cognos Workspace Advanced)
    • SharePoint 2013 support is available for both Chrome and Firefox, but they are “second tier” support

Warning! Warning!

As a final note, regardless of what route you choose to embed IBM Cognos Content in SharePoint 2013 or even just testing direct Cognos Connection access , you need to consider the your test environment.

We recently witnessed very odd behavior of Document Mode in IE 10 on a customer’s web developer’s machine and development web server environment which strongly suggested some configuration setting or unknown agent was setting the X-UA-Compatible/Document Mode to values inconsistent with actual end-user’s IE browser behavior in a Production environment.

Suggested strategy:

  • DO NOT do final testing for compatibility mode using one version of IE (e.g. IE 10/11) and using Browser Mode/ User agent string and/or Document Mode to simulate other IE versions. This is only 95% accurate. It is recommended to use actual versions of IE (which you can get fro www.modern.ie) to test.
  • Another reality is that a web page is served up by a long chain of technology, which can be influenced by web servers, application servers, Windows Group Policy, web page HTML, etc. etc. So it is highly recommended to do at least final compatibility testing in a “test” environment where the exact configuration of the entire chain is known. That most especially means not using your development machine/VM and its copy of IE.