Wat is er nieuw aan Drupal 8?

Gepost in: Tech Started by

Wat is er nieuw aan Drupal 8?

Inhoudsopgave:

 

Drupal 8 – Algemeen

Huidige versie

Drupal is een gratis, open-source Content Management Systeem (kortweg CMS) opgestart door de Belg Dries Buytaert voor online content & communities van gebruikers. Meer dan een miljoen sites op internet draaien op Drupal, waaronder veel van de meest bezochte & complexe websites die er zijn. Enkel voorbeelden zijn: Whitehouse.gov, World Economic Forum, NCRV, Spitsnieuws & Mobistar.

De eerste beta versie van Drupal 8 is gereleased in oktober 2014. De stabiele versie van Drupal 8 zal gelanceerd worden wanneer alle ‘critical bugs’ zijn opgelost. Een ‘critical bug’ wordt omschreven als een fout die het systeem onbruikbaar maakt & geen oplossing heeft. Ze veroorzaken verlies van data of zijn security kwetsbaarheden.

Na de beta fase heb je nog één stap, namelijk de ‘release candidate’ (kortweg RC) fase. Dit is een kandidaat voor de uiteindelijke versie, indien er geen bugs meer in deze versie gevonden worden, zal de ‘release candidate’ de uiteindelijke versie worden. De ‘release candidate’ moet 2 weken werken zonder dat er een nieuwe ‘critical bug’ gevonden wordt. U kunt de details van dat beleid hier bekijken. Ter informatie, de Drupal 7 ‘release candidate’ fase duurde ongeveer 5 weken.

dp8-status

Op dit moment zitten we aan drupal 8.0.0-beta11 en er zijn nog 31 ‘critical issues’ resterend voor een ‘release candidate’. In onderstaande grafiek kan je zien dat het aantal ‘critical issues’ soms terug omhoog gaat (door het vele testen) maar je ziet duidelijk een dalende lijn richting ‘release candidate’!

remaining-critical-dp8

 

Release cycle

release-cycle-dp8

 

De release cycle van Drupal 7 & Drupal 8 zijn een groot verschil.

Drupal 8 zal verschillende nieuwe releases hebben met nieuwe features. Nieuwe Drupal 8 releases zullen iedere 6 maand uitkomen (dit wordt dan Drupal 8.1, 8.2, enzoverder …). De laatste release zal telkens de enigste zijn die ondersteund wordt. Het einde van het proces zal een Long Term Support (kortweg LTS) versie zijn. Bij deze versie worden geen nieuwe features meer toegevoegd, enkel nog security updates voorzien.

De grote verandering i.v.m. Drupal 7 hierbij is dat er na de 8.0 release nog steeds nieuwe features kunnen toegevoegd worden. Dit was een groot nadeel met de oude release cycle in Drupal 7 waarbij geen nieuwe features konden toegevoegd worden. Drupal 7 werd oorspronkelijk afgewerkt in 2010 waardoor er dus geen nieuwe features zijn toegevoegd aan Drupal sinds 2010.

Drupal 8 – Features

Mobile in it’s DNA

Drupal is vanaf deze versie mobile-first. Alle front- & backend thema’s (Bartik & Seven) zijn volledig responsive waardoor je zeer gemakkelijk zaken kan gaan aanpassen & bekijken op je mobiele telefoon of tablet. De formulieren zijn responsive, er wordt gebruik gemaakt van HTML5 form elementen die gebruiksvriendelijkheid vergroten. Daarnaast zijn ook de Views erop vooruit gegaan. Tabellen zijn nu responsive om data op een overzichtelijke manier weer te geven. Als laatste is ook het admin menu in backend responsive.

mibile-dp8

Multilingual Capabilities

Indien je ooit een website hebt moeten maken in Drupal die in verschillende talen moest beschikbaar zijn weet je zeker & vast dat dit geen makkie was. Je moest hiervoor ellendig veel modules installeren om alles te kunnen vertalen. Goed nieuws want in Drupal 8 is het niet langer nodig om user experience & content te gaan vertalen. Vanaf nu zijn er 4 core modules die het grootste deel mogelijk maken.

Daarnaast is het ook niet meer verplicht om Engels als standaardtaal te gaan kiezen bij installatie. Je kan direct bij installatie een vertaling van Drupal gaan installeren.

