DrupalCamp Ghent 2018

DrupalCamp Ghent 2018

Op 23 en 24 november vond DrupalCamp Ghent 2018 plaats. Twee dagen lang werd het publiek getrakteerd op kennis en ervaring op het gebied van Drupal, front-end, back-end, symfony en PHP development. Ook was er voldoende gelegenheid om showcases te presenteren en te netwerken. Dit alles was niet beperkt tot de Hogeschool Gent, waar het evenement plaatsvond want de gezellige stad biedt prima locaties om ‘s avonds door te babbelen en een pintje te drinken met onze zuiderburen. Een delegatie van 9 professionals van LimoenGroen was afgereisd om deel te nemen én te presenteren.

Advanced Solr - Build Data Driven Features

Sessie gegeven door Markus Kalkbrenner, maintainer van Solarium (PHP library) en Search API Solr (Drupal module). Solr wordt veel gebruikt binnen Drupal websites om snel door de inhoud van een website te zoeken of te filteren van al je gevonden data. In deze sessie ging Markus dieper in op de technische mogelijkheden van Solr, denk aan: het boosten (hogere ranking) van artikelen die een hogere voting hebben dan andere artikelen of filteren van artikelen die alleen door jouw gevote zijn. Naast het behandelen van de benodigde technieken kregen we ook een kijkje in het gebruik van Learn To Rank (LTR) technieken met Solr. Hierbij kom je in de buurt van Artificial intelligence en vertel je Solr hoe hij in bepaalde omstandigheden een artikel meer of minder moet boosten in overzichten.

Marvin's guide to a user friendly Drupal Backend

Steven van den Hout van Calibrate deelt tips, trucs en code over het gebruiksvriendelijker maken van de beheeromgeving van Drupal voor content-editors. In zijn talk benadrukt hij dat het belangrijk is om de admin-omgeving zo schoon en consistent mogelijk te maken. Hij geeft veel voorbeelden van UX verbeteringen die hij doorvoert bij admin-formulieren. Denk bijvoorbeeld na over het inrichten van het navigatiemenu voor beheerders (zoals het verplaatsen van de URL-aliassen en URL-redirects naar een nieuw hoofdmenu-item ‘Paden’). Hij noemt een aantal modules die hij gebruikt om de node-formulieren te versimpelen, zoals Field group, Maxlength Paragraphs Browser en Allowed formats. Dropzone.js wordt gebruikt om het uploaden van een afbeelding te versimpelen met drag & drop functionaliteit. Met een stukje maatwerk verbetert hij het formulier voor het aanpassen van menu-items en taxonomy terms, waardoor alle onnodige informatie wordt verborgen. Door nét wat meer tijd te steken in de ervaring voor de contentbeheerder kun je hem/haar veel tijd besparen en het beheer van de content enorm versimpelen.

Drupal Admin UI modernization: where are we heading?

Binnen het Modernisation Initiative wordt gewerkt aan de modernisering van de redactie- en beheer-interface. Dit proces kent een aantal stappen: Ontwikkelen van een styleguide voor alle patronen die Drupal backend-interface kent; Verzamelen van gebruikerservaringen; Onderzoek van de menu-indeling; Vergelijkend onderzoek van ander CMS-en en redactie-interfaces; Ontwerpen van wireframes; Design van de interface; Realisatie van de nieuwe interface in het React JavaScript framework. De modernisering zal in twee fases worden uitgevoerd. In de eerste fase worden veranderingen in de huidige interface aangebracht. Denk hierbij o.a. aan een nieuwe vormgeving en (mogelijk) een nieuwe indeling. In de tweede fase zullen er nieuwe interactie-elementen en nieuwe functionaliteit worden toegevoegd. De tweede fase is technisch ingrijpend, maar biedt voor de toekomst veel mogelijkheden voor vernieuwing en verbetering van de interactie. De eerste veranderingen worden verwacht in de Drupal 8.7 release in maart 2019.

Quick wins for an accessible website

