Alle Jahre wieder ist es Zeit im Typo3 Sektor von einer Long-Term-Support (LTS) Version auf die nächste zu wechseln. Dabei ist der Umstieg von Typo3 4.5 auf eine neue LTS Version von einigen Faktoren abhängig.

Im Rahmen der Weiterentwicklung des Typo3 CMS Projektes wurden von Seiten der Entwickler zwei unterschiedliche Ansätze einer Neuausrichtung eingeschlagen. Typo3 NEOS unterscheidet sich in seiner Kernphilosophie stark vom alten Typo3 CMS und stellt eine komplette Neuentwicklung dar. Typo3 CMS 6.2 ist hingegen eine Weiterführung des alten CMS Kerns mit dem ein weniger radikaler Umbau einhergeht. Ein Upgrade von Typo3 4.5 auf Typo3 NEOS ist praktisch eine komplette Neuentwicklung sollte mit anderen grundlegenden Veränderungen einer Webseite angegangen werden. Das Update von Typo3 CMS 4.5 auf Typo3 CMS 6.2 hingegen ist deutlich weniger aufwändig, beinhaltet aber einige Stolpersteine, welche Aufwände in unerwartete Höhen treiben kann. Einer dieser Punkte und der wohl wichtigste ist die Abschaffung des alten Extension-Standards pi_base. Typo3 6.2 setzt dabei nur noch auf das MVC Framework Extbase und unterstützt alte pi_base Extensions nur noch stark eingeschränkt. Ein weiterer wichtiger Punkt ist das neue File Abstraction Layer welches die populäre Extension Digital Asset Management überflüssig macht. Dies führt teilweise zu nicht unerheblichen Zusatzaufwänden bei Alt-Systemen die stark auf die DAM Extension zurückgegriffen haben und welche nicht mehr zu 6.2 portiert wurden.

Wir finden individuelle Lösungen
Planungs- und Entscheidungsprozesse in Unternehmen basieren auf zahlreichen Daten und deren Gewichtung. Wir finden individuelle Lösungen, die Ihren speziellen Anforderungen entsprechen und binden bestehende Systeme optimal ein.

Damit die Umstellung auf Typo3 6.2 nicht in einem Fiasko endet, empfiehlt es sich sein System professionell analysieren zu lassen. Dabei werden benutzte Extensions auf ihre Zukunftsfähigkeit hin untersucht bzw. nach Alternativen welche Anwendungsfälle nachbilden. Weiterhin sollten auch mögliche Sicherheitsrisiken mit beleuchtet werden. Das ist zwar kein eigentliches Ziel eines Updates auf Typo3 6.2, aber ein Update auf eine neue LTS Version bringt reichlich wenig, wenn sicherheitskritische Extensions die unter 6.2 noch laufen im System belassen werden und Angreifern damit Tür und Tor öffnen. Nach einer solchen Analyse sollten Aufwände für ein Update kommunizierbar sein und hinterfragt werden ob ein Update oder ein kompletter Relaunch durchgeführt werden sollte. Gerade letzteres bietet sich an, wenn ein großes komplexes System was jahrelang auf Typo3 4.5 gelaufen und weiterentwickelt wurde, auf Typo3 6.2 umgestellt werden soll. Neben dem reinen Update-Aufwand ist ein nicht unerheblicher Testaufwand für alle Funktionalitäten einzuplanen, damit später auch alles reibungslos funktioniert.

Im Folgenden möchte ich kurz das Vorgehen eines Typo3-Updates beschreiben um einen groben Überblick über die Arbeitsschritte zu geben.

1.     Erstellen eines Entwicklungs- und Testsystems

Das ist ein relativ einfacher aber sehr wichtiger Schritt. Das mag für viele völlig selbstverständlich klingen, aber in keinem Fall sollte ein Update auf einem Produktiv-System stattfinden! Beim Erstellen des  Entwicklungssystems sollten Datenbank und Dateistand des Produktiv-Systems gespiegelt werden und ein Entwicklungszweig im Versionsverwaltungs-Tool der Wahl erzeugt werden in dem die Update-Entwicklungen abgelegt werden.

2.     Installieren der Smooth Migration Extension

Das Smooth Migration Projekt von Typo3 CMS soll den Umstieg von Typo3 4.5 zu Typo3 6.2 möglichst einfach gestalten. Dabei werden dem Entwickler verschiedene Helfer an die Seite gestellt, welche die aktuelle Typo3-Installation analysieren und Problemherde aufdecken.

smoothmigration

Dazu gehören z.B. nicht mehr kompatible Extensions, die Verwendung von als „deprecated“ eingestuften Klassen und Methoden. Die Smooth Migration Extension zeigt diese Problemherde in verschiedenen Berichten in einem gut zu bedienenden Typo3 – Backend Modul an und man kann seinen Fortschritt im Updateprozess gut anhand dieser Berichte verfolgen. In diesem Zuge sollten vor allem inkompatible oder überholte Extensions deinstalliert werden. Vorsicht ist allerdings dabei geboten, Updates für Extensions einzuspielen welche nicht mehr mit Typo3 4.5 kompatibel sind. Dies führt unweigerlich zu Fehlern im Typo3 Backend und sollte erst nach dem Umstieg zu Typo3 6.2 durchgeführt werden. Als nächstes sollte man die von der Smooth Migration Extension bereitgestellten Cronjobs zur einfachen Migration auszuführen:

