Perfektes Wochenende im Unperfekthaus

Vom 2. bis 4. November waren wir zu dritt als Platin-Sponsor beim TYPO3camp RheinRuhr im Unperfekthaus in Essen dabei, einem eigentlich perfekten Veranstaltungsort für das Barcamp. Gemeinsam mit vielen anderen TYPO3-Begeisterten erlebten wir ein schönes, informatives und sehr lehrreiches Wochenende.

Am Freitag hatten alle Teilnehmer beim Warm-Up Event die Möglichkeit, sich kennenzulernen oder alte Freunde und Bekannte wieder zu treffen. Ein wenig ungewöhnlich: das Warm-Up fand in einer Slot Car-Halle statt, und alle konnten Ihren Spieltrieb mit den kleinen Autos ausleben.

Am Samstag Morgen ging es dann mit dem eigentlich Camp los. Wir versuchen mal, ein paar der von uns besuchten Sessions zusammenzufassen. Die kompletten Sessionpläne findet ihr unter den folgenden Links:

Sessionplan Samstag
Sessionplan Sonntag

Deployable Records (Armin Vieweg)

Wer kennt es nicht? Das Problem der Übertragung von Datensätzen, die man auf DEV-Umgeung erstellt hat, in die LIVE-Umgebung. Der Kunde oder Kollege hat zwischenzeitlich auf der LIVE neue Seiten angelegt und schon stimmen die Seiten-UIDs in den TypoScript-Templates, die ja als Dateien ausgelagert sind, nicht mehr überein.
Armin hat dafür eine Lösung gefunden. Noch in der DEV wird ein Seiten-Datensatz als “deployable” markiert. Damit wandert der Datensatz als Kopie in eine json-Datei und bekommt einen eindeutigen Namen, den man selber vergeben kann. Dies hat große Vorteile, denn genau wegen diesem eindeutigen Namen kann dieser nun im TypoScript-Template oder auch in FlexForms dynamisch verwendet werden.
Nach dem Deployment auf LIVE kann man die Datensätze aus der json-Datei mit den Datensätzen der LIVE synchronisieren ohne sich Gedanken über irgendwelche UIDs machen zu müssen.
Aktuell hapert es wohl noch an Relationen, aber hier kann man die Entwicklung für einen kleinen Obolus gerne beschleunigen.
Hier findet ihr die Präsentation dazu.

Livecoding Campsite Upgrade (Sebastian Fischer)

Sebastian hatte ein ambitioniertes Ziel: das Upgrade der Camp-Website von TYPO3 8 auf 9 in einer Live-Session! Natürlich nicht an der Live-Seite ;) Obwohl das Upgrade von TYPO3 8 auf 9 eigentlich recht einfach ist, stieß er doch immer wieder auf kleine Hindernisse, so daß das Upgrade nicht innerhalb von 45 Minuten vollständig abgeschlossen werden konnte. Das wurde dann aber einfach am nächsten Tag in einer Folgesession fortgesetzt.

Bootstrap/Introduction Package (Benjamin Kott)

Das Introduction Package kennen sicher viele, die sich schon einmal die verfügbaren Distributionen angeschaut haben. Die Basis dafür ist Benjamins Bootstrap Package, welches viele vorkonfigurierte, typische Bootstrap-Elemente wie Slider oder Akkordeons schon mitbringt. Benjamin gab uns einen Einblick unter die Haube und zeigte, wie er manche Herausforderungen gelöst hat, zum Beispiel "Responsive Images". Wir konnten einen guten Einblick gewinnen, wieviel Arbeit und Liebe er in dieses Projekt gesteckt hat.

Hacker Jeopardy

Beim Hacker-Jeopary konnten die Kandidaten und auch das Publikum schauen, wie fit sie zu Themen rund um TYPO3 (und darüber hinaus) waren. 

Composer ask me anything (Helmut Hummel)