LimoenGroen vindt het belangrijk dat websites door iedereen goed te gebruiken zijn, ongeacht eventuele beperking. Dat is niet alleen goed voor het vergroten van je doelgroep (25% van de mensen heeft een lichamelijke of geestelijke beperking), maar het zorgt er ook voor dat je website beter gevonden wordt. Google is blind namelijk. In deze sessie gaven onze Marloes en Baris bruikbare adviezen om met een paar simpele aanpassingen een website toegankelijker te maken. Ook lieten we zien waar het vaak mis gaat: met een klein foutje kan je je hele website al ontoegankelijk maken voor mensen die bijvoorbeeld geen muis kunnen bedienen. Leuk feitje: Marloes presenteerde op dezelfde plek waar haar Drupal avontuur twee jaar geleden begon: Op DrupalCamp Ghent 2016 maakte Marloes met Baris kennis! 

Foto: Didier Misson

How to delight content editors with UX when building Drupal 8 websites

Het komt nog vaak voor dat er weinig tijd wordt besteed aan de gebruikerservaring van de redactie. In deze sessie gaf Chandeep Khosa tips en tricks om met vrij weinig moeite de gebruikerservaring van editors een stuk te verbeteren. Uit de ervaring geldt vaak de regel “Less is more”. Veel klanten vinden het niet fijn om met te veel opties geconfronteerd  te worden, zeker als ze nog weinig ervaring hebben met Drupal. Het is het beste om per rol alleen de opties weer te geven die de gebruiker op de specifieke pagina mag en kan doen. In plaats van een veld grijs te maken, kan je deze het beste weghalen. Daarnaast zijn er ook een aantal modules die je in kan schakelen om verdere verbeteringen toe te voegen. Met Field Permissions kan je bijvoorbeeld bepaalde invoer velden alleen beschikbaar maken voor admins. Ook zijn er modules om de menu navigatie overzichtelijker  te maken. De extra modules zijn fijn, toch kunnen deze voor extra complexiteit en overhead zorgen. Gebruik ze dus alleen waar nodig.

Being social on the IndieWeb

Als gebruiker ben je zeer afhankelijk van het bedrijf waar je gegevens zijn opgeslagen. Als dit bedrijf failliet gaat, ben je al je gegevens kwijt. Of het nou je Facebook posts zijn of je vakantiefoto’s, ze staan niet bij jou op de server dus heb je geen totale controle over je eigen content. Kristof de Jaeger vertelde in zijn sessie hoe je meer controle over je eigen content kunt krijgen door gebruikt te maken van het IndieWeb. De gedachte achter het IndieWeb is dat iedereen een eigen domein heeft waar al zijn of haar content van verschillende platformen samen komen. Kristof liet aan de hand van zijn eigen site zien hoe het werkt en wat de mogelijkheden zijn. Hij gaf ook verschillende voorbeelden, zoals ownyourgram, brid.gy, monocle en mastodon,  van andere sites die gebruik maakten van het IndieWeb en hoe die samenwerken. Zelf zie ik iedereen zijn Facebook en Whatsapp nog niet zo snel inwisselen voor een eigen domein op het IndieWeb, maar het is zeker interessant om over de impact na te denken die IndieWeb zou kunnen hebben op services.

Sketch for designers and developers

Tijdens zijn talk neemt Dries van Giel ons mee door de wondere wereld van Sketch. Sketch is een relatief goedkope design applicatie dat niet onder doet aan applicaties als Photoshop. Sketch is volledig vector based. Dit houdt in dat alle bestanden goed schaalbaar zijn, zonder kwaliteitsverlies. Deze vector-bestanden kunnen ook geëxporteerd worden in andere bestandsformaten, zoals .png en .jpeg. Met Sketch kun je verschillende pagina’s, artboards en lagen aanmaken. Elk element kan gestyled worden met onder andere omlijningen, tekststijlen, schaduwen en patronen. Een groot voordeel van Sketch is dat je het eenvoudig kan uitbreiden met tools en plugins. Met Style Inventory kun je snel een inventarisatie maken van alle stijlen die door het document zijn gebruikt. Zo kun je eenvoudig testen of alle gebruikte stijlen consequent zijn en samenvoegen om incongruentie te voorkomen. Een andere waardevolle plugin is Craft. Craft maakt het mogelijk om Sketch designs in InVision te delen. Maar Sketch kent ook nadelen. Het onderstrepen van een individueel woord is niet mogelijk, slechts hele paragrafen. Bovendien is het in Sketch niet mogelijk om tekstvakken een overloop te geven. Desondanks is het zeker de moeite waard om de applicatie uit te proberen!

