Dries Buytaert presenteert over DrupalCon 2019 Amsterdam

De laatste trends en ontwikkelingen uit Drupal Europe

In september vond Drupal Europe plaats, het grootste Drupal congres van Europa. Tot op heden was dit DrupalCon, wat ook in VS en Azië plaatsvindt. Vorig jaar werd bekend gemaakt dat DrupalCon in Europa een andere vorm krijgt en 2018 zou overslaan. De open source gemeenschap in Europa vult het gat op door dit jaar zelf een Europees te organiseren. Op het evenement komen ca. 2000 Drupal ontwikkelaars, professionals en geïnteresseerden af. LimoenGroen was met een team van 8 mensen op Drupal Europe aanwezig. Hier lees je de ontwikkelingen en highlights die ons zijn opgevallen.

Drupal Europe is een 5-daags internationaal congres met presentaties en werksessies. Traditioneel wordt er samengewerkt aan Drupal en is er een leuk sociaal programma waarbij netwerken, bijpraten en plezier hebben centraal staat. Dries Buytaert, projectlead en oprichter van Drupal was ook aanwezig. In zijn keynote geeft hij een overzicht van de laatste strategische ontwikkelingen op het gebied van Drupal en inzicht in de Drupal roadmap voor de komende jaren. Drupal Europe staat ook in het teken van landen-overleggen op het gebied van technische ontwikkelingen, marketing en internationale samenwerking. De week werd afgesloten met contribution sprints, waarin ontwikkelaars samenwerken aan de volgende Drupal release.

Kubernetes and Helm

Professionele Drupal hosting is in veel verschillende vormen en maten verkrijgbaar. Goed om te zien welke rol Kubernetes en Helm kunnen spelen in de mogelijkheden en de workflow van hosten en webdevelopment. Florian Loretan, CTO bij Wunder gaf hierover een presentatie op Drupal Europe:

Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications. It groups containers that make up an application into logical units for easy management and discovery. Kubernetes builds upon 15 years of experience of running production workloads at Google, combined with best-of-breed ideas and practices from the community.

Helm helps you manage Kubernetes applications — Helm Charts helps you define, install, and upgrade even the most complex Kubernetes application. Charts are easy to create, version, share, and publish — so start using Helm and stop the copy-and-paste madness. The latest version of Helm is maintained by the CNCF - in collaboration with Microsoft, Google, Bitnami and the Helm contributor community.

De essentie is dat elke ontwikkelaar op eenvoudige wijze een eigen omgeving op moet kunnen zetten. Hier wil Wunder een open source oplossing voor maken, zonder dat het gebonden is aan een hosting product. De setup is in onze beleving geschikt voor medium traffic websites. In de presentatie werd een oproep gedaan om aan te sluiten bij de werksessie om de oplossing gezamenlijk verder af te maken.

Out of the Box is Out of the Box

Out of the Box Initiative is ontwikkeld om (nieuwe) gebruikers een betere eerste indruk te geven van de mogelijkheden van Drupal en is nu ook bekend onder de naam Umami. Vanaf Drupal 8.6 zit dit installatieprofiel als stabiele versie in Drupal Core. Mark Conroy, Keith Jay en Elliot Ward presenteerden de ontwikkelingen van Out of the Box.

Tijdens de bouw van Umami, de nieuwe kant-en-klare demo-installatie van Drupal, is er alleen gebruik gemaakt van stabiele Drupal Core features. Maatwerk is zo minimaal mogelijk gehouden. Ook zijn de Drupal Core ontwikkelstandaarden strikt aangehouden. Dit waren niet de enige uitdagingen; zo liepen de initiatiefnemers tegen de verschillende interpretaties van taalgebieden aan, bijvoorbeeld bij het benoemen van eenheden. Er waren ook accessibility issues. En licenties van afbeeldingen moesten geregeld worden. Er is tevens geen terugwaartse compatibiliteit. Daarmee is Umami slechts bedoeld voor demonstratie doeleinden.

De media implementatie, ondersteuning voor flexibele layouts, ondersteuning voor website migratie, een tour en meertaligheid staan nog op de roadmap.

Build Decoupled Applications with Gatsby & Drupal

