TYPO3-Migration: Mit diesen Umzugshelfern klappt der Umstieg auf Version 6.2
Extension 1: smoothmigration
In der Zwischenzeit lohnt ein Blick in die Haupt-Extension des Projekts, „smoothmigration“ (ehemals „upgradereport“). Sie vermittelt einen guten Überblick darüber, was im Code alles vor dem Upgrade angepasst werden muss. Und das ist eine ganze Menge – zahlreiche veraltete TYPO3- und PHP-Funktionen, die Entfernung der veralteten t3lib-Dateien und damit einhergehende Probleme mit klassischen Require-Anweisungen, nicht mehr verwendete Konstanten und so weiter. Die Extension durchsucht die eigene Installation, zählt auf, welche Änderungen nötig sind, und führt auf Wunsch einige Anpassungen selbst durch. Darüber hinaus erkennt sie verwendete DAM-Klassen (dazu später mehr) und, ob das System bereit für UTF-8 ist. Ob die Änderungen automatisch vorgenommen werden können, zeigt die Extension in einem Backend-Modul, und bietet entsprechende Cron Jobs an. Diese benötigen einen eigenen Backend-User („_cli_smoothmigration“) und lassen sich anschließend über die Konsole und das Skript „cli_dispatch.phpsh“ mit dem Parameter „smoothmigration“ aufrufen. Mit dem Paramter „migrate“ starten die Cronjobs schließlich ihre Arbeit. Aktuell ersetzen sie wahlweise veraltete Aufrufe statischer Methoden (über den zweiten Parameter „replaceDeprecatedStaticMethods“) oder aber löschen Require- und Include-Anweisungen von t3lib-Dateien (Parameter „requireOnce“), da diese mit dem Einsatz von Namespaces nicht nur überflüssig, sondern zur Fehlerquelle werden.
Extension 2: filemetadata
Weniger zur Fehlervermeidung denn zur Arbeitsersparnis gedacht ist die System Extension „filemetadata“. Sie stellt jene DAM-Felder für Meta-Daten von Dateien wieder zur Verfügung, die der neue File Abstraction Layer (FAL) nicht implementiert. Dazu zählen etwa Foto-Koordinaten oder Informationen zur verwendeten Software beim Erstellen von Dateien. Wichtig ist dabei lediglich, die Extension zu installieren, bevor die DAM-Dateien migriert werden. Denn Felder, die beim Umzug fehlen, werden nicht befüllt. Die entsprechenden Informationen sind dann verloren bzw. müssen neu migriert werden.
Extension 3: dam_falmigration
Die dritte der empfohlenen Extensions, „dam_falmigration“, übernimmt DAM-Relationen und -Informationen in den neuen FAL. Dazu zählen die bereits erwähnten Meta-Daten sowie mm-Relationen und Daten in sämtlichen tx_dam*-Tabellen. Dateien aus dem dam_frontend werden standardmäßig in das Uploads-Inhaltselement übernommen. Die Extension zeigt direkt im Backend-Modul an, welche Schritte zum Umzug nötig sind. Im Gegensatz zur „smoothmigration“-Extension sind die Cron Jobs hier jedoch im Scheduler verfügbar und können dort nacheinander gestartet werden. Aktuell verfügt die Erweiterung über drei Cronjobs, von denen manche manuelle Hilfe in Form von geänderten Einstellungen im Install Tool benötigen. Entsprechende Hinweise spuckt dam_falmigration ebenfalls im Backend-Modul aus. Für weitere Anwendungsfälle lohnt zudem ein Blick in einen Fork der Extension. Dort gibt es bereits weitere Jobs, welche etwa eine Migration der Kategorien ermöglichen. In Summe macht ein DAM-Umzug die Migration um einiges aufwändiger. Die „smoothmigration“-Extension gibt zu den nötigen Schritten zwar bereitwillig Auskunft, ist jedoch nicht imstande, den Umzug hier voranzutreiben. Und selbst mit weiteren Erweiterungen bleiben etwa Anpassungen an jenen Stellen im Template, wo DAM verwendet worden ist.
Kompatibilität erzwingen
Um im Dickicht der Migration eine Art Rückfallschutz zu haben, war einst eine „Compatibility Extension“ geplant. Diese sollte altbekannte Methoden und Konstanten wieder zur Verfügung stellen und auf die jeweiligen Äquivalente verknüpfen. Da die Extension „smoothmigration“ allerdings bereits große Teile der verwendeten statischen Methoden finden und ersetzen kann, ist diese geplante Extension aktuell auf Eis gelegt. Zudem verliert sie dank PHP-Aliases und Autoloader, die die Verwendung alter Klassen (z.B. t3lib_*) weiterhin ermöglichen, etwas an Relevanz. Ob sie aufgrund künftig auftretender Probleme dennoch nötig wird, steht derzeit noch nicht fest.
Install Tool
Nach der Überprüfung und Migration der Extensions kommt die erste spürbare Neuheit von Version 6.2 zum Einsatz. Denn das Install Tool ist nicht nur optisch neu, sondern kann nun mit fehlerhaften und veralteten Extensions umgehen. So lassen sich Erweiterungen direkt auf Fehler prüfen und gegebenenfalls deinstallieren. Für erste Tests eignen sich zudem „Configuration Presets“ für „Development“, eine Bündelung gängiger Einstellungen, die die Konfiguration erleichtern. Für das Upgrade interessant ist darüber hinaus der Upgrade Wizard, welcher wie gewohnt die nötigen Schritte zur Migration von Daten in passender Reihenfolge ausführt. Dazu gehören das Aktualisieren der Workspaces, der Umzug verknüpfter Dateien (sofern kein DAM eingesetzt worden ist) sowie das Installieren der wichtigsten System-Erweiterungen. Zudem sucht das Install Tool nach falsch gesetzten Dateisystem-Berechtigungen und bietet an, diese per Klick selbst zu korrigieren.
Augen auf bei der TYPO3-Migration
Allen automatisierten Migrationsprojekten zum Trotz: Jede TYPO3-Installation ist anders und entsprechend gilt es, jedes Upgrade mit Bedacht anzugehen. Auch das Smooth-Migration-Projekt kann diese Vorsicht nicht komplett übernehmen – das wird schon bei der nicht wirklich intuitiven Bedienung der involvierten Extensions deutlich. Besonders anfällig für Probleme sind selbst modifizierte oder nicht mehr gepflegte Third-Party-Extensions. Hier hilft außer der Suche nach einer passenden Alternative nur, selbst am Code Hand anzulegen. Noch mehr Arbeit verlangen Extensions, die bislang auf DAM setzen, sei es per PHP oder direkt im Template. Beides muss händisch auf FAL geändert werden. Gleiches gilt auch für direkte MySQL-Aufrufe in Extensions, da der TYPO3-Core auf mysqli umgestellt wurde. Eine im Vorfeld des Upgrades angefertigte Liste der Erweiterungen mit beurteilter Relevanz und nutzbarer Alternative erspart hier unter Umständen eine Menge Arbeit.
Upgrade-Checkliste |
|
Fazit
Um ein Upgrade zu vereinfachen, hat das Smooth-Migration-Projekt bereits ganze Arbeit geleistet; wenn auch das Ziel noch nicht endgültig erreicht ist. Die Schaffung einer zentralen Stelle für sämtliche Dokumentationen ist unablässig, um die Migrationen zu vereinfachen. Hier sind nicht nur die Entwickler, sondern auch all jene gefordert, welche mit Migrationen bereits Erfahrungen gesammelt haben und Input liefern können. TYPO3 6.2 ist wie die Version 4.5 auf den Long Term Support (LTS) ausgelegt, sodass das CMS wieder für einige Jahre gerüstet sein wird. Dies betrifft einerseits Sicherheitsaspekte, andererseits die Code-Qualität und nicht zuletzt die Performance. Die Frage, ob sich ein Upgrade lohnt, stellt sich ab Herbst 2014 nicht mehr. Dann wird die Unterstützung für TYPO3 4.5 eingestellt.
TYPO3 wird nicht Mitte Dezember erscheinen sondern erst Ende März 2014. Der Support für TYPO3 4.5 wird auch noch erweitert auf März 2015.
http://typo3.org/news/article/typo3-cms-62-final-release-postponed/
Gruß Sebastian Brosch
Die Qualität der t3n lässt zu wünschen übrig, wenn noch nicht mal gemerkt wird, dass die 6.2 vor einer Woche verschoben wurde. Traurig.
als typo3integrator innerhalb einer spezialisierten typo3 agentur nicht zu merken, dass typo3 verschoben wurde, lässt tief blicken. das das t3n magazin sowas ungeprüft veröffentlicht, ist noch trauriger.
t3n und TYPO3 werden gefühlt von Schülern der 8. Klasse gemacht.
„Aus dem
t3n Magazin Nr. 34
12/2013 – 02/2014“
@Thomas & Georg
Demnach wurde der Artikel bereits vor längerer Zeit verfasst, als noch nicht absehbar war, dass TYPO3 6.2 sich verzögert.
wenn ich das schon wieder lese… alte t3 projekte niemals updaten ansonsten kann man gleich alles neu machen :)
gruss
@dennis: man kann wohl erwarten, das ein beitrag vorab nochmal geprüft wird, und gegebenfalls ein kleiner hinweis in der einleitung dazu erscheint. so wirkt das einfach nur schlampig recherchiert.
Naja,
ich muss mich grundsätzlich fragen ob sich ein Abo noch lohnt wenn die ersten Artikel bereits eine Woche nachdem ich die Zeitschrift habe die ersten Artikel im Netz erscheinen.
Was der andere Thomas D. wohl nicht bemerkt hat, ist, dass der Artikel aus der gedruckten t3n stammt und damals von der Verschiebung noch nichts bekannt war. Danke für den Artikel.
„gegebenfalls ein kleiner hinweis in der einleitung dazu erscheint“
Das allerdings häte wirkich gemacht werden können…
„alte t3 projekte niemals updaten ansonsten kann man gleich alles neu machen“
bitte wie?
Der Support für die älteren TYPO3-Versionen läuft bekanntlich 2015 aus. Hier werden wahrscheinlich auch Migrationen von Nöten sein, um Sicherheit und Performance zu erhalten. Wie geht es eurer Meinung nach weiter? Und seht ihr die Wichtigkeit von Upgrades ähnlich wie der Herr aus diesem Interview?
http://blog.webfox01.de/typo3-upgrade-entwicklung-kasten-webfox/
Danke!
Das mit der Extension „smoothmigration“ mag gut gemeint sein, geht aber nicht wenn man Typo3 4.5.22 installiert hat. Nach der Installation dieser Extension ist dann Ende mit Anmelden am Backend: Eine leere Seite resp.
„Fatal error: Class ‚Tx_Extbase_Utility_Extension‘ not found in ……typo3\typo3conf\temp_CACHED_ps2588_ext_tables.php on line..“ wird angezeigt beim Setzen von displayErrors auf 1.
Wenn man dann nachliest über dieses ExtBase (http://advitum.de/2013/05/einstieg-in-extbase-ein-plugin-ohne-models/) wird schnell klar, dass das alles andere als smooth sein dürfte. Ob man das wirklich alles manuell einrichten muss, nur um upgraden zu können…?