ORDINA BLOGT

DrupalCon Europe 2013

Om kennis op te doen en te delen over Drupal binnen Ordina zijn Maarten Stolte en Jeroen Bijl naar Praag gereisd voor DrupalCon Europe 2013

  • Jeroen Bijl
  • 4 oktober 2013

Inleiding

DrupalCon is een conferentie voor en door de Drupal-community, het open source gemenebest van circa 25.000 ontwikkelaars. De presentaties op DrupalCon hebben uiteenlopende onderwerpen, van het verkopen en beheren van Drupal tot het volledig ontwikkelen van modules en templates en Drupal-projecten voor bedrijven. Een verslag van wat wij de meest opvallende zaken vonden.

Maandag 23-09

De Community Summit

Maandagochtend zijn Maarten Stolte en ik richting het congres gebouw gelopen voor de eerste dag van DrupalCon. Op maandag was de Community Summit. Tijdens de summit worden plannen besproken om de community rondom Drupal verder te versterken. Er wordt gewerkt in teams aan ideeën welke aan het einde van de dag gepresenteerd worden. Er waren werkgroepen om drupalcamp (bijeenkomst van lokale drupal geïnteresseerden) organisaties te vergemakkelijken, om evenement organisatie te documenteren en automatiseren en een werkgroep voor drupalladder.org

Maarten en Jeroen werkten aan drupalladder.org. Het team werd geleid door Addison Berry van onder andere ‘Lullabot’ en ‘Drupallize.me’, twee Drupal gerelateerde e-learning sites.

Drupalladder.org is een website om mensen te leren hoe Drupal werkt. Je leert het door middel van lessen als stappen op een ladder. Je begint onderaan met bijvoorbeeld het downloaden en gaat naar de volgende trede met het installeren, tot je bovenaan de ladder bent en echt een onderdeel van Drupal ontwikkeling beheerst.

Maarten en ik hebben gewerkt het verbeteren aan de inhoud van de cursussen en de werking van de site. Er zijn een aantal artikelen verbeterd en we hebben afgesproken dat we kijken of er binnen Ordina nog verder gewerkt kan worden aan de site.

 

Dinsdag 24-09

The State of Drupal 8

Vandaag begon de dag met de Drupal musical. Dit ging over een n00b (newbie, beginner) die zijn weg binnen de Drupal community moest zien te vinden. De n00b maakte de community mee op een ‘bad day’ en op een ‘good day’. De musical is hier te zien: http://www.youtube.com/watch?v=3eSxaNmGHYQ&feature=c4-overview-vl&list=PLpeDXSh4nHjR5UnjrgWCo8YvCSs7TTZpY 


Na de musical begon de #driesnote met Drupal oprichter Dries Buytaert (@Dries). Zijn keynote heette “The State of Drupal 8”. Drupal 8 krijgt meer dan 200 nieuwe features waarvan wij er hier een aantal uitlichten. Drupal 8 zal naar zijn verwachting begin 2014 in de beta fase komen. Dries kon niet zeggen wanneer Drupal 8 in productie komt:  “It’s ready when it’s ready”, kwaliteit gaat boven een gehaaste release. Men wil zich dus in tegenstelling tot propriëtaire software niet vastleggen op een keiharde deadline, maar echt alle belangrijke features erin hebben, en alle belangrijke bugs eruit.

 

 

Opvallende zaken in Drupal 8

OOP:  Met Drupal 8 wordt een grote stap gezet naar een volledig volgens OOP (objectgeoriënteerd programmeer) principes opgezette Drupal versie. Alle nieuwe code wordt volgens die principes opgezet, maar daarnaast heeft de Drupal community gekeken naar bestaande componenten die ze kon gebruiken om op voort te bouwen. Ze is daarbij uitgekomen bij een aantal componenten van het Symfony framework, Zend Framework en nog een aantal gerenommeerde PHP projecten. Dit scheelt natuurlijk werk bij het bouwen, maar een minstens zo belangrijk voordeel is dat het makkelijker zal worden voor mensen die Drupal nog niet kennen om Drupal modules te programmeren omdat er meer bekende design principes worden gebruikt en omdat het voor mensen die die frameworks kennen makkelijker wordt om Drupal code te begrijpen. Meer hierover in deze presentatie: http://www.youtube.com/watch?v=b6XOhsuqYq8


Ook maakt het werken met OOP principes het makkelijker om nieuwe Drupal beter backwards compatible te maken, iets wat in eerdere Drupal releases niet gedaan werd: vooruitgang was belangrijker dan backwards compatible zijn, en het koste simpelweg te veel werk. Meer over dat backwards compatible houden in deze presentatie: http://www.youtube.com/watch?v=3I1wx7n8au8&feature=youtu.be


Inline editing: Om beter de concurrentie aan te kunnen met systemen als Adobe CQ5 en Sitecore heeft Drupal 8 nu ook inline editing mogelijkheden gekregen. Inline editing houdt in dat je niet een artikel via een administratie interface die niks op de eigenlijke pagina lijkt hoeft te wijzigen, maar dat je het artikel op de pagina zelf kan wijzigen. Dit maakt het beheren van de content voor editors een stuk gebruikersvriendelijker en adresseert een van de meest gehoorde klachten van die groep gebruikers.