Gatsby zorgt er voor dat alleen dat wat je echt nodig hebt in de pagina komt. Dus geen overbodige code, zo min mogelijk calls en een prefetch/precache. Er wordt ook gebruik gemaakt van preload links tijdens scrollen door listings. Zo zorg je ervoor dat de site razendsnel is. Gatsby kan overal data ophalen en hier een disposable GraphQL source van maken. Het schrijft alle html weg zodat de site extreem snel te laden is en er geen real time calls naar Drupal nodig zijn.

Joe Shindelar, Webmaster bij Drupalize.me presenteerde op Drupal Europe de ins en outs van dit slimme stukje techniek. Wat wij wel interessant vinden is dat Gatsby build via de API (jsonapi) de website uitleest en alle pagina’s genereert die je opgeeft. Omdat Gatsby een React app is beschik je ook over alle voordelen van React. Denk aan Hybrid pages, placeholders die worden vervangen op het moment van serveren. Het markeren van favorieten is hier een mooi voorbeeld van.

Decentralized Drupal: The decoupled Drupal endgame

Preston So, Director of Research and Innovation bij Acquia gaf op Drupal Europe een deep dive in het decoupled maken van Drupal. Preston vertelt over een decentralized web, waar iedereen volledige zeggenschap heeft over zijn/haar eigen data en ten allen tijde toegang tot zijn/haar data kan ontzeggen. Dit principe zou ook toegepast kunnen worden op Drupal. Dat je voor alle data aan kunt geven hoe het gebruikt kan worden. Denk aan verschillende kanalen (Voice, native app, mobile web, etc.), maar ook binnen Drupal, wat mag Views gebruiken, wat mag REST gebruiken.

Een van de nadelen hierbij is dat iedereen in principe een eigen webserver moet hebben, wat weer zou kunnen leiden tot een partij die deze markt beheert. Alles bij elkaar is dit in de nabije toekomst niet haalbaar en of we dit ooit kunnen realiseren is ook de vraag. Wel duidelijk is dat de grote vier (GAFA: Google, Apple, Facebook, Amazon) de persoonlijke data markt domineren en dat de wereldbevolking geen keuze heeft in hoe deze bedrijven persoonlijke data gebruiken.

Human side of technological transition

Peter Keppert is Head of Webdevelopment bij Ferratum. Ferratum heeft de stap naar decoupled gemaakt en heeft een gedistribueerd team van ontwikkelaars over meerdere vestigingen. Na een Proof of Concept door een separaat team moest de nieuwe stack van Angular 6, Drupal 8,  NodeJS en GraphQL in de organisatie worden uitgerold. De fouten en de lessons-learned werden door Keppert op Drupal Europe gepresenteerd.

Fouten maken geeft onzekerheid en demotivatie. Daarom zorgt Ferratum voor een ‘blameless attitude’. Zie fouten als een mogelijkheid om te leren en zorg voor een goede work-life balance, zodat als het op het werk tegen zit, je nog een leven hebt om op terug te vallen.

Een andere aandachtspunt is wanneer een klein team met 1 specialisme per persoon geen alternatief biedt als er iemand uitvalt. Goede documentatie van waarom een beslissing genomen is met daarbij de gekozen best practices en workflow is hiervoor een goede oplossing.

Down the rabbit hole: containerizing your Drupal site on Kubernetes and deploying it the blue/green way

In een hoog tempo nam Nils Peeters, DevOps Enthusiast en werkzaam bij ScaleCity op Drupal Europe ons mee door de basics van Kubernetes en containerizing Drupal. Nils is een technisch expert, die alle vragen kan beantwoorden. Wat ons betreft was dit de duidelijkste uitleg van Kubernetes en de mogelijkheden tot nog toe. En ook de snelste.

De mogelijkheid om makkelijk en snel te deployen, inclusief automatic rollbacks (met de juiste health checks) is zeer interessant. Ook interessant zijn canary releases: Doe een release op een nieuwe URL gebaseerd op live data (exacte kopie) en doe hierop test en acceptatie. Zodra deze goed is gekeurd is het een kwestie van het URL goed zetten en alles gaat over de nieuwe release.

Decoupled Drupal: Implications, risks and changes from a business perspective

Fully decoupled is een ontwikkeling waarbij alle interactie afzonderlijk geïmplementeerd wordt. Denk aan comments, exposed filters in Views of webforms. In Drupal wordt dat standaard door de modules gedaan. In fully decoupled moet iedere interactie in de frontend geïmplementeerd worden. JS-code hiervoor komt langzaam beschikbaar. Een voordeel van fully decoupled is dat twee teams (ook extern) onafhankelijk hun werk kunnen doen; het contract is het GraphQL-schema. Michael Schmid, CTO bij Amazee presenteerde op Drupal Europe hoe zij decoupled ontwikkelingen inzetten.