Composer ist immer noch auf jedem Camp ein heisses Thema, da viele Anwender den Umstieg auf Composer immer noch nicht vollzogen haben. Dabei bietet Composer sehr viele Vorteile gegenüber der herkömmliche Methode, mit TYPO3 zu arbeiten. Helmut stellte sich in dieser Session den Fragen der Teilnehmer und konnte viele Tipps und Tricks rund um Composer weitergeben.

TYPO3 less technical (Petra Hasenau)

These: die Website typo3.org richtet sich momentan zu sehr an "Techniker" und Entwickler. Petra stellte die Frage: Wie kann man weniger technisch versierte Interessenten abholen und von TYPO3 überzeugen. 
Daraus entwickelte sich eine lebhafte Diskussionsrunde, auch weil die Teilnehmer aus ganz verschiedenen Anwenderkreisen kamen, vom Agenturchef über den Projektleiter bis hin zum Redakteur und Hobby-Anwender.

Mautic Marketing Automation (Jurian Janssen)

Mautic ist ein Open Source Tool für Markering-Kampagnen, Lead-Generierung, E-Mailmarketing etc. Es wurde eine TYPO3-Extension vorgestellt, die Mautic mit TYPO3 verknüpft. An Hand von Personas können Inhalte gezielt nur für bestimmte Zielgruppen ausgespielt werden. Ext:form Formulare können mit wenigen Klicks mit Mautic-Formularen verknüpft werden.

Best Practice Integration (Benjamin Kott)

Auch diese Session war als Frage-Antwort-Runde gedacht. Benjamin versuchte, alle Fragen der Teilnehmer rund um das Thema "Website Integration in TYPO3" zu beantworten. Da waren für die meisten sehr viele Tipps und Tricks mitzunehmen.

TYPO3 v9 PSR-7 PSR-15 (Susanne Moog)

PSR steht für PHP Standard Recommendation und stellt Empfehlungen für PHP-Skripte und Programme dar. 
So ist zum Beispiel mit TYPO3 7.6 PSR-2 eingeführt worden, womit alle Tab-Einrückungen durch 4 Leerzeichen ersetzt wurden und die geschweiften Klammern von Klassen und Methoden in die nächste Zeile rutschten. 
PSR empfiehlt aber nicht nur bestimmte Schreibweisen, sondern gibt auch Empfehlungen, wie man bestimmte Aufgaben wie Autoloading, Caching, Log-Meldungen und HTTP-Requests vereinheitlichen kann. 
Mit PSR-7 hat TYPO3 eine austauschbare Schnittstelle für HTTP-Anfragen und mit PSR-15 die Middlewares eingeführt. 
Als Beispiel für Middlewares hat Susi uns eine Programmierung gezeigt, die einen Request an das TYPO3-System abgreift und diesen an das völlig von TYPO3 losgelöste PHP-Framework Symfony weiter leitet. Dort angekommen, hat sich nun Symfony um den weiteren Prozess des Requests und die Ausgabe der Daten gekümmert. 
In einem anderen Beispiel zeigte Susi, wie man mit Middlewares den aktuellen HTTP-Header verändern kann, um innerhalb von TYPO3 unterschiedlich auf diesen Request reagieren zu können. Mit diesen Middlewares ist TYPO3 das erste CMS, das überhaupt Middlewares unterstützt. 
Susi zeigte uns einen Request an ein TYPO3-System, dass dann den Request an Symfony übergab, um die Daten zu holen, um diese dann wieder im TYPO3-Request mittels Fluid aufbereitet ausgeben zu lassen.

Doctrine DBAL (Jan Helge)

Mit TYPO3 8 wurde der Database Abstraction Layer von Doctrine in TYPO3 implementiert. Die lang ersehnte Ablösung für die TYPO3 eigene Lösung EXT:dbal ist in der PHP Community vielfach anerkannt und wird kontinuierlich weiterentwickelt. Jan hat uns gezeigt, wie man die neue API von Doctrine verwendet und wie die alten TYPO3_DB Queries in Doctrine umzuschreiben sind.

TYPO3 V9 Vorstellung (Mathias Schreiber)