REST support: In Drupal 8 is REST echt geïntegreerd waarmee Drupal een volwaardige RESTful server wordt. Entities (content eenheden in Drupal) kunnen nu volledig beheerd worden via die eenvoudige interface. Dit maakt het bijvoorbeeld makkelijker om met andere producten te integreren of om Drupal in te zetten als content repository voor een mobiele applicatie. Meer hierover in deze presentatie: http://www.youtube.com/watch?v=w6dqzDbY78k


Populaire modules in core: Een aantal modules zoals Views (samenstellen van lijsten zonder sql queries of code te hoeven schrijven) en migrate (migratie van Drupal 6 en 7 naar Drupal 8) worden in core opgenomen en hoeven dus niet meer los te worden geinstalleerd. De reden dat Views wordt opgenomen is dat meer dan 70% van alle Drupal sites nu al de losse Views module heeft geïnstalleerd. De migrate module is erg belangrijk om Drupal 6 en 7 sites te verleiden over te stappen, vooral omdat Drupal 6 support met het uitkomen van Drupal 8 afloopt.


Vertalingen: Alles in Drupal core is nu te vertalen, iets wat voorheen niet zo was. Ook kun je nu bij de installatie al gelijk kiezen om in een andere taal te installeren, in plaats van dat je later daar allerlei stappen voor moest doen. Meer hierover in deze presentatie: http://hojtsy.hu/blog/2013-sep-28/multilingual-site-tools-drupal-8-session-recording-drupalcon-prague


HTML5: Alle HTML templates zijn nu HTML5, en ook formulieren gebruiken nu HTML5 elementen zoals phone, date, email etc. waardoor validatie en invoer mechanismes veel soepeler werken.

Responsive design: Drupal 8 wordt native responsive. Dit betekend dat de Drupal 8 zich aanpast aan de grote van het scherm. Ook de backend wordt responsive waardoor beheer en content management op de mobiel, tablet of laptop net zo makkelijk gaat.


Evolving Frontend Development; Dancing on the tip of a hurtling rocket (@jessebeach)

Presentatie: https://www.youtube.com/watch?v=OdWtqjqukf8

Jesse vertelde over haar ervaringen als frontender en de dingen waar zij vaak tegen aan loopt. Zo blijft de techniek zich steeds sneller ontwikkelen en wordt het steeds lastiger om bij te houden. Ze sprak ook over progressive enhancement en graceful degradation. Ze vergeleek progressive enhancement en graceful degradation met een lift en een roltrap waar de lift de graceful degradation is en de roltrap progressive enhancement. Als een website met graceful principes is opgebouwd maar de gebruiker heeft bijvoorbeeld JavaScript uitstaan kun je vaak niets meer. Net als een lift, als deze stil komt te staan kom je niet meer verder. Progressive enhancement is zo gebouwd dat wanneer JavaScript uitstaat je nog steeds op je bestemming kunt komen. Zoals bij de roltrap. Stopt de trap met rollen kun je nog altijd verder te voet.


Drupal 8 for Site builders (@swentel)

Presentatie: https://www.youtube.com/watch?v=sZxIX7iWtvc

Tijdens deze presentatie ging het met name om de configuratie en het beheren van Drupal 8. Veel gebruikte contrib modules zijn Views en Features. Deze modules zijn nu opgenomen in core en hoeven dus niet meer apart te worden geïnstalleerd. Ook besprak hij de eerder genoemde inline editing features.


Building Really Fast Websites with Drupal 8 (@wimleers)

Presentatie: http://www.youtube.com/watch?v=zQOftGhvpAU (van Drupalcamp Leuven, maar zelfde presentatie)

Om Drupal betere front-end prestaties te kunnen geven wordt er beter gekeken welke Javascript wanneer geladen moet worden en laad Drupal standaard minder Javascript code. Dit is met name belangrijk op devices en op plekken waar je minder bandbreedte beschikbaar hebt zoals mobieltjes.

Daarnaast kan Drupal nu alle entities cachen. Om gepersonaliseerde zaken te cachen, niet alle gebruikers hebben dezelfde rechten en dus niet dezelfde Javascripts, wordt de Javascript niet serverside maar clientside gecached, in localStorage.

De laatste front-end verbetering die besproken werd is het implementeren van een plugin architectuur voor het in de pagina plaatsen van Javascript en CSS files. Hierdoor wordt het mogelijk om zelf te kiezen of, en zo ja welke Javascript en CSS minificatie, obfuscatie, concatenatie of wat je maar wilt te implementeren.

 

Woensdag 25-09

Git makes me angry inside

Presentatie: http://www.youtube.com/watch?v=HFrdr9XEMOY

Slides: http://www.slideshare.net/emmajane/git-makes-me-angry-inside-drupalcon-prague