React is een investering. Amazee heeft in totaal ongeveer 250k-350k euro geïnvesteerd in deze innovatie en dat stopt niet want JS ontwikkelt zich snel. Iedereen up-to-speed krijgen kost tijd en geld. Amazee heeft iedere developer opgeleid in React door in-house workshops, code camps en training door eigen mensen te organiseren. Het vinden van een Drupal React ontwikkelaar is zeer moeilijk, het vinden van ontwikkelaar met React-kennis lukt wel.

Het verschil tussen React en Vue is veel kleiner dan bijvoorbeeld tussen Wordpress en Drupal. Dus eenmaal up to speed in React dan kun je makkelijker andere frontend frameworks inzetten. Wanneer de klant vraagt om een fully decoupled website, dan moet je de klant duidelijk maken dat sommige dingen langer zullen duren dan ze gewend zijn met Drupal (interacties als comments, etc). React wordt door klanten gezien als Enterprise.

Decoupling Drupal with GraphQL & Twig

Component based design (waaronder Patternlab) is moeilijk in Drupal twig te implementeren. Door de geneste structuur van de templates en de pre-process layer is de Drupal front-end sterk verbonden met de backend. Philipp Melab, co-maintainer van GraphQL-module gaf hierover een heldere presentatie op Drupal Europe.

Met de graphql twig-module kan binnen een template een data-query worden uitgevoerd waarmee binnen de template wordt bepaald welke data wordt opgehaald. Dit kunnen bijvoorbeeld in een Node-template de met de node gerelateerde artikelen zijn. Deze manier van werken lijkt sterk op manier waarop in een (echte) decoupled front-end data wordt opgehaald die in een (React-)component wordt weergegeven. Door een GraphQL schema toe te voegen wordt er voor gezorgd dat de keys (bijv. de veldnamen) in een template niet zullen veranderen als de onderliggende data-attributen wel veranderen.

Europese Splash Awards

Een mooie aanvulling op het congres was de Europese Splash Awards. Winnaars uit diverse landen die de Splash Awards organiseren, deden met hun inzendingen mee met de prijsuitreiking waar uitmuntende Drupal projecten worden onderscheiden. LimoenGroen won in de categorie Publishing en Media de Europese Splash Award voor Jinek. De manier waarop Jinek mensen verbindt op actuele onderwerpen door een naadloze aansluiting van de website op andere kanalen was doorslaggevend.

Thumbnail

 

24Kitchen Drupal showcase

24Kitchen is hét platform voor alles wat met bewust eten en food lifestyle te maken heeft. 24Kitchen is Europees in verschillende landen te volgen. In Nederland is 24Kitchen het best bekeken themakanaal. In opdracht van de Persgroep en FOX realiseerde LimoenGroen samen met SchaapOntwerpers het nieuwe 24Kitchen.nl.

Baris Wanschers en Imre Gmelig Meijling presenteerden op Drupal Europe de Drupal showcase van 24kitchen.nl. De business doelstellingen, technische uitdagingen en stakeholder management kwamen daarbij aan bod. En over hoe ons zuurdesem brood zorgde voor een snelle start bij FOX en De Persgroep.

DrupalCon 2019

Op Drupal Europe werd de volgende Europese conferentie uitgebreid besproken. Nadat vorig jaar bekend werd dat DrupalCon dit jaar niet Europa zou plaatsvinden, werkten de open source organisaties uit de Europese landen samen om het gat op te vullen met Drupal Europe als resultaat. Op Drupal Europe werd bekend dat DrupalCon in 2019 terugkeert in Europa en in Amsterdam zal plaatsvinden. Het evenement zal in licentie door evenementenorganisatie Kuoni worden georganiseerd, in samenwerking met de Drupal Association en de lokale gemeenschappen. Imre Gmelig Meijling, voorzitter van Stichting Drupal Nederland (Drupal.nl) neemt namens Nederland plaats in de DrupalCon 2019 adviesgroep.

Foto's CC BY-NC 2.0 door Peter Lieverdink (@cafuego)  en Paul Johnson (@pdjohnson)