Das könnte dich auch interessieren

Du hast deinen AdBlocker an?

Es wäre ein Traum, wenn du ihn für t3n.de deaktivierst. Wir zeigen dir gerne, wie das geht. Und natürlich erklären wir dir auch, warum uns das so wichtig ist. Digitales High-five, deine t3n-Redaktion

t3n 34

TYPO3-Migration: Mit diesen Umzugshelfern klappt der Umstieg auf Version 6.2

    TYPO3-Migration: Mit diesen Umzugshelfern klappt der Umstieg auf Version 6.2

Hollywood würde es wohl einen Blockbuster nennen, was auf die CMS-Welt Mitte Dezember dieses Jahres zukommt. Denn TYPO3 6.2 löst die Long-Term-Support- und am häufigsten installierte Version 4.5 endgültig ab. Entsprechend stehen zahllose Upgrades und Migrationsprojekte an, denen TYPO3 mit einer „Smooth Migration“ unter die Arme greifen will. Und auch wir bieten Umzugshilfe.

Ziel des Smooth-Migration-Projekts ist es, von TYPO3 4.5 auf Version 6.2 zu aktualisieren. Der Umzug soll dabei möglichst wenig Aufwand verursachen und die neue Seite ein stabiler Grund für weitere Entwicklungen sein. Leichter gesagt als getan, insbesondere bei den Tausenden Extensions. Zwar gibt es auch dafür Unterstützung, der Aufwand wächst aber mit der Zahl der installierten Erweiterungen. Der grundsätzliche Upgrade-Prozess beim Wechsel auf Version 6.2 unterscheidet sich nur leicht vom üblichen Vorgehen. Nach dem Update auf die neueste 4.5-Version müssen zunächst die Erweiterungen aktualisiert werden – im besten Fall sind hier bereits 6.2-kompatible Versionen verfügbar. Nicht benötigte Extensions können in diesem Zug deinstalliert und auch gelöscht werden. Anschließend kommen die vom Smooth-Migration-Projekt zur Verfügung gestellten Extensions sowie das überarbeitete Install Tool zum Einsatz. Zentrale Anlaufstelle für „Smooth Migration“ ist das Forge-Projekt. Im Wiki finden sich aktuell insbesondere Links und Anleitungen sowie erste Extension-Patches. Außerdem werden die zentralen Extensions vorgestellt. An Dokumentation fehlt es zwar bislang, doch das Forge-Projekt wird vermutlich auch in Zukunft die zentrale Stelle für alle Smooth-Migration-bezogenen Arbeiten und Ressourcen sein. Entsprechend ist hier nur etwas Geduld gefragt.

Dieser Artikel stammt aus dem brandneuen t3n Magazin Nr. 34.
Dieser Artikel stammt aus dem brandneuen t3n Magazin Nr. 34.

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

Das neue Install Tool erkennt veraltete und fehlerhafte Extensions.
Das neue Install Tool erkennt veraltete und fehlerhafte Extensions.

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
  1. auf 4.5-Patch-Version aktualisieren
  2. Extensions auf 6.2-kompatible Versionen bringen
  3. nicht benötigte Erweiterungen deinstallieren
  4. deinstallierte Erweiterungen löschen
  5. DAM deinstallieren
  6. mit smoothmigration gefundene Fehler beheben
  7. sys_refindex aktualisieren
  8. TYPO3-Core aktualisieren
  9. Upgrade Wizard ausführen
  10. DB-Compare durchführen
  11. ggf. DAM mit dam_falmigration umziehen
  12. ausgiebig testen

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.

Links und Literatur

  1. Smooth-Migration-Projekt
  2. GitHub der smoothintegration-Extension
  3. TYPO3-Tests auf der Konsole
  4. System-Extension File Metadata
  5. DAM-FAL-Fork

Finde einen Job, den du liebst zum Thema TYPO3, PHP

12 Reaktionen
dvoll
dvoll

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...?

Antworten

maria.poelke
maria.poelke

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!

Antworten

Thomas D.
Thomas D.

"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?

Antworten

Thomas D.
Thomas D.

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.

Antworten

Christopher
Christopher

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.

Antworten

georg ringer
georg ringer

@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.

Antworten

Markus
Markus

wenn ich das schon wieder lese... alte t3 projekte niemals updaten ansonsten kann man gleich alles neu machen :)

gruss

Antworten

Dennis
Dennis

"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.

Antworten

georg ringer
georg ringer

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.

Antworten

speedypete123
speedypete123

t3n und TYPO3 werden gefühlt von Schülern der 8. Klasse gemacht.

Antworten

Thomas D.
Thomas D.

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.

Antworten

240594 (abgemeldet)
240594 (abgemeldet)

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

Antworten

Melde dich mit deinem t3n-Account an oder fülle die unteren Felder aus.

Abbrechen