Best Practice: Anwendungsmigration für IE8/9/10/11/…

 Update: da mittlerweile eine ganze Menge Wasser den Rhein runter geflossen ist, aber der Inhalt des Posts nach wie vor Relavanz besitzt, habe ich ihn leicht angepasst und nach oben geschoben.

Grade bei dem Umstieg von Internet Explorer 6/7 zu IE8/9/10/11 werden viele Line of Business (LOB) Anwendung angepasst und auf die neuen Rendering Engines hin optimiert.

Dies stellt mitunter einen nicht unerheblichen Aufwand dar, der natürlich in der Zukunft möglichst nicht erneut gestemmt werden soll. Daher empfehlen wir bei einer entsprechenden Anpassung das folgende Vorgehen:

Wenn eine Anwendung z.B. für IE8 angefasst wird und auch gegen IE8 getestet und abgenommen worden ist, dann sollte dies auch in der Anwendung „vermerkt“ werden, siehe hierzu unseren Blog Eintrag zum Kompatibilitätsmodus:

https://blogs.technet.com/b/iede/archive/2010/06/22/ie8-compatibility-view-wie-kann-manuell-serverbasiert-oder-per-policy-das-verhalten-beeinflusst-werden.aspx
Es sollte also nach Möglichkeit folgende Zeile in den HTML Header eingebunden werden:

  • < meta http-equiv="X-UA-Compatible" content="IE=8"/>

Dies hat dann zur Folge, dass IE8/9/10/11/… die gleiche (bzw. sehr, sehr ähnliche) Rendering Engine verwenden und damit der erwartete Aufwand bei der Migration zu einer höheren IE Version lediglich das Testing darstellt, aber keine zusätzlichen Entwickler Tätigkeiten zu erwarten sind.

Da IE9/10/11/… hier natürlich nicht 100%, sondern nur 9x%-99,9% kompatibel sein können, muss natürlich getestet und verifiziert werden, dass die neue Version sich nicht durch irgend einen Ausnahmefall doch anders verhält. Falls dies nicht der Fall wäre, dann müsste man sich ggf. an den Premier Support wenden.

 

Wichtig: bei der Anpassung der Anwendungen sollte unbedingt (!!) darauf geachtet werden, dass die Anwendung gegen den W3C Validator validiert werden und dort eine fehlerfreie Ausgabe angestrebt wird. Wir als Microsoft haben uns dem Standard verschrieben (bevor jemand schreit wegen IE6: zum Erscheinungstermin des IE6 war dieser der Standard konformste Browser damals auf dem Markt! ;) ) und wenn eine Anwendung ohne Fehler validiert wird, dann wird es (aller Voraussicht nach) keinerlei Probleme bei der Migration von IEn auf IEn+1 geben.
Bei dem Zukauf von Anwendungen sollte ebenfalls genau darauf geachtet werden, dass Anwendungen gegen den Validator validierbar sind. Dies wird die Zukunft massiv vereinfachen und gehört damit in ein entsprechendes Pflichtenheft.

 

Durch dieses Vorgehen sollte es auch ohne größere Aufwände möglich sein aktuelle IE Versionen parallel zu betreiben, z.B. auf Windows XP/2003 IE8 und auf Windows 7/2008R2/8.1/2012(R2) IE11.

Da die Konfiguration (auch per GPOs) abwärts und aufwärts kompatibel ist, muss auch kein zusätzlicher Aufwand darein investiert werden - lediglich die neuen Settings können/müssen überprüft und ggf. konfiguriert werden, siehe hierzu:

Blog Serie: Internet Zonen und Internet Explorer Erweiterte Einstellungen (Advanced Settings) [Updated IE11]

  1. ZS: 51. ActiveX-Filterung zulassen
  2. ZS: 52. Ziehen von Inhalten aus unterschiedlichen Domänen zwischen Fenstern
  3. ZS: 53. Ziehen von Inhalten aus unterschiedlichen Domänen in einem Fenster aktivieren
  4. ZS: 54. Legacyfilter rendern
  5. ZS: 55. Antischadsoftware bei ActiveX-Steuerelementen ohne Eingabeaufforderung zulassen
  6. AS: 67. Softwarerendering anstelle von GPU-Rendering verwenden
  7. AS: 68. Systemsounds wiedergeben
  8. AS: 69. Durch Eingabe eines einzelnen Worts in die Adressleiste zu einer Intranetseite wechseln
  9. AS: 70. Alternative Codecs in HTML5-Medienelementen aktivieren
  10. AS: 71. Ungesicherte Bilder mit anderem gemischten Inhalt blockieren
  11. AS: 72. Vorblättern aktivieren
  12. AS: 73. Header "Do Not Track“ (nicht nachverfolgen) immer senden / An mit Internet Explorer besuchte Websites "Do Not Track"-Requests senden
  13. AS: 74. Erweiterten geschützten Modus aktivieren
  14. AS: 75. Sites und Inhalt im Hintergrund laden, um die Leistung zu optimieren.
  15. AS: 76. Für Intranet-URLs UTF-8-Abfragezeichenfolgen senden
  16. AS: 77. 64-Bit-Prozesse für erweiterten geschützten Modus aktivieren
  17. AS: 78. SPDY/3 verwenden
  18. AS: 79. Strikte P3P-Überprüfung aktivieren

Durch dieses Vorgehen stellt man die Zukunftssicherheit der (Migrations-)Investitionen sicher und kann relativ gefahrlos die nächste Internet Explorer Version in Angriff nehmen.

Vgl. hierzu auch Defining Document Compatibility und vor allem den Abschnitt “When to Use Document Compatibility Modes

 

Einen Einwand/Nachteil hat dieses Vorgehen allerdings auch – wobei strenggenommen eher einen “wichtig zu wissen” Aspekt:

Wenn über das Meta-Flag z.B. der IE8 Modus vorgeschrieben wird, dann funktionieren natürlich auch nur die Features und die Standards, die in IE8 integriert sind. D.b., dass z.B. HTML5 oder die neuen Features wie das Pinning/Anheften von Seiten in diesem Modus nicht unterstützt werden können. Allerdings würde das dann ja auch bedeuten, dass die Seite für IE9 und nicht für IE8 gebaut worden ist und somit auch IE=8 nicht die richtige Einstellung darstellen würde. Von daher eher ein “good-to-know” Einwand.

Bei Fragen/Anmerkungen wie immer bitte die Kommentarfunktion nutzen!

-Stephanus