08 sep

TYPO3 Developer Days 2016, Vrijdag

De jaarlijkse TYPO3 Developer Days 2016 zijn weer achter de rug. 4 dagen lang ontmoetten developers van over de hele wereld elkaar in Nürnberg om kennis te delen. Uiteraard was MaxServ erbij! Ben je niet geweest en/of wil je graag weten wat er besproken en gedaan is? Houd dan onze blog deze week goed in de gaten. Gisteren is er verslag gedaan van de donderdag door Richard Vollebregt. Vandaag wordt er verslag gedaan door Richard Haeser van de vrijdag. 

Zoals ook de voorgaande dag, begon de vrijdag om 9.00 met de lightning talks waarin de inhoud van de presentaties voor de volgende sessie-ronde werd gepresenteerd. Er viel deze ochtend echter weinig te kiezen voor de aanwezige MaxServ-medewerkers. Tijdens deze ochtend was namelijk de certificering voor TYPO3 Certifiied Developer waaraan we alle drie meededen en dus werd de tijd aan het doornemen van de laatste zaken besteed. In een later blogbericht zal ik terugkomen op de certificering en wat deze precies inhoudt. 

Na de zoals gebruikelijk goed verzorgde lunch, was het weer tijd voor de volgende lightning talks met de presentatie van de inhoud voor de volgende ronde. Met mijn persoonlijke interesse voor automated testing was de keuze vrij simpel en besloot ik te gaan voor de presentatie over geautomatiseerde browser testing door Mathias Schreiber en Christian Kuhn. 

Geautomatiseerde browser-tests

De presentatie begon met een uitleg over browser-tests en wat je er mee kunt controleren. In het kort komt het er bij browser-tests op neer dat je test of er in een browser gebeurt wat je ook verwacht dat er gebeurt. Denk aan zaken als: “Verandert de kleur van mijn knop als ik er met mijn muiscursor overheen ga?” En: “Krijg ik een foutmelding als ik niets invul in een verplicht veld?” 

Sinds versie 8 van TYPO3 CMS bevat het basispakket (de 'core') ook een aantal van deze automatische browser tests en dit gaat steeds verder uitgebreid worden. Het voordeel van automatisch testen is dat bij iedere wijziging die gedaan wordt, geheel automatisch gekeken wordt of het systeem nog wel blijft werken. Deze browser-tests doen het visuele deel van deze tests. 

Naast dat deze tests in de core worden toegepast, is het systeem ook gereed gemaakt om te gebruiken bij TYPO3-extensies. Op die manier wordt een mogelijkheid geboden om zonder al te veel onderzoekskosten, toch ook geautomatiseerde browser tests uit te voeren. Bij MaxServ gaan we nu eerst een aantal tests schrijven voor de core. Vervolgens kunnen we dit actief aan onze klanten gaan aanbieden.

Er kan bij de bouw of doorontwikkeling altijd iets misgaan. Het liefst weten we dat als eerste; niemand wil graag dat een bezoeker van een site fouten moet opmerken. Door tests te maken voor de belangrijke onderdelen in de website, kan dit voorkomen worden.

Kortom, een erg leerzame sessie waarmee we ook direct aan de slag kunnen.

Homestead

Tijdens de sessie over geautomatiseerde browser-tests heeft collega Michiel zijn presentatie gegeven over zijn lokale ontwikkelomgeving, Homestead. Met deze oplossing kan er eenvoudig een virtuele server op de lokale pc geïnstalleerd worden, waarbij ook automatisch TYPO3 geleverd wordt. Op deze manier kan een ontwikkelaar binnen een paar minuten een lokale omgeving hebben waarop hij uitbreidingen kan maken, maar ook zijn extensie kan controleren. De workshop, die Michiel al eerder heeft gegeven, werd ook hier goed ontvangen.

Modern Javascript

Na de eerste ronde met sessies was het tijd voor de volgende workshop. Tijdens de 'double slot' workshop 'Hands on modern JavaScript', legde Marco Emrich uit dat je vandaag de dag eigenlijk geen jQuery meer nodig hebt. Omdat bijna alle browsers nu dezelfde JavaScript mogelijkheden hebben, heb je geen libraries meer nodig die hier een laag overheen leggen. Het is het snelste om zogenaamde 'Vanilla' JavaScript te schrijven. Op sites als caniuse.com kun je de browser-ondersteuning bekijken. In het eerste deel van de workshop maakten we kennis met diverse nieuwe object georiënteerde constructs in ECMAScript 6. Zo kun je in JavaScript tegenwoordig Classes en Namespaces gebruiken. Ook kun je gebruikmaken van diverse handige Array prototypes zoals 'filter', 'every', 'some', 'map' en 'reduce'. Een aantal van deze kun je overigens al vanaf ECMAScript 5 gebruiken. In combinatie met de pijl notatie voor functies, kun je hele compacte, maar toch leesbare code schrijven.

Dit alles konden we zelf ervaren door stap voor stap en Test-Driven een boter, kaas en eieren spel te programmeren. Hierbij moesten we steeds meer van deze nieuwe technieken toepassen. Omdat ik normaal veel met PHP bezig ben, heb ik op deze workshop veel nuttige dingen geleerd. Ik ben nog een tijd bezig geweest met het verder uitbouwen van het spel.

Na het diner was het tijd voor de traditionele coding night. Deze avond en nacht staan in het teken van het bijdragen aan de core van TYPO3. Voor de mensen die nieuw waren in het bijdragen aan de core, waren er diverse workshops om te leren hoe je kunt bijdragen. Daarnaast waren er verschillende onderwerpen vanuit het core-team waaraan gewerkt zou gaan worden en kon je aansluiten bij één van de groepen. Daar ik zelf al bezig was met het mogelijk maken van responsive images binnen standaard TYPO3 elementen, was de groep “Improve (responsive) image handling” de meest voor de handliggende keuze. Samen met collega Michiel en een aantal andere ontwikkelaars en core-developers heb ik gekeken naar de wensen omtrent de functies voor de bewerking van afbeeldingen in het CMS. Tijdens deze avond hebben we direct een aantal kleine verbeteringen doorgevoerd die je binnenkort in de nieuwe versies van TYPO3 kunt verwachten en het zal niet ophouden na deze avond! Wil je weten welke onderdelen zullen worden behandeld? Kijk dan op https://forge.typo3.org/issues/77810 om de status te bekijken.

Houd ons in de gaten!

Benieuwd wat we zaterdag gedaan hebben? Lees dan morgen de blogpost van Michiel Roos.

Geschreven door:

  • Richard Haeser

    Development Lead / Certified TYPO3 specialist