Recap: TYPO3 Developer Days 2023 in Karlsruhe
Von der Marketing Factory Consulting GmbH haben an den #t3dd23 Sebastian Klein (sk), Ingo Schmitt (is) und Christian Spoo (cs) an der Entwickler-Konferenz teilgenommen. In diesem Blog-Beitrag haben wir die einzelnen persönlichen Berichte zusammengefasst.
Der Mittwoch – Anreise
Die Anreise mit der Bahn gestaltete sich – sagen wir mal – spannend. Während ich bereits mittags für ein TYPO3 Business Control Committee Meeting angereist bin, sind Sebastian und Christian zum Abend nachgekommen. Wie bereits im letzten Jahr bot die Bahnfahrt bereits die ersten ungeplanten Überraschungen. Das gemeinsame Abendessen haben wir in einer nahen Vereinsgaststätte eingenommen – die Idee hatten einige andere Teilnehmer auch, so dass alle Tische im Restaurant von TYPO3lern belegt waren. (is)
Das Ambiente
Die diesjährigen Developer Days fanden – wie bei den beiden Ausgaben zuvor – wieder in Karlsruhe im GenoHotel statt. Es waren die größten Developer Days in Karlsruhe, einige der 353 Teilnehmer mussten sogar in auswärtigen Hotels übernachten. Obwohl der Konferenzbereich gut gefüllt war, gab es genügend Platz für Gespräche und das gemeinsame Arbeiten an Themen. Es wurde sogar ein Ruheraum eingerichtet, in dem man sich bei Bedarf zurückziehen konnte. Neu war ein zusätzlicher – nicht ganz so ruhiger – Raum, in dem man sich bei einer Runde Air-Hockey zwischen den Programmpunkten austoben durfte. Die Developer Days sind eine englischsprachige Konferenz. Obwohl 80 % der Teilnehmer aus dem DACH-Raum kamen, waren alle Talks und jegliche offizielle Kommunikation auf Englisch. (is)
"Little Gems in TYPO3 v12"
Neben den großen, angekündigten Features bringt TYPO3 v12 einige kleinere Neuerungen mit, die im Alltag aber dennoch hilfreich sein können.
Jigal van Hemert hat eine Auswahl für uns zusammengestellt, die von Konfigurationen über Templating bis zu API-Änderungen reicht. Für uns in einigen Projekten interessant ist der neue "Country Select"-ViewHelper, mit dem sich eine Länderauswahl z. B. in Kontaktformularen sehr flexibel einrichten lässt. Der ViewHelper basiert auf Debians ISO-Code-Liste, die nun als CountryProvider-Klasse im TYPO3 Core mitgeliefert wird. Das macht veraltete Ansätze wie static_info_tables
auf Sicht endlich obsolet.
Auch auf die jetzt als deprecated gekennzeichneten Magic Methods in Extbase Repositories (findBy<Property>()
) wurde hingewiesen. (sk)
Slides: Little Gems in TYPO3 v12
"TYPO3 mysteries"
Aus Fehlern lernen – unter diesem Motto habe ich in meinem Talk “TYPO3 Mysteries” verschiedene Problemfälle vorgestellt, deren Ursache dann die Teilnehmer erraten konnten. Es war durchaus spannend zu sehen, wie unterschiedlich die Teilnehmer auf der Suche nach der Fehlerursache vorgegangen sind.
Das Ratespiel hat mir als Quizmaster viel Spaß gemacht. Laut dem Feedback, das ich erhalten habe: den Teilnehmern ebenfalls. Ich hoffe, der Talk war auch für andere eine Ermutigung, über die eigenen Fehler und das, was man gelernt hat, zu berichten. Fortsetzung folgt! (is)
Die Coding-Night
Donnerstag Abend stand wieder die Coding-Night an. Nachdem wir letztes Jahr vorrangig an unserer Extension picturecredits gearbeitet haben (stay tuned), wollte ich dieses Jahr einmal mit der Mitarbeit an TYPO3 loslegen. Man kann ja nicht immer nur kritisieren, ohne auch mal was zu liefern. ;-)
Die Demo-Installation zur Core-Entwicklung war dank des Contribution Guides in einer knappen Stunde inkl. der kompletten Entwicklungs-Toolchain aufgesetzt. Für den Einstieg habe ich mir zugegebenermaßen einige etwas übersichtlichere Tickets ausgesucht und mich zunächst auf die Behebung von Bugs konzentriert. Teilweise fanden sich dabei sogar Probleme, die in solch altem Code versteckt waren, dass ich davon ausgehe, dass der Fehler schon in etlichen TYPO3-Versionen in dieser Form enthalten gewesen sein musste. Nach der Einreichung eines Patches wurde dieser dankenswerterweise sogar sehr schnell akzeptiert, sodass ich am Abend nicht nur meinen ersten Core-Patch, sondern gleich auch meinen ersten Core-Merge verzeichnen konnte. Jetzt heißt es natürlich: am Ball bleiben und immer mal wieder in den Issue-Tracker schauen, ob es passende neue Aufgaben gibt. (cs)
"Boosting Performance: Unleashing the power of varnish in TYPO3"
Einer der wenigen Talks, den ich mir anschauen konnte. Mich hat das Thema insbesondere interessiert, da wir bereits für viele Projekte Varnish als Caching-Proxy einsetzen, um die Performance zu steigern. Sascha Nowak hat in dem Talk eine neue Varnish-Extension für TYPO3 vorgestellt (https://github.com/netlogix/nxvarnish), welche Edge Side Includes (ESI) unterstützt. Somit ist es etwas einfacher, dynamische Inhalte in statische Seiten einzubinden, da das so schon serverseitig geschehen kann. Darüber hinaus nutzt die Extension Cache-Tags anstatt URLs zur Markierung der Elemente im Cache-Pool. Die Invalidierung von Inhalten ist somit auch bei geänderter URL oder mehreren URLs zum gleichen Content möglich.
Ich hab da schon ein Projekt im Kopf, bei dem ich mir diese Extension genauer anschaue… (is)
"Enhance your TCA - how to write your own renderTypes"
Wer Backend-Felder mit TCA einrichtet, kann bereits aus einigen Feldtypen in TYPO3 wählen. Manchmal könnten bzw. müssten Inhalte für den Redakteur aber individuell besser aufbereitet werden – und hier hilft die Einrichtung eigener renderTypes.
Frank Berger zeigte uns, was hier alles möglich ist: vom Rendern eines Base64-Bildes bis zur Ausgabe eines Infosheets in tabellarischer Form inkl. Daten aus einer anderen DB-Tabelle. Für ein solches Infosheet habe ich schon ein Projekt im Auge.
Seine Vorträge hält Frank immer praxisorientiert, was mir persönlich sehr gefällt. Neben Slides wechselt er häufig in seine IDE, aktiviert schrittweise Funktionen und erläutert direkt anhand des Codes. (sk)
Slides: Enhance your TCA - how to write your own renderTypes
Demo: GitHub: codeseveneleven/talk-rendertypes
"State of CSS 2023"
In diesem sehr unterhaltsamen (und wieder gut besuchten) Talk zeigte Benjamin Kott, was mit CSS heutzutage möglich ist. Im Vorjahr waren einige der gezeigten Features noch in Entwicklung. Inzwischen wird vieles von den modernen Browsern unterstützt, sodass dem praktischen Einsatz in Kundenprojekten nichts mehr im Wege steht.
Präsentiert wurden unter anderem Container Queries, der has()
Selektor, Color-Mix-Funktionen und Text-Clipping.
Ich kann jedem nur empfehlen, Benjis Demo zu installieren und sich durch die anschaulichen Beispiele zu klicken. (sk)
"Content Security Policy - Concept, Strategies & Pitfalls"
Das für mich mit Abstand wichtigste Feature in TYPO3 v12: die Implementierung des HTTP Security Headers "Content-Security-Policy" (kurz: CSP) direkt in TYPO3! Die CSP kann – sofern richtig angewendet – Cross-Site-Scripting wirkungsvoll unterbinden.
Freut euch daher auf folgende Funktionen:
- Feature-Flags, um das CSP-Handling für Backend und/oder Frontend zu aktivieren
- Ein Policy-Builder, mit dem sich der CSP-Header (via YAML und PHP) einrichten und (z. B. über Extensions) erweitern lässt
- Ein Backend-Modul, in dem Verstöße gegen die CSP-Direktiven (nach Scope filterbar) gelistet werden
In seinem Talk hat Oliver Hader, der auch für die Implementierung verantwortlich war, nicht nur die CSP und die neuen Konfigurationen präsentiert. Vor allem hat er Fragen in den Raum gestellt: Wie wird eine CSP in der Praxis von uns angewendet? Das TYPO3 Core Team benötigt unser Feedback, um das neue CSP-Feature für TYPO3 v13 auszubauen und ggf. zu korrigieren.
Ein Beispiel: TYPO3 kann jetzt Nonces ("number used once") generieren, um dynamisch generierte JavaScript-Blöcke in der CSP zu erlauben. Diese zufällige Nummer muss bei jedem Seitenaufruf neu generiert werden. Das hat Auswirkungen auf das Caching im Frontend: Die Seite ist zwar weiterhin gecacht, verhält sich aber wie bei einem COA_INT
, was zu einer etwas längeren Ladezeit führen kann.
Eine denkbare Alternative wäre die automatische Berechnung von Hashes für die Inline-Skripte. Das kann auch nach dem Rendern der Seite noch erfolgen, wodurch diese gecached werden könnte. Wir werden das Thema aufmerksam weiter verfolgen.
Erkenntnisse, Feature Requests und weiteres Feedback können auf forge.typo3.org gemeldet werden. (sk)
Video: YouTube: Content Security Policy - Concept, Strategies & Pitfalls
CSP-Simulator: GitHub: ohader/csp-simulator
Der Samstag
Da wir zur Hochzeit unseres Kollegen Dennis eingeladen waren, sind wir Samstagmorgen frühzeitig abgereist. Die Deutsche Bahn meinte es diesmal gut mit uns – wir kamen rechtzeitig zur Trauung an! Es war eine sehr schöne gelungene Feier, die wir nicht haben missen wollen. 🍾
Die Talks am Samstag haben wir daher logischerweise nicht verfolgt. Den Vortrag "Let’s talk about accessibility in a real-life experience" von Franziska Sgoff werde ich mir im aufgezeichneten Livestream anschauen.
Andreas Fernandez’ Talk "TYPO3 Backend JS in 2023" sowie "Introduction to JavaScript Import Maps" von Benjamin Franzke wurden nicht aufgezeichnet, daher bin ich sehr froh über die erläuternden Slides mit Code-Beispielen. (sk)
Slides: TYPO3 Backend JS in 2023
Slides: Introduction to JavaScript Import Maps
Fazit
Die TYPO3 Developer Days 2023 haben uns gezeigt, dass die Community von TYPO3 sehr aktiv ist und viele (neue) Entwickler anzieht. Die Inhalte und die Qualität der Themen in den Talks waren durchweg gut. Es zeigt sich in den letzten Jahren ein deutlicher Aufwärtstrend, was auch mit der zunehmenden Professionalisierung des Produktes und der Community zusammenhängt. Wir sind happy, dass wir mit und an TYPO3 arbeiten können.
Übrigens: Die von Sebastian und Christian auf der Coding-Night bearbeiteten Verbesserungen sind bereits jetzt schon Teil des TYPO3-Cores und wurden mit dem Release 12.4.5 veröffentlicht.
Wir freuen uns, wenn Ihr diesen Beitrag teilt.
Kommentare
Keine Kommentare gefunden.