TYPO3 9 kommt wieder mit einer großen Anzahl von neuen Features. Mathias hat uns die Wichtigsten vorgestellt. Dazu zählen das neue AdminPanel, das komplett neu designed wurde und auch unter der Haube eine völlig neue API besitzt.
Mit dem neuen Seiten-Modul kann jeder Seitenbaum individuell konfiguriert werden. Dazu zählen individuelle Sprachen, URL-Einstellung und das langersehnte Feature der individuellen 404-Fehlerseiten.
Seiten-Weiterleitungen mussten bisher über die .htaccess-Datei oder nginx-Konfiguration gelöst werden. Nach ein paar konfigurierten Weiterleitungen wird die Datei schnell unübersichtlich, weshalb das neue Redirect-Modul implementiert wurde. Hier haben auch Redakteure endlich eine zentrale Stelle für Weiterleitungen erhalten.

TYPO3 & Agenturen (Mathias Schreiber)

Diese Session war eigentlich als kleine Austauschrunde geplant, um zu besprechen, was TYPO3 noch für Agenturen machen kann. Aus dieser kleinen Austauschrunde wurde jedoch ein komplett gefüllter Raum. Matthias erzählte von all den Features, die in letzter Zeit in TYPO3 implementiert wurden. Dazu zählen die integrierten SEO-Tools, die neue Anbindung von Google AdWords und das automatische Einbinden von diversen Meta-Tags "by default". Mit dem neuen Seitenmodul wird so viel Arbeit abgenommen, dass man eine TYPO3-Seite mit nur 2 Zeilen TypoScript betreiben kann. 
Da kam schon die Frage auf, was Agenturen denn mit all der neu gewonnen Zeit nun machen würden? 
Etwas schockierend kam die Aussage “Wir wären mit Veröffentlichung der 10er Version dann mit TYPO3 eigentlich fertig” rüber.
Wir lassen diese Aussage mal so im Raum stehen.

Coders Care: Die Geschichte vom Werkzeugmacher (Jo und Petra Hasenau)

Da haben sich die beiden aber mal richtig Arbeit gemacht und die Probleme der oftmals unbezahlten Arbeit und der daraus resultierenden langsameren oder eingestellten Entwicklung von Extensions in einer sprichwörtlichen Geschichte vorgeführt.
Mit dieser Geschichte haben Jo und Petra einen erstklassigen Bogen zu Ihrem neuen Produkt "Coders Care" geschaffen. Firmen können hier SLAs für Extensions erwerben. Der monatliche Beitrag geht dann an überwiegend freiberufliche TYPO3-Entwickler, die sich dann um Aktualisierung der alten und/oder nicht mehr supporteten Extensions kümmern.

Das als kurzer Überblick über ein paar der Sessions, die wir besuchen konnten.
Der Samstag Abend stand natürlich im Zeichen des "Networkings" und "Socializings", sprich: es wurde gefeiert, diskutiert, sich unterhalten und das schon etablierte "TYPO3 Whisky Tasting" fehlte natürlich auch nicht.

Wir möchten uns auch hier nochmal bei allen bedanken, die dieses Camp ermöglicht haben: alle Sponsoren, das gesamte Orga-Team, die vielen freiwilligen Helfer und natürlich alle Teilnehmer, die solche Camps jedes Mal zu etwas Besonderem machen.
 

Die Twitter-Wall zum Camp

Die "Twitter-Wall" zum Camp

Karen Falkenberg begrüßte alle Teilnehmer

Karen Falkenberg begrüßte alle Teilnehmer

Der Raum zur Sessionplanung war sehr gut gefüllt

Der Raum zur Sessionplanung war sehr gut gefüllt

Jeder Teilnehmer konnte beim Ticketkauf seine Hashtags angeben. Das kam dabei raus.

Jeder Teilnehmer konnte beim Ticketkauf seine Hashtags angeben. Das kam dabei raus.

Armin Vieweg in seiner Session über Deployable Records

Armin Vieweg in seiner Session über "Deployable Records"

Jo Hasenau in Action

Jo Hasenau in Action

Das Hacker Jeopardy

Das Hacker Jeopardy

Stefan, Jochen und Wolfgang

Stefan, Jochen und Wolfgang