TYPO3 CMS: Version 6 ist da
Seitdem das TYPO3-Entwicklerteam im Jahr 2006 mit Version 4.0 das letzten Major-Release vorgestellt hat, hat sich im TYPO3-Projekt viel getan. TYPO3 4.0 brachte damals die so genannten „Workspaces“ mit sich – ein Publishing-Workflow für Redakteure für Websites und deren Inhalte. Die nächsten Releases wurden durch etliche Optimierungen im Frontend und Backend sowie einem Introduction-Package inklusive schickem Standard-Template bereichert, das seit 2009 den Einstieg in TYPO3 erleichtert. Nebenbei wurde für Entwickler eine neue Templating-Engine namens TYPO3 Fluid und das Extension-Framework Extbase integriert.
Die im letzten Jahr veröffentlichte TYPO3-Version 4.5 erhielt das Siegel „Long Term Support“, das für Agenturen Klarheit schaffte, dass dieses Release drei Jahre, also bis 2014, mit Bugfixes und Sicherheitsupdates versorgt wird.
Das zuletzt erschienene TYPO3 4.7 enthielt Neuerungen im Bereich der nativen HTML5-Unterstützung und einen standarmäßig barrierefreien Aufbau der Frontend-Seiten. Nun erscheint am 27. November mit TYPO3 6.0 die nächste große Version des populären Open-Source-CMS.
Nach 4.7 kommt 6.0
Die Entscheidung, die Versionsnummer 5.0 auszulassen und direkt auf 6.0 zu springen, ist das Ergebnis einer Entwicklung und Ausrichtung der Marke TYPO3 und nimmt ihren Anfang im Mai 2005 bei einem Workshop zur TYPO3-Markenstrategie. Damals erarbeitete das Research & Development Comittee eine Strategie für das gesamte TYPO3-Projekt und ein langfristiges Ziel für TYPO3 als CMS.
Für die nächste Generation, damals mit der Versionsnummer 5.0 geplant, wurden hohe Ziele gesteckt: Unter dem Arbeitstitel „Phoenix“ sollte eine komplett neue Code-Architektur programmiert werden und gleichzeitig die Benutzerfreundlichkeit für TYPO3-Entwickler im Fokus stehen. Parallel dazu sollte die damals aktuelle Version 4.0 weiterentwickelt werden. Dadurch entstanden zwei Entwicklungszweige: Die fortlaufende Entwicklung von 4.x und die Neuprogrammierung „TYPO3 Phoenix“.
Bald stellte sich heraus, dass viele der Neuentwicklungen für Phoenix großes Potenzial besitzen und ihre Einsatzmöglichkeiten über die eines CMS hinausgehen. Daher beschloss das Entwickler-Team, das PHP-Framework als eigenständiges Produkt unter dem Namen TYPO3 Flow (ehemals FLOW3) zu veröffentlichen. Das neue CMS sollte auf dieses Framework aufsetzen.