php typo3/cli_dispatch.phpsh extbase smoothmigration:migration typo3-core-code-callToDeprecatedStaticMethods
php typo3/cli_dispatch.phpsh extbase smoothmigration:migration typo3-core-code-requireOnceInExtensions
php typo3/cli_dispatch.phpsh extbase smoothmigration:migration typo3-core-code-namespace
php typo3/cli_dispatch.phpsh extbase smoothmigration:migration typo3-database-database-utf8

Sobald diese problemlos durchgelaufen sind, sind bereits die wichtigsten Schritte zu einem Erfolgreichen Update erledigt. Nun sollte man sich an die offenen Punkte im Migration-Bericht setzen und diese sukzessive erledigen.

report_sm

Generell empfiehlt sich, dass nicht jeder Punkt in den Berichten der Smooth Migrations Extension abgearbeitet werden muss. Zum Teil gibt es Statements in Extensions welche für 4.5 und 6.2 konzipiert wurden, welche keine Auswirkungen auf ein Typo3 6.2 System haben und deshalb auch ignoriert werden können.

Logistische Assistenz- und Optimierungssystemen
Mit unseren individuellen logistischen Assistenz- und Optimierungssystemen lassen sich Lieferketten auf Basis geeigneter Visualisierungsansätze transparent darstellen und somit Engpässe frühzeitig erkennen.

3.     Austauschen des Typo3-Kerns

Nachdem die Vorarbeiten abgeschlossen sind, kommen wir zum eigenen Kernstück des Updates: Das Austauschen des Typo3-Kerns. Einer der offensichtlichsten Unterschiede von Typo3 4.5 zu Typo3 6.2 ist das Wegfallen des t3lib Ordners. Dieser ist nun in den typo3 Ordner gewandert und kann daher entfernt werden. Damit bleiben nur noch der Austausch des typo3/ Ordners und der index.php. Hierbei empfiehlt sich auf einem Linux-System den Typo3-Kern über Symlinks bereitzustellen, da so der Austausch mit ein paar Konsolen-Befehlen erfolgt. Ansonsten müssen die Typo3 Ordner manuell per FTP / SSH ausgetauscht werden. Ist das erledigt, sollte man im typo3conf/ Order eine ENABLE_INSTALL_TOOL Datei anlegen, damit nach dem Aufruf von mysite.com/typo3 das Install-Tool erscheint.

Ist man im Install-Tool angekommen, sollte man den Upgrade Wizard durchlaufen. Dieser führt einige Anpassungen an der Datenbank durch und ist in mehrere Schritte aufgeteilt. Sobald alle Schritte erfolgreich durchlaufen sind, ist es hilfreich die verschiedenen Installations-Tests zu durchlaufen um nicht später auf Ungereimtheiten beim Bild-Rendering oder dergleichen zu stoßen. Ist das alles erledigt kann man sich bereits intensiv mit dem neuen Typo3 6.2 Backend befassen.

upgrade_wizard

4.     Das Backend

Wenn die Schritte 1 – 3 ohne große Komplikationen durchlaufen sind, sollte es ohne Probleme möglich sein sich in das Typo3 6.2 Backend einzuloggen. Ist das geschafft, ist es nun an der Zeit sich ums Feintuning zu kümmern und die Extensions die noch gebraucht werden zu installieren und zu konfigurieren. Dies kann gerade bei großen Systemen eine Sisyphusarbeit werden, ist aber nötig um möglichst wenige Funktionale wie Logische Fehler nach dem Update zu erhalten. Für alle populären Extensions gibt es entweder Versionen für Typo3 6.2 oder Alternativen und damit verbundene Migrations-Anleitungen. Zu erwähnen ist hier vor allem die nicht mehr weitergeführte Extension „Multicolumn“ welche in Typo3 6.2 durch „Gridelements“ abgelöst wurde (Migration von Multicolumn zu Gridelements: http://typo3.org/extensions/repository/view/brainmulticolumntogridelements). Wenn all diese Arbeiten abgeschlossen sind, dürfte ein nutzbares System vorliegen. Die große Aufgabe ist nun kleinere Probleme im Frontend zu finden und zu beheben, bzw. das System auf Herz und Nieren zu testen und zwar im Frontend wie auch im Backend. In letzterem gilt es vor allem zu prüfen ob Redakteure noch das pflegen können, was sie pflegen sollen und ob keine Exceptions auf Backend-Seiten geworfen werden. Nach Abschluss dieser Arbeiten, hat man ein aktuelles System und ist für die nächsten Jahre wieder auf der sicheren Seite.

Diskutieren Sie mit!

Es steht Ihnen frei einen Kommentar zu hinterlassen. Sie finden Informationen zur Verwendung Ihrer Daten in unserer Datenschutzerklärung.

Alle mit einem markierten Felder sind Pflichtfelder und müssen ausgefüllt werden