Blog Header

In de eerste week van augustus werden in Karlsruhe voor de eerste keer weer sinds de corona crisis de TYPO3 Developer Days georganiseerd. Beech was ook aanwezig in de persoon van Arno. Hierbij een kort verslag van TYPO3 DD 2022.

Dag 1: Aankomst & Opening

We staan vroeg op, want de rit naar Karlsruhe liegt er niet om; 4u rijden zegt Google Maps. Dus springen we om 7:15 in de auto om na een rit van 4u en een pauze van een half uur om 11:45 aan te komen in het zonnige Karlsruhe. Zonnig, want het is inmiddels 33 graden. Na het inchecken blijkt dat we kamer nr 333 krijgen toegewezen. Airco is helaas niet aanwezig.

Om half 2 begint het programma, dus om 13u naar beneden om de goodiebag te halen. Een tas boordevol informatie en gadgets; een t-shirt, de code of conduct en een keychain met naamkaartje. Daarna meteen door naar de zaal voor de eerste presentaties.

Het evenement wordt afgetrapt door een keynote van Mathias Schreiber, de CEO van TYPO3, die ons vertelt over de uitdagingen van corona en hoe de TYPO3 organisatie daarmee is omgegaan. Daarna het woord aan Benni Mack, projectleider van het core team van TYPO3, die al een tipje van de sluier oplicht over wat er gaat komen in versie 12 en wat precies de roadmap is.

Inmiddels is het bijna 15u en dus hoog tijd voor een pauze. Dat kennen ze in Duitsland wel; lekker een hartig hapje bij de koffie (of ice-tea natuurlijk).

Na de pauze bezoeken we nog twee presentaties. Mathias Bolt Lesniak spreekt in Journey of the Open Sourcerer over dat je niet bang moet zijn om je steentje bij te dragen aan de open source projecten van TYPO3. Door alleen al aanwezig te zijn en te reageren draag je bij!

De laatste presentatie van de dag komt van twee leden van het UX team; Annett Jähnichen en Rachel Foucard. Ze lichten kort toe hoe TYPO3 probeert om een betere user experience te creëren en hoe dat binnen hun team dan precies in zijn werk gaat. Verder staan ze altijd open voor nieuwe ideeën en zijn ze ook op zoek naar mensen die wat bij willen dragen.
Zie: https://typo3.org/community/teams/user-experience-ux

Dan is het tijd voor het diner en daarna is het mooi geweest. We trekken ons terug om te gaan slapen, wat niet meevalt na een dag met een piektemperatuur van 37 graden.

Dag 2: Iets meer diepte

Dag 2 begint ook weer vroeg. Vooral omdat het nog steeds erg warm is. Dus dan maar snel douchen en ontbijten, want beneden is het een stuk koeler. De eerste presentaties beginnen al om 9u, dus dat schiet ook lekker op.

We beginnen met Building a REST interface in TYPO3 van Thomas Löffler. Dit is een advanced workshop, maar het is heel makkelijk te volgen. Met behulp van Postman doet hij requests naar zijn API extensie en kan zo content uitlezen en wijzigen uit zijn TYPO3 installatie.
Zie: https://git.spooner.io/public-group/rest-interface-t3dd22.

Daarna gaat Frank Berger in Introduction to ReactPHP (Ratchet) and Websockets een chat client bouwen in Javascript en ReactPHP. De basis is heel simpel, maar het werkt allemaal. En natuurlijk kan tegen het einde iedereen inloggen en berichtjes sturen, met een aantal grappige taferelen op de beamer tot gevolg.
Zie: https://code711.de/talks/introduction-to-websockets

We sluiten de ochtend af met een presentatie van Simon Praetorius over The [r]evolution of Fluid Components. Hij heeft een extensie gemaakt die het mogelijk maakt om fluid componenten (kleine herbruikbare stukjes Fluid code) in TYPO3 te maken en deze dan via een styleguide weer te geven. Zo kan de frontend developer tegelijk aan de slag met de backend developer en krijgt de klant al vrij snel een idee hoe de verschillende componenten in zijn website eruit zien.
Zie: https://fluidcomponents.sitegeist.de/

Dan is het tijd voor lunch. En dat is allemaal goed geregeld. Keuze uit 2 verschillende warme gerechten en natuurlijk een toetje.

Na de lunch gaan we naar een presentatie van Sanchit Khurana. Hij vertelt meer over JSON Web Tokens in Demystifying JWT’s. Waarvoor zijn ze te gebruiken, hoe werkt het principe en hoe zorg je ervoor dat je niet in de valkuilen trapt.
Zie: https://www.linkedin.com/pulse/demystifying-json-web-token-jwt-sanchit-khurana, https://www.linkedin.com/pulse/demystifying-json-web-token-jwt-part-2-sanchit-khurana en https://jwt.io