Het updaten van vertalingen gebeurt nu op dezelfde manier zoals je in Drupal 7 modules zou gaan updaten.

Als laatste kan je ook gaan selecteren welke velden wel & welke velden niet moeten vertaald worden. Een veld waarin je bv. een link moet ingeven zal je niet willen vertalen.

core-modules-dp8

export-dp8

New Configuration Management

In Drupal 7 leefde de configuratie vooral in de database. Daardoor was het moeilijk om config veranderingen te deployen van uw lokale development omgeving naar staging & productie omgeving. Je moest al zaken gaan gebruiken zoals de module Features om componenten te gaan exporteren/importeren.

deploy-dp8

In Drupal 8 is dit een zeer grote verbetering. Drupal 8 heeft een geheel nieuw configuratie systeem om de configuratie gegevens van ingeschakelde modules, velden, views, … op te slaan. Het systeem is ontworpen om veel gemakkelijker veranderingen te maken, site configuratie te gaan exporteren naar bestanden & die veranderingen terug gaan importeren in je site.

De ‘Configuration Manager’ module in Drupal 8 biedt een gebruiksvriendelijke interface aan voor het importeren & exporteren van configuratie wijzigingen in verschillende omgevingen zoals development, staging, production.

De site wordt geïdentificeerd met behulp van een ‘Universally Unique Identifier’ (UUID). De site UUID moet dezelfde zijn als de website waarop je de wijzigingen wil importeren.

Bij het exporteren kan je kiezen voor een enkele import ofwel voor een volledige export van alle configuratiebestanden.

Bij het exporteren van een enkele import kan je het type van configuratiebestand kiezen & heb je de mogelijkheid deze configuratie te kopiëren en te plakken in bv. je productiewebsite.

De volledige export is veel krachtiger. Je kan een archief downloaden van alle ‘active’ configuratiebestanden. Deze kan je dan gaan importeren in je productiewebsite & gaan synchronizeren.

Bij het importeren moet je de wijzigingen tussen de ‘active’ & de ‘staging’ folder gaan synchroniseren. De ‘active’ folder is de huidige configuratie op de website. De ‘staging’ folder bevat de configuratie van bv. je staging omgeving. De wijzigingen in configuratie tussen deze 2 folders kan je dan gaan synchroniseren.

Deze methode van werken maakt het natuurlijk veel makkelijker en kan je gemakkelijk met ‘version control’ zaken gaan binnenhalen in je productie omgeving & synchroniseren.

Accessibility Integration

Het admin menu is serieus aangepast in een bevorderlijke manier. De eindgebruiker hoeft geen 10 x (bij wijze van spreken) te klikken om een bepaalde functionaliteit te wijzigen. Persoonlijk ben ik nog steeds voorstander van de module ‘Administration menu’ aangezien je bij deze module nog dieper in niveau kan gaan.

Je hebt de mogelijkheid om in code zaken te gaan toevoegen die kunnen gebruikt worden door een Screen reader. Een geïntegreerd voorbeeld in Drupal 8 hiervan is wanneer je wijzigt van portrait naar landscape op een tablet.

Een andere nieuwe core module in Drupal 8 is de Tour module. Deze module biedt je de mogelijkheid om gebruikers van je module wegwijs te maken in de werking van je module. Via tooltips kan je in verschillende stappen de werking uitleggen. Een geïntegreerd voorbeeld is toegepast op de Views module die zich in de core van Drupal 8 bevindt.

 

admin-menu-dp8

A Better User Experience

De gebruiksvriendelijkheid is over het algemeen in Drupal 8 een serieus stuk verbeterd ten opzichte van Drupal 7. Een voorbeeld hiervan is de wijziging van het formulier om een artikel te gaan toevoegen. Dit is geen ellenlange pagina meer maar is opgesplitst in 2 delen (links & rechts).

Daarnaast is ook de “Published” checkbox geïntegreerd in de “Save” button naast andere subtiele UX verbeteringen.

Eén van de eerste zaken wat je moest gaan doen in Drupal 7 was het toevoegen van een WYSIWYG editor. Dit is nu niet meer nodig want is standaard geïntegreerd in Drupal 8.

Wanneer je een artikel bekijkt in de front-end kan je deze ook in-place gaan editeren zonder terug naar de editeerpagina te moeten gaan van een artikel.