Feed your chatbot Drupal data

Alle technologie om vandaag nog een chatbot te maken, is tegenwoordig gemakkelijk beschikbaar. Maar waarom zou je dat willen, of waarom niet? Conversation-based interfaces zijn een steeds groter onderdeel van ons dagelijks leven. En als ze goed opgezet zijn, kan het alledaagse taken makkelijker maken voor de gebruiker, terwijl het geld en tijd kan besparen voor een dienstverlener. Er zijn Drupal modules om chatbot software, bv. Google Dialogflow, van data te voorzien. Daarbij zijn er diverse koppelingen mogelijk, bijvoorbeeld met betalingsservices, of automatische telefoonbeantwoording. Frederik Wouters laat zien hoe deze dingen kunnen samenwerken, maar nog belangrijker: laat je achter met een enorme zin om zelf een chatbot te maken. Mocht je het gemist hebben: kom 29 november naar de Drupal Tech Talk in Rotterdam!

On the health of the npm packaging ecosystem

Een sessie van Tom Mens: Prof software engineering, University de Mons. Met een packaging systeem zoals npm kan er een hoop mis gaan. Dit komt door de transitive dependencies. Als er een iets mis is met een package die lagen diep zit in de dependencies, kan het lang duren voor dat het probleem opgelost is. Wat getallen:

  • 1 op de 4 package dependencies is verouderd.

  • Bij 1 op de 4 releases van dependencies is meer dan 9 maanden niet geupdate.

  • 37% van de websites die gebruik maken van npm packaging bevatten javascript met een open source vulnerability.

  • 40% van de vulnerabilities is niet ondekt 2 jaar nadat het geïntroduceerd is.

  • 18% duurt een jaar totdat het gefixed is.

  • 1 op de 3 security updates op een dependency wordt nooit geupdate.

Gelukkig gebruiken wij npm alleen om te ontwikkelen, en komt het hiermee niet op de website. Maar voor als je dat wel doet zijn er mogelijkheden om de bovenstaande statistieken te verbeteren:

Er is een community die zich bezighoud met het bekijken hoe ‘healthy’ een package is. http://chaos.community/ . Deze community organiseert een event later dit jaar: https://soheal.github.io/

The present and future of configuration management

Even van de grootste verbeteringen in Drupal 8 is configuratie management. Dit gebruiken we inmiddels een aantal jaar, maar het proces kan nog steeds verbeterd worden. Met een contrib module is het nu mogelijk om configuratie-verschillen te creëren op diverse omgevingen, zoals modules die op de ontwikkelomgeving wenselijk zijn, maar op de productieomgeving niet. Dit is echter geen ideale oplossing, omdat contrib modules met elkaar kunnen conflicteren. Daarom is het "Configuration Management Initiative 2.0" opgericht. Dit initiatief heeft als doel om zoveel mogelijk van deze problemen op te lossen door een aantal van de contrib modules op te nemen in Drupal core. Onder andere Config Update Manager, Config Filter, Config Split, Config Ignore en Config Read-only komen hiervoor in aanmerking. Waar wel al een oplossing voor is bedacht, is het beheren van configuratie updates van distributies. Het framework hiervoor heet Config Distro. Er is echter nog wel een openstaand issue in dit framework, namelijk dat er bepaald moet worden wie de eigenaar is van de configuratie en wie de default configuratie mag wijzigen. Hoe dank ook, dit is zeker een initiatief die het volgen waard is.

We danken de organisatie voor een geweldig evenement en zijn er volgend jaar graag weer bij! Dit blog is geschreven door de 9 van LimoenGroen die op DrupalCamp Ghent aanwezig waren: Tessa, Dean, Jasper, Erik, Marc, Baris, Marloes, Jack en Dirk.