TYPO3 Developer Days 2013 in Hamburg - ein Bericht
Vom 4. bis zum 7. Juli trafen sich die TYPO3 Entwickler zu den T3DD (TYPO3 Developer Days) im Elbcampus in Hamburg Harburg.
Die Workshops
In diesem Jahr wurden im Gegensatz zu den letzten Jahren nur Workshops angeboten in denen ein aktives Mitarbeiten der Teilnehmer gewünscht war. Die überwiegende Anzahl der Teilnehmer hat aber eher passiv in den Workshops gesessen, anstatt aktiv mitzumachen. So haben in der Regel immer nur eine Handvoll Teilnehmer miteinander interagiert, während der Rest zugehört oder ausprobiert hat.
Die Themen
Ich habe mich bei der Auswahl meiner Workshops ganz auf das TYPO3 CMS in der Version 4 und 6 konzentriert. Die Themen waren alle so spannend, dass keine Zeit mehr für TYPO3 Neos war. Das werde ich in den nächsten Wochen aber nachholen!
Der Freitag
Der Freitag stand ganz in dem Zeichen von Continous Integration: Zuerst gab es die Einführung zu dem Thema von Jose Antonio Guerra. Ich hatte mir noch ein paar Tips und Tricks erhofft, wie wir unsere Umgebung, die auf Jenkins und ANT basiert, verbessern können. Zum Einstieg des Workshops sollte jeder seine eigene CI Umgebung als Virtuelle Maschinen aufsetzen. Dazu sollte sich zunächst jeder Nutzer Vagrant und Virtualbox installieren, danach die virtuellen Machinen aus einem Github Report laden, welche dann wiederrum ihre Software von den Ubuntu-Servern laden. Man kann sich vorstellen dass dies bei ca. 40 Teilnehmern sehr schnell auch eine schnelle Internetleitung lahm legen kann. Ich bin dann bei einer Downloadzeit von über mehreren Stunden ausgestiegen. Aus dem Workshop habe ich leider nur mitgenommen, dass capistrano als Ersatz für ANT anscheinend auch ganz interessant ist. Das müssen wir uns mal anschauen.
Nach dem Mittagessen hat Tobias Liebig das Thema wieder aufgenommen und die verschiedenen Ansätze in TYPO3 gezeigt, wie man einzelne TYPO3 Installationen deployen kann. Mittlerweile gibt es dort die Extension coreapi die Funktionen wie das Löschen des Caches und das Updaten der Datenbankstrukturen übernimmt. In dieser Extension sollen auch noch weitere Funktionen ergänzt werden, wie z.B. das Ändern/Einfügen von Datensätzen. Da hier eine aktiven Entwicklung stattfindet, werden wir unsere Lösung mit den Extensions cleartypo3cache und t3deploy durch coreapi ersetzten. Ein weiterer Punkt war das Deployment von Inhalten in dem Workshop. Hierzu gibt es noch keine einheitliche Lösung.
Im zweiten Teil des Workshops haben sich einzelne Teams um die Erarbeitung / Entwicklung von neuen Funktionen für den Bereich Deployment gekümmern. Ich habe mich dem Team „Content Deployment“ angeschlossen. Wir haben die verschiedenen Möglichkeiten eines Content Deployments eruiert und ein Lösungskonzept erarbeitet: Ein interes TYPO3 Log sollte alle Änderungen an den Datensätzen / Dateien mitschreiben. Dieses Log würde dann auf dem Zielsystem prinzipiell einfach auch ausgeführt. Mittels TCEMain und einenm entsprechenden Extbase Signal kann man die Änderungen an Datensätzen sehr gut TYPO3-konform speichern. Damit keine Kollisionen der Datensätze entstehen, wird eine zusätzliche UUID eingeführt. Denn dann kann man beim Einspielen der Daten in dem Zielsystem ein mapping der Datensätze automatisch herstellen.
Grundsätzlich scheint das eine gute Idee zu sein, dennoch sind noch einige Punkte im Detail zu klären: Wie wird z.B. mit Datensätzen umgegangen, die ihre Inhalte nicht in Relationen in der Datenbank speichern (TemplaVoila, FlexForms, Kommalisten)? Und wie kann man dann ein neues Mapping machen? Auch das Anlegen und Verfolgen der UUIDs wirft noch neue Fragen auf. Schön, dass TYPO3 NEOs schon auf UUIDs setzt und somit keine Überschneidungen in den Datensätzen auf verschiedenen Systemen vorkommen können.
Im Verlauf des Tages hat unser Team diese Lösung mit weiteren TYPO3 Entwicklern diskutiert und dabei sind noch mehr Anregungen aufgekommen, wie z.B. das automatiserte Vergeben von UID-Bereichen auf den verschiedenen Systemen. Hier scheint es eine fast fertige Extension von Nils Blattner (cab services ag Schweiz) zu geben. Diese wird im nächsten Schritt geprüft und ggf. weiter entwickelt. -ufgrund der Architektur von TYPO3 auf Basis von hochzählenden UIds ist eine solche Lösung natürlich nur möglich, wenn entsprechend große Bereiche für die UIDs auf den einzelnen Systemen vergeben werden. Rein technisch ist ein Überlauf dennoch möglich. Aufgrund der Grundarchitektur des TYPO3 CMS Cores – auch mit Kommalisten anstatt von Relationen – scheint diese Lösung pragmatisch zu sein, obwohl ein Informatiker diese niemals wählen würde. 😉
Der Samstag
Wir hatten für den Samstag einen Workshop zum Thema Responsive Images vorbereitet. Hierbei wurde gemeinsam erarbeitet, wie in Zukunft das HTML für die Bilder auszusehen hat und wie dies im PHP Core und in der Extension ccs_styled_content geschehen soll. Im praktischen Teil wurden die Anpassungen für den TYPO3 Core bereits umgesetzt und die Arbeiten an der Anpassung des TypoScript haben begonnen. In der anschließenden Coding-Night haben wir weiter an dem Thema gearbeitet und haben einen Mini-Extension erstellt, die unsere Core-Anpassungen direkt auch für ältere TYPO3 Installationen zur Verfügung stellt.
Der Sonntag
Für mich war am Sonntag der Vortrag „Smooth migration to 6.2 LTS“ von Steffen Ritter interessant. Hier ist die technische Aufgabe von der aktuellen 4.5 ein Upgrade-Konzept zur 6.2 zu erarbeiten. Grundlage dazu ist die extension upgradereport, die eine vorhandene TYPO3 Installation nach eventuellen Problemen durchsucht und diese meldet. Noch im Workshop habe ich zu den Extension eine CLI Komponente entwickelt, mit der die Reports auch auf der Kommandozeile ausgeführt werden können.
Ein weiterer Baustein wird ein Workshop sein, in dem vorhandene, größere TYPO3 Installationen untersucht werden und Migrationskonzepte erarbeitet werden. Geplant ist hier die letzte Augustwoche, Veranstaltungsort soll das Unperfekthaus in Essen sein.
Die Location
Der Elbcampus ist ein modernes Schulungszentrum des Handwerks in Hamburg. Die einzelnen Seminarräume sind modern eingerichtet, es gibt eine Kantine und einen kleines Büdchen zur Verpflegung und einen schönen Innenhof. Leider war das WLAN etwas schwach für die 200 Teilnehmer aus ganz Europa, so dass die TYPO3 Community mit eigenen WLAN Access-Points ausgeholfen hat. Einzig die Klimatisierung der Räume war schwierig, entweder waren sie zu warm oder zu kalt.
Die Verpflegung während der Tage war sehr gut, es gab zu jedem Essen immer frischen Salat, sehr leckere Suppen, ein ordentliches Hauptgericht und eine Nachspeise. Getränke konnten sehr günstig erworben werden, es gab sogar die Hackerbrause Club Mate!
Drum Herum
Durch den großzügen Zeitplan hatte man die Gelegenheit, mit einzelnen Entwicklern über aktuelle Probleme zu sprechen oder sich über neue Entwicklungen zu informieren. Die offene Art der TYPO3 Community hat dies sehr unterstützt. Jeder hatte ein Ohr für den anderen und versuchte zu helfen. Der Open-Source Gedanke des gemeinsamen Arbeitens an dem Projekt war in diesem Jahr sehr stark zu spüren. Niemand hat sich mit seinen Ideen und Konzepten versteckt, sondern hat diese offen weitergegeben.
An den Abenden habe ich noch lange mit vielen Leuten aus der Community gesprochen und Ideen ausgetauscht, einige andere noch länger. Trotz der Startzeit um 10:00 Uhr morgens war die Zeit im Bett nie besonders lang 😉.
Fazit
Mit hat die Veranstaltung sehr gefallen, besonders, dass in den Workshops auch das Mitmachen angesagt war. Ich habe so viele neue Ideen und Entwickler-Kollegen kennen gelernt. Ich freue mich schon jetzt auf das nächste Jahr – und auf das TYPO3 Camp vom 08. bis 10. November in Essen.
Wir freuen uns, wenn Ihr diesen Beitrag teilt.
Kommentare
Jonas Felix
Danke für die super Zusammenfassung und Grüsse aus der Schweiz.