Learnings und Tipps aus dem Upgrade von Sitecore 7.5 auf Sitecore 8.0

Sitecore Update-Installation-Wizard

Unser erstes Projekt-Upgrade von Sitecore 7.5 auf Sitecore 8.0 ist abgeschlossen und wir wollen es nicht versäumen, unsere Erfahrungen aus diesem Prozess mit Ihnen zu teilen. Als Ausgangsbasis für den Upgrade Prozess dient wie bei allen Sitecore Upgrades der „Sitecore Upgrade Guide“.

Dieser Guide bietet eine gut nachzuvollziehende Schritt-für-Schritt-Anleitung

Im wesentlichen besteht dieser Prozess aus den folgenden Schritten:

  1. Backup von Website und Datenbanken
  2. Ausführung von SQL Server Update Skripten auf den Sitecore Datenbanken
  3. Installation des Upgrade Packages über den “Update Installation Wizard”
  4. Aktualisierung der Konfigurationsdateien
  5. Neuaufbau der Suchindizes und der Link Datenbank
  6. Ggf. Aktualisierung weiterer Module (z.B. “Web Forms For Marketers”-Modul)
Sitecore Update-Installation-Wizard
Sitecore Update-Installation-Wizard

Nach dem Upgrade-Prozess sahen wir uns mit einigen Problemen konfrontiert. Dazu gehörten sowohl Issues im Sitecore Client als auch die Aggregation der Analytics-Daten in die Reporting Datenbank.

Probleme und Lösungen beim Laden des Sitecore Clients

1. Fehlermeldung „Could not load type ‚Sitecore.Shell.Applications.WebEdit.Commands.WebEditCommand‘ from assembly ‚Sitecore.Client, Version=7.0.0.0, Culture=neutral, PublicKeyToken=null‘.“

Hintergrund ist die Einführung der neuen “Sitecore.ExperienceEditor”-Assembly. Wir verwenden eine Reihe von Custom Buttons im Page Editor. Diese hingen vorher vom “Sitecore.Shell.Applications.WebEdit.Commands”-Namespace ab. Dessen Funktionen sind mit Sitecore 8 nun in die neue Assembly “Sitecore.ExperienceEditor.dll” ausgelagert worden.Die Lösung bestand darin, in der Visual Studio Solution einen Verweis zu dieser neuen Assembly hinzuzufügen und das Projekt neu zu bauen.

2. Fehlermeldung „Could not resolve type name: Sitecore.ContentSearch.Events.PublishingEventHandler, Sitecore.ContentSearch (method: Sitecore.Configuration.Factory.CreateType(XmlNode configNode, String[] parameters, Boolean assert)).“

Durch den Austausch der Sitecore.ContentSearch gegen die Default Sitecore 8 „Sitecore.ContentSearch.config“ bzw. „Sitecore.ContentSearch.dll“ konnte dieses Problem schnell ausgeräumt werden.

3. jQuery Konflikt mit Prototype im Sitecore 8 Experience Editor

JavaScript-Konflikte traten durch den parallelen Einsatz der JS-Frameworks Prototype und jQuery zu Tage. Mittels Wrapper-Workaround konnte dieses Problem umgangen werden.

Probleme und Lösungen bei der Aggregation der Analytics-Daten in die Reporting-Datenbank

1. Leere „Segments“- und „TreeDefinition“-Tabellen in der Reporting-Datenbank.

Als Workaround wurden die betreffenden Tabellen mit einer “sauberen” Default Sitecore 8.0 Reporting Datenbank manuell abgeglichen und ergänzt.

2. Fehlermeldung „Exception: System.IO.FileFormatException
An error occurred while deserializing the Pages property of class Sitecore.Analytics.Model.VisitData: An error occurred while deserializing the PageEvents property of class Sitecore.Analytics.Model.PageData: An error occurred while deserializing the CustomValues property of class Sitecore.Analytics.Model.Entity: Die“ Zeichenfolge kann keine Länge von 0 (nu ll) haben.““

Diese Exceptions sind der Tatsache geschuldet, dass das WFFM 2.5 Modul in Sitecore 7.5  Ereignisdaten in der Analytics MongoDB in anderer Weise abbildet und speichert als mit WFFM 8.0. Zudem werden unterschiedliche Klassen zur Deserialisierung während der Aggregation verwendet.Eine Lösung konnte dank des Sitecore-Supports umgesetzt werden: Dieser lieferte entsprechende Patches zur Aggregation historischer WFFM-Analytics-Daten.

Weitere Tipps für eine reibungslose Aktualisierung von Sitecore 7.5 auf 8.0

Folgende Punkte halten wir generell aus unseren Erfahrungen mit dem Upgrade auf Sitecore 8.0 für erwähnenswert:

1. Besondere Aufmerksamkeit sollte auf die Aggregation der Analytics-Daten und zusätzlicher Module wie WFFM oder EXM gelegt werden. Falls diese Anwendungen gar nicht erst eingesetzt werden sollen, sollte das Upgrade kaum Probleme bereiten.

2. Custom Buttons im Experience Editor können übergangsweise zunächst auf die alte SheerUI umgestellt und dann ggf. in das neue SPEAK-Framework umprogrammiert werden. Hilfreiche Hinweise zu diesem Thema liefert der Artikel “A New Look to Buttons in Experience Editor”.

3. Eine Übersicht über bereits bekannte Bugs in Sitecore 8 liefert die Sitecore Knowledge Base-Seite.

Welche Erfahrungen haben Sie mit einem Upgrade auf Sitecore 8.0 gemacht und welche Tipps können Sie anderen Sitecore-Entwicklern geben?

Wir freuen uns auf Ihre Kommentare.