dp7-dp8

 

in-place-editeren-dp8

Built-in Web Services

webservices-dp8

In Drupal 7 werd er altijd verondersteld dat je HTML terug wou krijgen van de browser. Het was niet zo gemakkelijk om in Drupal 7 andere formaten te gaan aanbieden.

In Drupal 8 is dit een grote verandering. Web Services maakt het mogelijk om data als bv. JSON te gaan aanbieden aan externe applicaties. Zo kan je bijvoorbeeld een mobiele applicatie voor je website gaan bouwen en zo data gaan aanmaken, updaten, verwijderen op je website.

Fun and Fast Theming

In Drupal 8 wordt er gewerkt met de templating engine Twig. In Drupal 7 werd de PHPTemplate theme engine gebruikt. Twig is een Symfony2 component die gebruikt wordt om data weer te geven in de browser. Meer info over twig vind je hier. Het is vrij simpel & straight forward. Na een uurtje de documentatie door te nemen weet je er al vrij veel van.

Daarnaast zijn er ook een aantal nieuwe front-end bibliotheken zoals Backbone & UnderscoreJS.

Drupal themers zullen iets meer werk hebben om oudere versies dan internet explorer 9 te gaan ondersteunen aangezien Drupal 8 pas vanaf internet explorer 9 ondersteund.

Views, Out of the Box

Views is een module die je bijna op elke Drupal 7 website moest installeren om je data weer te geven. Goed nieuws want deze zit nu standaard in de core van Drupal 8. De werking van deze module is volledig hetzelfde gebleven, enkel de code achter deze functionaliteit is volledig herschreven. De module Views Bulk Operations zit nu ook standaard in de core waardoor je nu gemakkelijk bulk acties kan gaan uitvoeren.

De standaard views zoals de front page, overzicht van gebruikers in backend, … zijn nu ook views geworden waardoor je zeer gemakkelijk kan gaan aanpassen om bv. het email-adres van een gebruiker te gaan toevoegen aan het overzicht.

Views zijn nu ook gemakkelijk exporteerbaar met het nieuwe configuratie management systeem.

export-dp8

Field Power

Drupal voegt meerdere soorten formuliervelden toe aan de core zoals ‘entity reference, link, date, e-mail, telephone, …’. Comments zijn nu ook een veld. Daarnaast kan je ook velden toevoegen aan formulier om custom contact formulieren te maken.

Better Markup with HTML 5

In Drupal 8 wordt HTML5 toegepast bij de weergave van uw website. Ook worden HTML5 velden gebruikt die zoals al gezegd de bevorderlijkheid van de werking op uw mobiele telefoon vergroten. Een afbeelding ter verduidelijking:

 

dp8-html5-form

Industry Standard Approach

Drupal leeft vanaf versie 8 niet langer op een eiland maar gaat nu standaarden gaan toepassen die in andere PHP frameworks al toegepast worden.

De code is moderner & object georiënteerd. Het maakt gebruik van de laatste standaarden zoals PSR-4, PSR-3, namespaces, traits, … .

Daarnaast maakt het ook gebruik van externe ‘best of breed’ bibliotheken zoals Composer, PHPUnit, Guzzle, Zend Feed Componenet, Assetic en meer.

Drupal 8 – Slot

Zoals je kan zien bied Drupal 8 heel wat vernieuwende zaken & verbeteringen die in Drupal 7 nog niet beschikbaar waren. Wij kijken alvast uit naar de release van Drupal 8. Wil je zelf meehelpen aan de release van Drupal 8 bekijken dan zeker even deze pagina!

Indien je benieuwd bent naar Drupal 8 kan je deze zeer gemakkelijk gaan testen op http://simplytest.me . Of je kan de beta versie downloaden op http://drupal.org .

Heb je interesse in hoe Symfony geïntegreerd is in Drupal 8 en een vergelijking van een module in Drupal 7 t.o.v. Drupal 8? Mis dan zeker onze volgende blogposts niet!

Handen in het haar met uw Drupal project of plannen voor een nieuw Drupal project? Contacteer ons.

 

Laat een commentaar achter

Contacteer ONS

Uw naam *
Bedrijf
Email *
Telefoon *
Uw uitdaging *

Gelieve dit veld leeg te laten.

Velden gemarkeerd met een asterisk * zijn verplicht