Hallo TYPO3-Freunde,
schon einmal ein TYPO3 4.5 und ein frisches TYPO3 6.2 aufgesetzt? Die Standardseite im Backend ist für gewöhnlich die „About Modules“ und schaut bis auf ein paar Abständen zwischen Texten, Links und Icons exakt gleich aus. Zwischen diesen beiden Versionen liegen nun 2,5 Jahre und natürlich stellt sich Einigen die Frage: „Was ist passiert?“ oder „Wo soll die Reise eigentlich hingehen“ oder noch krasser: „Wo sind die Features, die sonst mit den neuen Versionen heraus gekommen sind?“
Die Features sind unter der Haube
Ich kann Fans und andere TYPO3-Begeisterte auf jeden Fall verstehen, wenn sie ständig die neue Version von TYPO3 einspielen und kaum Neues zu Gesicht bekommen. TYPO3 arbeitet an vielen Stellen immer noch auf einer Codebasis, die uralt ist. Seit Ewigkeiten schleppt TYPO3 diese Senioren mit sich und es wird endlich Zeit, diese an moderne/zeitgerechte Programmierungen anzupassen. Nicht selten steht man als Entwickler vor Dateien, die länger als 7000 Zeilen lang sind. Mit der IDE Eclipse hatte ich bei einigen dieser Dateien sogar Darstellungsfehler beim Syntaxhighlightning. Kapselung muss wohl ein Fremdwort gewesen sein. Viele dieser Dateien wurden bereits überarbeitet und mit jeder neuen TYPO3-Version wurden weitere Dateien in mehrere kleine Dateien aufgesplittet und falls erforderlich die Anzahl der Zeilen innerhalb von Methoden verringert. Dies steigert die Übersichtlichkeit erheblich und hilft dabei Fehler schneller zu finden. Die Wartung wird also erheblich verbessert.
Nun könnt Ihr Euch bestimmt vorstellen, dass TYPO3 nicht gerade klein ist. Hey…Kasper hat 10 Jahre seines Lebens in dieses System gesteckt, da kann man nicht erwarten, dass das Core-Team diese Leistung „mal eben“ in 2-3 Jahren komplett neu schreibt und zusätzlich auch noch neue Features für TYPO3 einbaut. Dann kommt auch noch hinzu, dass das Core-Team immer ein gewissen Maß an Rückwärtskompatibilität gewährleisten muss.
Und trotzdem: Auf dem 6.2 LTS Kick-Off Meeting wurde auch ein neues Design für TYPO3 angesprochen. Wenn ich richtig informiert bin, dann soll das neue Backend auch Tablet tauglich werden. Smartphones werden allerdings nicht unterstützt.
Der Wechsel zu 6.2
TYPO3 6.2 wird wie schon damals die 4.5er Version wieder eine LTS (long time support) werden und wird im Oktober diesen Jahres veröffentlicht. Um den Kunden Zeit zum Wechseln zu ermöglichen, werden sich die LTS-Versionen immer um ein halbes Jahr überlappen. Das ist auch der Grund, warum die 4.5er LTS-Version um ein halbes Jahr verlängert wurde. Wer mal versucht hat übergreifend für alle TYPO3-Versionen eine Extension zu schreiben, wird wissen, was das für eine Qual ist. Aber TYPO3 will hier Abhilfe schaffen. „Smooth Migration“ heißt das Zauberwort. Eine zusätzliche Extension für TYPO3 4.5 soll dem Kunden/Entwickler dabei helfen auf bestimmte Probleme und bekannte Fehlerquellen hinweisen. Zusätzlich wird es eine Migrations-Checkliste geben, mit der alle zu tätigenden Arbeiten abgehakt werden können. Auf diese Weise kann eine ganz bestimmte Reihenfolge eingehalten werden und wichtige Zwischenschritte werden nicht vergessen. Und wenn alle Stricke reißen, könnte es auch eine Extension geben, die auf TYPO3 6.2 installiert wird, um alte Extensions dennoch auf der 6.2er Version zum Laufen zu bringen.
Wohin geht die Reise?
Auf dem TYPO3 Camp in Stuttgart habe ich an einer Session von Benni Mack teil genommen und konnte Ihn als Release Manager der 6.1er Version mal fragen, warum man sich für Namespacings entschieden hat. In erster Linie geht es darum, um in Sync mit TYPO3 Flow zu sein. Je ähnlicher sich diese beiden Produkte sind, desto einfacher ist es TYPO3 Flow in TYPO3 CMS zu implementieren. Es ist noch nicht klar welche Versionsnummer nach der 6.2 kommen wird. Aber in der 6.3 bzw. 7.0 will man versuchen Flow in den TYPO3-Core zu implementieren. Da die Pakete von Flow auf Composer arbeiten wird es ein eigenes Extensionverzeichnis für Flow basierte Extensions geben: typo3conf/packages/ während die piBase und Extbase-Extensions weiterhin im Verzeichnis typo3conf/ext/ liegen werden. Innerhalb des neuen Verzeichnisses wird dann die Struktur der Namespaces kontinuierlich eingehalten, was dann auch eine saubere Differenzierung zwischen den Vendors ermöglicht. Bisher wird der Vendorname aus dem Namespacing jedoch noch nicht ausgelesen. Heißt: Wenn Firma1 und Firma2 eine Extension mit dem Namen „shop“ erstellen, kann man diese beiden Extensions nicht parallel in TYPO3 installieren und das, obwohl sie sich in einem völlig anderen Namespace befinden. Dank Composer (dem Paketmanager) stellt sich auch die Frage, ob man damit die ext_emconf.php ablösen kann. Evtl. wird bereits für Extensions in der 6.2er Version schon die Möglichkeit für Composer gegeben sein. Aber das bleibt noch abzuwarten.
Die Reise geht also stark in Richtung TYPO3 Flow. Dank Extbase werden Extensions bereits jetzt schon immer Flow ähnlicher und Dank der Namespaces wird auch der Core immer Flow ähnlicher. Bereits in der aktuellen TYPO3 6.2 (GIT-Version) wurden alle Dateien aus dem t3lib-Verzeichnis verbannt und in eigene Verzeichnisse innerhalb des TYPO3-Cores verschoben und auch hier wieder im Namespacing erfasst. Zur Veröffentlichung wird es dieses Verzeichnis also nicht mehr geben. Evtl. wird es in weiter Zukunft keine Extensions mehr geben, sondern alles nur noch über Composer und Pakete gesteuert. Auch Abhängigkeiten zu anderen Paketen können mit diesem neuen System verwaltet werden.
Mein persönliches Fazit
Viele Entscheidungen von TYPO3 werden intern kommuniziert oder eher Häppchenweise an die Öffentlichkeit getragen. Ich oder evtl. auch Du sehen diese Entscheidungen nicht als Ganzes. Da kommen auf einmal Namespaces und das warum wird mit „Ja…ist in Flow auch so und wir übernehmen es halt“ beantwortet. Cool fand ich auch die Antwort: „Weil das Feld für den render_type nur 255 Zeichen lang ist“. Au man…
Es gibt die News, dass TYPO3 Flow nun ein eigenständiges Produkt wird. Dann kommt Neos, dessen Basis dieses Flow sein wird. Ich kann mich nicht erinnern jemals eine News gelesen zu haben in der es heißt, dass es Flow als Paket (oder wie auch immer) in TYPO3 CMS integriert werden soll.
Viele solcher News haben meiner Ansicht nach den User eher verwirrt und ich hatte das Gefühl das TYPO3 eher auseinander bricht. Aber nun ist zumindest für mich wieder eine klare Linie zu erkennen. Ich sehe wie die Fäden wieder zusammen geführt werden und diese ganzen News-Brocken als eine Einheit wieder ihren Weg zusammen finden.
Als Programmierer lege ich meine Hoffnung nun auf 6.2, was ich von den Versionen 4.6, 6.0 und 6.1 nicht behaupten konnte.
PS: Nein. Ich habe 4.7 nicht vergessen 🙂
Über rege Meinungen und Kritiken freue ich mich auf jeden Fall.
Stefan