Quantcast
Channel: SCN : All Content - SAP Enterprise Portal
Viewing all articles
Browse latest Browse all 3876

IE and Portal – Standards/Quirks Mode Evolution (or Love-Hate Relationships)

$
0
0

The newer versions of IE pose many rendering issues/challenges which affect EP rendering. There are so many complications and solutions around this subject that it’s really hard to deal with.

 

So I decided to learn this subject and make some order in all this mess – so that I’ll know how to handle the variety of issues that come to our door here at support. In this blog I will share some of these issues with you.

I used kind of childish graphics – but I think that they demonstrate my points nicely.

So here’s an historical review of the evolution of the standards/quirks issues:

 

     1.  In the beginning –old IE versions


1.JPG

The older versions of IE (such as IE6, IE7) ran only in quirks mode. The portal rendered everything in quirks mode with no issues. Applications running in the portal were not strict about standard syntax and they lived happily within IE – which wasn’t strict about syntax either.

 

 

Then IE with standards mode arrived and evolved and the portal had to deal with rendering issues…

 

 

     2.  IE8 presents standards mode

 

2.JPG

Problem


IE8 and above presented standards mode rendering. For IE8 and IE9 the default mode is quirks, but if the administrator configured all the browsers in an organization to run in standards mode, the portal wouldn’t be rendered well.


 

 

Solution

 

Enforce IE to run the portal in quirks mode by changing the document mode.


How? We added an iView to all framework pages. The iView adds parameter to the header and tells IE to render in quirks mode.

This iView has to be added to every non-standard framework page for the portal to be rendered correctly.

 

More Details


  1. Note: 1458799 - Limited supportability for IE8 and above in the Portal
  2. Note: 1787647 - Browser Document Mode iView hides the portal content area - a fix to a regression from note 1458799
  3. Blog: Browser Document Mode – How to set the IE Compatibility View from server side.


 

And peace is restored…

3.JPG





     3. SAP presents UI5 applications

4.JPG


 

Problem

 

In recent years SAP introduced a new UI technology for SAP applications called SAP UI5. UI5 applications are written in standards mode and require standards mode rendering, while the portal runs only in quirks mode. Standards and quirks can’t run together on the same page.

 

 

 

Solution


Run standards-mode applications in a separate window which opens in standards mode.


How? Set the “Launch in New Window” property of the iView to “Display in separate headerless portal window (standards mode)”. This navigation mode, as its’ name implies, tells the iView to open in a new window and sets the HTML header to standards.


 

 

More Details


  1. Note: 1737445 - Internet Explorer standards mode rendering for EP
  2. SCN: Launching portal applications in Internet Explorer standards mode rendering– This blog presents a detailed “how-to” for configuring the new navigation mode.


 

5.JPG

And the smile is back...



     


     4. IE10 and IE11 presents QME mode – quirks mode is not really quirks anymore



6.JPG


 

Problem


From IE10 the values that were previously used for rendering pages in quirks mode (Emulate IE7/Emulate IE8) are now rendered in QME (Quirks Mode Emulation). In this QME mode there are slight differences in some values that the browser returns and the portal again is not rendered well.



 

Solution


User another value (IE=5) to enforce the “old” quirks mode.


How? Change the “Browser Mode” property value of the “Browser Document Mode” iView to IE=5



 

Mode Details

 

 

  1. Note: 1458799 - Limited supportability for IE8 and above in the Portal
  2. http://msdn.microsoft.com/en-us/library/ff955275(v=vs.85).aspx– The Microsoft documentation to QME mode

     

7.JPG

 

 

   


      5. IE10 & IE11 run in standards mode by default


8.JPG


 

Problem


When a new window is opened by an application in IE11, the new window is opened in standards mode by default (before IE11, the new window was opened according to the parent window’s mode). If the application that is opened in the new window doesn’t support standards mode – it will be rendered incorrectly.



 


 

Solution


Enforce IE11 to render the newly-opened page in the correct rendering mode.


How? Check the document mode of the parent window before opening the new window, and enforce the parent’s mode on the child.



 

More Details

 

 

Note: 1969004 - Open navigation mode 1 (new window) rendering mode according to the parent window rendering mode

 

This note has a few side effects which were fixed in the following notes:



And again:

9.JPG

 

     6.IE11 presents itself as Mozilla

 

10.JPG

 

Problem

 

According to Microsoft documentation, the IE11 user agent string was changed to be compatible with modern browsers. It returns the following string: “Mozilla/5.0(Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko.”

This string was not familiar to the portal, and the portal recognized IE11 as if it was Mozilla. Due to that, the X-UA-Compatible string which changes the document mode to quirks was not sent to the browser, causing rendering issues.


 

Solution


Familiarize the portal with the new user agent string as an IE11 user agent.


How? Add this new user agent string to the “user agents” dictionary of the portal.

 

More details


Note: 1972506 - Cannot access portal with Internet Explorer 11


 

And we're smiling again...

11.JPG

 

 

 

 

 

     7. Standards mode Web Dynpro applications



12.JPG

 

Problem

 

Some WD ABAP/JAVA applications started running standards by default (for example – HCM). Because the Portal enforces quirks mode, these applications have rendering issues when they run in the portal. The result is bad rendering of the applications.



 

Solution

 

Enforce the application to run in quirks mode.

 

 

How? Add a parameter (SAP IE parameter) to the application URL which tells the application in which mode it should run. For quirks it would be ie=EmulateIE8” and for standards ie=Edge”.


This works for all ABAP applications except for SAP Transaction iViews (SAP GUI for HTML) which receive the application parameters in another format, so the sap-ie parameter is not aggregated to the URL as expected.


In newer portal SPs all of this happens automatically (see note 1814711) and the portal knows what to send to every destination.


But! Previous to the versions mentioned in the note, you had to set the SAP IE parameter manually for all applications, and for SAP Transaction iViews you had to do a special configuration according to note 1970427.




 

More Details


Side effect note to 1753544:




And finally:


13.JPG


These are all of the issues that I’m aware of at the moment. I hope that this blog made some sense in all the confusion around the portal and IE.


I want to end this blog with some good news.

You were probably thinking “why don’t they just adjust the main framework pages in the portal to be compliant with standards mode? This would solve many of the issues mentioned here!”


Well… we are! In the next SPs of 7.31 (SP14) and 7.40 (SP9) the Ajax Framework Page will support standards mode!

 

   








Viewing all articles
Browse latest Browse all 3876

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>