Git is een veelgebruikte versiebeheertool. Er werd uitgelegd hoe Git als tool ingezet dient te worden. Kort gezegd zijn twee branches. Een master branch en een Development branch. Je master branch bevat dezelfde code als die op productie staat. De development branch wordt gebruikt om features en hotfixes in de maken. Een ontwikkelaar heeft de development branch lokaal staan waar hij zelf een hotfix of feature branch van heeft waar deze in ontwikkeld. Fixes worden doorgezet (gecommit en gepushed) waarna deze worden gecontrolleerd en getest. Hierna wordt de fix gemerged met de master branch waardoor de fix meegaat naar productie.


Twig, A templating system for web designers (@fabpot)

Presentatie: https://www.youtube.com/watch?v=18sxjsLTesE

Twig is de nieuwe template engine van Drupal. Voorheen werd PHPTemplate gebruikt wat het mogelijk maakte om PHP te gebruiken in de themes. Gelukkig is dit met de komst van Drupal 8 niet meer mogelijk. Frontend Developers willen en hoeven niet te weten of de naam van een gebruiker een methode of object is. Er is nu een goede scheiding tussen logica en presentatie. De syntax is verdeeld in twee functies: {{Dit zegt iets}} en {%Dit doet iets%}. Door PHP van de template laag uit te sluiten loop je minder risico’s op beveiliging problemen.


Voorbeeld:

{% for user in users %}

*{{ user.name }}

{% else %}

    No user has been found.

{% endfor %}


Dit print alle namen van de geregistreerde gebruikers.




 

Automating and linking together web services and API's using the Rules module (@crizzirc en @the_real_fago)

Fluxkraft is een Drupal distributie die speciaal ingericht is voor de content marketeer. Een distributie in Drupal is een kant en klare Drupal installatie waar alle benodigde zaken en configuraties voor bepaalde taken inzitten.

Fluxkraft maakt gebruik van de rules module, een soort IFTT voor Drupal, om interactie met allerlei sociale netwerken eenvoudig te maken. Op dit moment worden de volgende diensten ondersteund: Dropbox, Facebook, Flickr, LinkedIn, XING en Twitter. Daarnaast ondersteund het ook RSS feeds en wordt er gewerkt aan ondersteuning van meer diensten.

Doordat de diensten worden gekoppeld aan de Drupal kant hoef je niet de diensten onderling toegang te geven tot je accounts, en kun je ook veel meer zaken koppelen en automatiseren dan normaal gesproken mogelijk zou zijn. Voorbeelden hiervan zijn het automatisch publiceren van content vanuit Drupal naar Twitter en Facebook, automatische updates op Twitter als je een nieuwe facebook post publiceert, nieuwe bestanden in je dropbox share aankondigen op een RSS feed etc. etc.

Presentatie: http://www.youtube.com/watch?v=76zdHzqhejE&feature=youtu.be

site: http://fluxkraft.com

Donderdag 26-09

 

Opening: Aral Balkan (@aral)

Presentatie: http://www.youtube.com/watch?v=X71cvxfALaw

Site: http://codename-prometheus.eu/ en http://www.aralbalkan.com

Aral Balkan gaf een presentatie waarin hij het afhankelijk worden van de Apple's en de Google's vergeleek met het feodale systeem waarbij mensen gebonden zijn aan hun meesters. Je bent niet vrij om te doen en te laten met je eigen data en systemen, sterker nog, je levert je privacy in voor een ervaring. 

Open Source en Open Data zouden mensen moeten kunnen bevrijden van die systemen maar omdat Open Source er niet in geslaagd is een geïntegreerde ervaring te leveren op het niveau van Apple en Google stappen mensen niet over.

Zijn voorstel is om niet te concurreren op features, iets waar hij van zegt dat ook Microsoft in blijft steken, maar op ervaringen, zoals Google en Apple doen, en zo mensen te verleiden over te stappen op privacy vriendelijke en open software, diensten en hardware. De meeste mensen zouden dan niet eens overstappen vanwege de openheid en veiligheid, maar vanwege de ervaring, maar het hogere doel zou toch zijn bereikt.


 

DrupalCon Europe 2014

Aan het eind van de conferentie werd bekend gemaakt dat DrupalCon Europa 2014 in Amsterdam gehouden wordt, wat het voor Nederlandse belangstellenden nog toegankelijker maakt.

 DrupalCon Europe 2014: Amsterdam

 Hopelijk tot volgend jaar!

De afbeeldingen komen van de Flickr group van DrupalCon.

Maarten Stolte en Jeroen Bijl, Mobile Unit

Over de auteur:

Jeroen Bijl

Jeroen is sinds 2012 werkzaam voor Ordina (Clockwork). Jeroen wordt bij klanten en projecten ingezet als Front-End Developer en doet hij met name de Front-End werkzaamheden bij Drupal projecten. Verder houdt hij zich bezig met nieuwe ontwikkelingen om de Front-End Workflow effectief en en makkelijker te maken.