We eindigen de dag met een workshop van Oliver Klee over Test Driven Development (TDD) with PHP Unit. Hij legt de basis principes van TDD uit en na zijn uitleg over test patronen, naamgeving en best practises, mogen we zelf aan de slag in zijn ‘fictieve’ thee applicatie. Na afloop hebben we de opdracht om prijzen aan de modellen toe te voegen netjes afgerond en zelf 9 tests geschreven.
Zie: https://github.com/TYPO3-Documentation/tea/

    /**
     * @test
     */
    public function getTotalPriceWithTeaReturnsTeaPrice(): void
    {
        $tea = new Tea();
        $teaTitle = 'Darjeeling';
        $tea->setTitle($teaTitle);
        $price = 1.50;
        $tea->setPrice($price);
        $this->subject->setTea($tea);

        self::assertSame($price, $this->subject->getTotalPrice());
    }

Dag 3: De laatste loodjes

De hitte is wat afgenomen en de temperatuur buiten is zowaar draaglijk. Toch zijn we weer vroeg wakker. Zal wel te maken hebben met het bed dat toch net niet zo lekker ligt als thuis. Vroeg de douche in en dan weer aan het ontbijt. Even een goede bodem leggen voor de rest van de dag.

De eerste presentatie gaat over Synchronisation of media and TYPO3 data en komt van Thomas Schöne. Deze ontwikkelaar van netresearch vertelt over een extensie die ze geschreven hebben die het mogelijk maakt om data en bestanden te synchroniseren naar test en production omgeving vanuit staging. Hij vertelt over de uitdagingen en hoe ze deze hebben opgelost en verbaast zich verder dat hij na een kwartier al klaar is met zijn verhaal. Wij delen zijn verbazing.
Zie: https://www.netresearch.de/en/blog/content-synchronization-with-TYPO3-extension-nr_sync

Benjamin Kott heeft het in zijn presentatie Modern CSS over nieuwe CSS technieken. Containment, variabelen en cascade layers zijn technieken eruit springen. Als het goed is kunnen deze technieken voor het eind van het jaar in alle belangrijke browsers worden toegepast.
Zie: https://github.com/benjaminkott/moderncss-demos en https://wpt.fyi

Voor de lunch nog even bij de presentatie Rethinking translation handling - The Results. Hierin worden de resultaten van de workshop Rethinking translation handling van donderdag besproken. De aanwezigen werden in 6 groepen verdeeld met elk een net iets andere rol en ze konden aangeven wat ze wel en niet goed vinden en wat ze graag toegevoegd zouden zien in het TYPO3 vertalingen gebeuren. Iedereen is het er wel over eens dat de default language eruit moet. Verder wordt er nog niks concreet besloten maar gaan ze eerst kijken waar precies de problemen zitten in het huidige systeem voor ze naar oplossingen gaan zoeken.

Na de lunch (spaghetti bolognese!) is er weer een presentatie van netresearch. Tobias Hein  vertelt over de uitdagingen van een Multi-Stage TYPO3 Setup at an autoscaling Multi-Instance Cloud Environment (AWS Fargate). Een pittige presentatie over het gebruik van meerdere omgevingen en instances in een cloud omgeving en welke problemen en oplossingen hierbij komen kijken. Vooral gericht op het opzetten van de infrastructuur.

Daarna een interessante presentatie van Oliver Bartsch over New APIs in TYPO3 v12. Hij zet de nieuwe mogelijkheden en veranderingen in TYPO3 v12 uiteen. Events (PSR-14, zie: https://www.php-fig.org/psr/psr-14/) gaan (een aantal) hooks te vervangen, nieuwe TCA velden om configuratie makkelijker (denk aan TCA types als datetime, e-mail en password) te maken en mogelijkheden om modules makkelijker te implementeren.
Zie: https://docs.TYPO3.org/c/TYPO3/cms-core/main/en-us/Changelog-12.html

Het is inmiddels bijna 16u en dus hoog tijd voor een koffie break. Met een hartig hapje erbij natuurlijk :)

De laatste presentatie van de dag komt van Frank Berger en gaat over caching. In Making The Caching Framework Work For You maakt hij in makkelijk te volgen stappen een blog met commentaar mogelijkheid en laat zien hoe de default caching kan worden omzeild en naar je hand gezet kan worden in een custom implementatie.
Zie: https://code711.de/talks/make-the-caching-framework-work-for-you

Hierna is het weer tijd om huiswaarts te keren.

Ik heb me prima vermaakt op de Developer Days. Alles was goed georganiseerd en er waren een aantal leuke workshops en talks. Zie ook de livestreams op Youtube. Voor mij was dit de eerste kennismaking met TYPO3 en door de Developer Days is het wel een beetje gaan kriebelen om hier verder mee aan de slag te gaan. Wordt hopelijk vervolgd!

Lees meer