Embedding IBM Cognos Analytics 11 in SharePoint

Last updated: 18-Jan-2017 for IBM Cognos Analytics 11.0.5

This Knowledge Base Article is part of our on-going capture of what is new and different about IBM Cognos Analytics 11 (ICA 11).

The “document mode” issue discussed in this blog is solved in QueryVision SharePoint Web Parts for Cognos V 2016.1 which was released on Aug 15, 2016 to add support for IBM Cognos Analytics 11 for SharePoint 2010, 2013 and 2016.

Summary

Embedding ICA 11 content in SharePoint via iframes (Page View, Content Editor, ScripteEditor web parts or direct coding) using IBM content URL requests (e.g. ICA 11.0.5+ Embed/Share links) will work in Google Chrome and Firefox, but will most likely fail in IE 11.

ICA 1105 embed error

Why? This worked with IBM Cognos 10.X!

In simple terms, ICA 11 has changed the web page header information they generate (vs. IBM Cognos 10.X) when running in IE 11 which is not compatible with SharePoint’s default configuration.

Details

ICA 11 pages will only work if the [parent] page containing the iframe is running in IE=Edge mode. By default, SharePoint requires running IE 11 in IE=8 (SharePoint 2010) or IE=10 (SharePoint 2013/2016).

How web pages control IE 11 rendering

In addition to configuring the User’s browser through IE 11 options or Group Policy, IE provides information web developers can embed in their web pages to control IE rendering

The browser standard for rendering is the !DOCTYPE statement found at the head of a web page. Starting with IE 8, Microsoft also provided a header property, X-UA-Compatible, which is an IE specific property which governs IE 11’s Document Mode.

How does SharePoint control rendering?

SharePoint 2010 sets X-UA-Compatible to IE=8 ensure that at least IE 8 was used to support the HTML/JavaScript used.

SharePoint 2013/2016 sets IE=10 as IE 11 would not support some features and pages.

SharePoint 2010/2013 and 2016 set X-UA-Compatible in the default MasterPage for the site.

How does IBM Cognos control rendering?

IBM Cognos 10.2.X pages set X-UA-Compatible to IE=IE5 (quirks) and ICA 11.0.5+ to IE=Edge (for IE 11 means IE 11 Edge).

So clearly SharePoint and IBM Cognos 10/11 are at odds with SharePoint’s settings – so why does IBM Cognos 10.2.X work and why does ICA 11 fail?

It’s because of the way that pages embedded in iframes are rendered.

What’s different about iframes?

Rendering behavior is different for a [parent] page and any iframes it contains.

X-UA-Compatible can only be set for the page. If X-UA-Compatible is set in the iframe it is ignored.

However, iframes will render differently based on the !DOCTYPE for the iframe page.

See the following: !DOCTYPE – how it impacts iframes

IBM Cognos 102.X pages render a !DOCTYPE that results in the iframe running in “Quirks Mode”, which is compatible with the X-UA-Compatible setting that 10.2.X requires.

IBM Cognos 11.X pages render a !DOCTYPE that results in the iframe running in “standards mode”. So for SharePoint 2013, this means that an ICA 11 page will be running in IE10 Standards mode, which is not compatible with IE11 Edge mode.

So the IBM Cognos 10.2.X pages work and ICA 11 pages won’t.

Solutions

There are a number of solutions, but they may result in either high effort or high maintenance or may not be acceptable to your SharePoint Administrator.

Note: QueryVision has found that you can generally override the default SharePoint X-UA-Compatible on pages containing IBM Cognos content, but this is not recommended for an entire SharePoint site as other pages or features on those pages may require the default setting.

  • Change the MasterPage X-UA-Compatible value – may cause issues with SharePoint Pages/Features. This may also be refused by the SharePoint Administator
  • Define Custom Master Pages with the desired X-UA-Compatible value and assign them to pages with IBM Cognos Content – this requires SharePoint Designer or direct SharePoint knowledgeable coding on the page – increasing the expertise and effort substantially. This may also be refused by your SP Admin.
  • Build a custom web part/wrapper to set the page X-UA-Compatible based on IBM Cognos content needs, which is what QueryVision did. This requires SharePoint Web Part expertise – but now you’re now well on your way to re-inventing QueryVision’s SharePoint Web Parts for IBM Cognos…