Drupal 8: beter voor de ontwikkelaar, beter voor de gebruiker
Over enkele weken wordt versie 8.0 van het content management systeem Drupal uitgebracht. Wat zijn de belangrijkste nieuwigheden die de upgrade de moeite waard maken? Hoe verloopt de upgrade, en is het iets voor jou? Een overzicht.
Wat is Drupal?
De Belg Dries Buytaert heeft Drupal oorspronkelijk als bulletin board system ontwikkeld. Wellicht heeft hij niet kunnen vermoeden dat het zou uitgroeien tot een content management systeem dat momenteel op 2,1% van alle websites wereldwijd gebruikt wordt, door bedrijven, politici en overheden. Een leuk wist-je-datje: de naam Drupal is eigenlijk afkomstig van een schrijffout. Buytaert wou namelijk de website dorp.org registreren voor zijn BBS, maar registreerde per vergissing drop.org. Een druppel dus, en die druppel werd uiteindelijk Drupal.
Het bijzondere aan het Drupal CMS is dat je verschillende beheerders kan aanmaken. Bij elke gebruiker kan je bovendien de permissies instellen. Zo kan je ook gebruikers aanmaken die geen of slechts beperkte beheersrechten hebben. Voor elke gebruiker kan je ook een individuele policy instellen.
Momenteel is het op PHP gebaseerde content management framework aan versie 7 toe. En, zoals Buytaert zelf in zijn blog schrijft, vertoonde die enkele ernstige beperkingen. Er was geen volledige Entity API, geen afscheiding tussen content en configuratie, geen afscheiding tussen logica en de presentatie in de thema-laag, enz. Bovendien was versie 7 helemaal niet aangepast aan de nieuwe realiteit van het mobiele surfen. Daarom werd de voorbije 2,5 jaar hard gewerkt aan een nieuwe versie. Meer dan 2.700 mensen hebben bijgedragen aan deze Drupal 8. De release ervan mag je een van de volgende weken verwachten. Wat heeft Drupal 8.0 in petto?
De belangrijkste nieuwigheden op een rij
- Content en lay-out beheren wordt gemakkelijker dankzij de WYSIWYG editor. Afbeeldingen kan je verslepen met drag&drop. Wil je iets in een veld wijzigen, dan wordt dat veld meteen in de backend getoond waar je het kan wijzigen; je moet dus niet meer gaan zoeken in de code.
- Mobile first, ook bij het dashboard, met o.a. het uitrekken van beelden en responsive tabellen die reageren op de breedte van het scherm. Mobiel je website beheren wordt zo erg simpel!
- Verbeterde sitebuilder, waarbij views in de Core ingebouwd zijn. De blocks werden verbeterd, en er zijn nu ook nieuwe types velden zoals voor een link of een telefoonnummer.
- Ondersteuning van talen: vanuit de installatie kan je meteen al de gewenste taal kiezen. Er zijn dus geen aparte modules meer nodig voor vertalingen.
- Het beheren van de configuratie wordt vereenvoudigd. Je kan voortaan de config overzetten van de development site naar de productiesite.
- Twig en HTML5. In plaats van de PHP templates wordt gebruik gemaakt van Twig, een template engine die de code veel simpeler maakt maar ook veel veiliger, want alle variabelen worden automatisch escaped. Handig is ook het werken met HTML5 Forms. Daarbij zal op het scherm van de gebruiker automatisch het juiste soort klavier verschijnen wanneer de cursor op een invulveld geplaatst wordt, zoals de jackpot-achtige input bij een datumveld, een telefoonklavier bij een telefoonveld, een alfabet bij tekst.
- Web Services: Drupal 8 benadert het leveren van content als via een API. Zo wordt die content overal beschikbaar: op websites, mobiele toestellen, native toepassingen, digitale schermen, zelfs het Internet of Things. Lees meer over het API en de bijhorende documentatie.
- Modern OO code. Drupal heeft de beste PHP praktijken overgenomen van andere programmeertalen. Hierdoor wordt Drupal 8 ook toegankelijker voor meer programmeurs. Er wordt gebruik gemaakt van Symfony 2 en bibliotheken zoals Backbone.js, Underscore.js, PHP Unit, Doctrine. Telkens werd er gekeken: hoe werd daar een bepaalde procedure opgelost? Was de code van deze modules beter, dan werd die overgenomen; was de eigen Drupal-code beter, dan werd die behouden. Object Oriented is het sleutelwoord, bij classes, forms en blocks.
Lees meer hierover: de volledige lijst met wijzigingen in Drupal 8 of bekijk de video waarin Angela Brown alle nieuwigheden van Drupal 8 uitvoerig bespreekt.
Hoe moet je upgraden?
Eerst moet je weten dat er geen geijkt pad meer is om te upgraden. Je bouwt gewoon eerst je Drupal 8-site, als een nieuwe site, en migreert dan je content en gebruikers via een migratie script. Een groot pluspunt, want zo moet je website niet uit de lucht voor de upgrade!
Let wel op: heb je eigen op maat gemaakte code in je Drupal, dan zal je zelf moeten zorgen voor het porteren ervan naar versie 8. Best maak je dus gebruik van vaak gebruikte contrib modules, want de kans is groot dat die snel door de community geporteerd worden.
Upgraden: is het iets voor jou?
- Ben je een ontwikkelaar van modules of thema's? Dan start je nu best met het testen en schrijven op basis van de bètaversie. Info over het porteren van modules vind je hier.
- Ben je een early adopter? Bouw dan nu testsites om de look & feel onder de knie te krijgen. Ga echter nog niet live, want er zijn nog enkele kritieke punten in de code op te lossen die het momenteel onmogelijk maken om van bèta naar bèta te upgraden. Bugs die je in de bèta's tegenkomt zal je zelf moeten fixen.
- Ben je een late adopter? Wacht dan best tot minstens 6 maanden na de release van Drupal 8.0.0. Dan zullen er wellicht al voldoende contrib modules zijn voor Drupal 8 om comfortabel een website te kunnen ontwikkelen.
En wat als je geen upgrade kan/wil doen?
Kan je door bepaalde omstandigheden geen update uitvoeren, of wil je liever nog enkele maanden wachten, dan is dit nog geen reden niet te kunnen genieten van enkele handige verbeteringen in Drupal 8. Maak gewoon gebruik van een Drupal 7 Contrib equivalent:
- WYSIWYG editor => CKEditor
- In-place editing => Quickedit
- Responsive toolbar => Mobile Friendly Navigation Toolbar
- Responsive Front-End => basisthema's zoals Omega, Zen, Adaptive
- Responsive admin => Ember
- Responsive images => Picture
- Responsive tables => Responsive tables
- Simplified Overlay => Escape Admin
- Multilingual => Internationalization en Entity Translation
- Better blocks => Bean
- Configuration => Features
- Web Services => RESTful
Wanneer mag je Drupal 8.0 verwachten?
Daarop staat geen exacte datum, maar je zal deze versie in de volgende weken zien verschijnen. Drupal 8.0.0 zal uitgebracht worden zodra alle kritieke problemen die er nu nog zijn op vlak van performantie, beveiliging en views, opgelost zijn. In april 2015 waren dat er nog 54, waarvan 12 onoverkomelijk waren om een bèta-naar-bèta upgrade uit te voeren. Je moest dus telkens je website volledig opnieuw opbouwen. Nu blijven er nog 11 punten over om op te lossen.
En wat brengt de toekomst?
6 maanden na de lancering van Drupal 8.0.0 zal de ondersteuning van Drupal 6 stopgezet worden. Van Drupal 8 zullen er om de 6 maanden nieuwe features uitgebracht worden, die achterwaarts compatibel zijn en herkenbaar aan de nummering van de versie (Drupal 8.1.x, Drupal 8.2.x, ...)
Drupal 9 zal er pas komen wanneer de voorgestelde verbeteringen niet meer op de core van Drupal 8 gebaseerd kunnen worden. Op de website van de Nederlandstalige Drupal-gemeenschap kan je de laatste ontwikkelingen volgen.
Ook Combell zal zijn Drupal hosting ten gepaste tijde aanpassen.
Ontdek de Drupal hosting van Combell
Met dit artikel ben je alvast op de hoogte van de belangrijkste wijzigingen. In overleg met onze medewerkers kan je beslissen of, en zo ja, wanneer je de overstap maakt. Bij twijfel: contacteer onze helpdesk!