Während der Entwicklungsphase von TYPO3 Flow flossen bereits einige Funktionen zurück in den bestehenden 4.x-Entwicklungszweig, etwa das Templating-Framework TYPO3 Fluid, ein flexibles Caching-Framework sowie Extbase, mit dem sich Extensions auf Basis des Programmier-Paradigmas Domain-Driven-Design entwickeln lassen.
Im Verlauf des Entwicklungsprozesses wurde jedoch immer deutlicher, dass sich die Bedienung und gewisse Funktionen der Neuprogrammierung grundlegend von der bekannten TYPO3-Version 4.x unterscheiden. Damit war klar: Dieses neue System verdient einen eigenen Namen.
Dieser wurde mittlerweile gefunden, das neue CMS heißt „TYPO3 Neos“ und wurde im Oktober 2012 in einer Alpha-Version vorgestellt (siehe Seite 182). Daneben wird es auch weiterhin das klassische CMS geben, das
ab sofort „TYPO3 CMS“ heißt und so lange kontinuierlich weiterentwickelt wird, wie der Bedarf in der Community vorhanden ist. Da der aktuelle Entwicklungsstand ein Major-Release rechtfertigt, Version 5.0 aber zu sehr mit der Neuentwicklung TYPO3 Neos in Verbindung gebracht wird, erhält die neue Version des TYPO3 CMS die Versionsnummer 6.0.
Dateiabstraktion
Eine der gravierensten Neuerungen der Version 6.0 ist die neuartige Abstraktionsschicht für Dateien, die es erlaubt, nicht nur auf den üblichen Ordner „fileadmin“ innerhalb des CMS zuzugreifen, sondern eine einheitliche Schnittstelle zu Dateien definiert. Dadurch entledigt sich TYPO3 einerseits der mehrfachen Speicherung identischer Dateien, wenn diese an verschiedenen Stellen hochgeladen werden, gleichzeitig öffnet diese Funktion aber auch die Möglichkeit, Dateien von entfernten System einheitlich in das System einzubinden. Diese sogenannten Driver sind durch TYPO3-Extensions erweiterbar, dadurch sind Anbindungen an ein entferntes WebDAV-System, an ein CDN wie Amazon S3 oder an Datei-Dienste wie Dropbox oder Flickr möglich. Langfristig soll dies auch das Metadaten-Handling durch die neue Extension „media“ ermöglichen, das momentan lediglich durch die Extension „DAM“ verfügbar ist. Alle bestehenden Extensions, die nicht auf die Funktionen des File Abstraction Layers zugreifen, können jedoch weiterhin verwendet werden. Für die Migration der bestehenden Felder stehen flexible Update-Wizards im Install-Tool bereit.
Code-Qualität und Namespaces
Seit TYPO3 4.6 ist die PHP-Version 5.3 zwingend erforderlich. Diese beinhaltet die Unterstützung von Namespaces für Klassen und Packages, eine Basis des Frameworks „TYPO3 Flow“. Mit Version 6.0 wurden alle Klassen des TYPO3-CMS-Kerns auf dieselbe Namespaces-Struktur aufgesetzt. Dies erleichtert Entwicklern zukünftig, TYPO3 Flow-kompatible Pakete einzubinden. Langfristig soll durch die Verwendung von PHP Composer auch hier eine weitere Brücke zwischen den Projekten entstehen. Die bisherigen Klassen-Dateien wurden beibehalten und verweisen lediglich als Synonym auf die neuen PHP-Klassen, sodass auch bestehende Extensions mit den bisherigen API-Funktionen weiter funktionieren.
Durch stärkeres Unit-Testing bei der Entwicklung kann bereits bei der Einbindung von Neuerungen und Bugfixes die bestehende Funktionalität stärker gewährleistet werden. Das Initialisieren (= „Bootstrap“) eines Seitenaufrufs im TYPO3-Backend und bei der Seitenausgabe wurde komplett neu entwickelt und als letzter Bestandteil nun auch objektorientiert und dynamisch gestaltet. Dazu gehört auch, dass die lokale Konfigurationsdatei „localconf.php“ nun einen anderen Aufbau besitzt – bestehende Installationen lassen sich durch das Install-Tool einfach migrieren.
Die Migration von Extensions wird durch die gravierenden Änderungen des TYPO3-Cores in den nächsten Monaten für viele Entwickler ein Thema sein. Dennoch sollten die meisten verfügbaren Extensions, die bereits für TYPO3 4.7 aktualisiert wurden, auch mit der neuen Version mühelos funktionieren.
Darüber hinaus hat das Entwickler-Team kontinuierlich einzelne Bausteine angepasst und erneuert. Unter anderem steht nun eine flexible Logging-API bereit. Der Extension-Manager lässt sich jetzt einfacher bedienen und die für Entwickler relevanten Funktionen wurden aus dem TYPO3-Kern ausgelagert. Zahlreiche weitere Backend-Module, etwa die Redakteurs-Verwaltung, wurden auf Basis von Extbase neu entwickelt. Ebenfalls neu ist eine native Datenbank-Unterstützung für Datums- und Uhrzeit-Felder, zudem hat das Entwickler-Team das Autoloader-Handling und die Einbindung von Erweiterungen via “XCLASS”-ing vereinfacht.
Ausblick
TYPO3 6.0 schafft eine neue Basis für zukünftige Content-Management-Projekte und rückt durch die erwähnten Namespaces-Änderungen näher an die parallelen Entwicklungen von TYPO3 Flow. Dabei werden auch zukünftig die jahrelang bestehenden Kernfunktionen weiterentwickelt und der sechsmonatige Release-Zyklus beibehalten – eine neue Version mit Long-Term-Support ist bereits geplant. Die größten Neuerungen hat die TYPO3-Community in fast einem Dutzend Code-Sprints beigesteuert – eine Arbeitsweise, die auch in Zukunft noch verstärkt werden soll.