Wietze

dinsdag, 6 september 2022


Welke nieuwe functies zal Drupal 10 met zich meebrengen en hoe bereid jij je hierop voor?

Drupal is vandaag de dag één van de meest populaire content management systemen voor websites. Elke software vereist regelmatige implementatie updates en bug fixes, evenals het ontwikkelen van nieuwere versies. Drupal is hier uiteraard geen uitzondering op.
Wanneer zal Drupal 10 releasen?

De reden dat we dit ter sprake brengen, is dat Drupal binnenkort een nieuwe versie zal uitbrengen, namelijk Drupal 10. Middels dit artikel proberen we jou inzicht te geven in wat deze nieuwere versie te bieden heeft en hoe jij het best kunt anticiperen op de lancering ervan.

De laatste stabiele versie van Drupal is 9.3.x. "The nine" beleefde zijn première op 3 juni 2020 en bracht geen baanbrekende veranderingen ten opzichte van de vorige versie. De belangrijkste verschillen waren: een nieuwe versie van Symfony (nl. 4), het updaten van de Twig theme engine en het wegwerken van de verouderde code. Op het eerste gezicht is het moeilijk om Drupal 9 van 8 te onderscheiden. Beide versies waren bovendien al zeer compatibel op de dag van de release.

De release van versie 10 heeft zijn "time window" vallen in de tweede helft van 2022. De release datum hangt bovendien af van het einde van de ondersteuning voor Symfony 4 in november 2023 en CKEditor 4, waarvoor de ondersteuning op een vergelijkbaar tijdstip zal eindigen. Dit betekent dat er geen beveiligingsupdates en fixes voor bekende bugs meer komen. Drupal is gebaseerd op het Symfony framework. De code van de Drupal core  is dan ook sterk afhankelijk van bovengenoemd Symfony framework. 

Het zou enorm veel werk zou vergen om Drupal 9 aan deze vernieuwde versie van Symfony aan te passen, niet alleen met betrekking tot Drupal core, maar ook tot extra modules. Daarom is het verstandiger om een nieuwe versie van Drupal te maken, die voldoet aan de standaarden van de nieuwste versie van Symfony en tegelijkertijd nieuwe oplossingen en concepten implementeert - zonder dat men zich zorgen zal hoeven te maken met backward compatibility
De releasedatum voor Drupal 10 is inmiddels bekend: 14 december 2022.

Drupal 10 functies

Nu we weten wanneer Drupal 10 zal releasen en hoe ver men inmiddels is met ontwikkelen ervan, is het tijd om te kijken naar de wat voor nieuwe functies deze versie te bieden zal hebben. Net als bij de overgang van versie 8 naar versie 9 is de belangrijkste verandering die Drupal 10 met zich meebrengt, natuurlijk de nieuwe versie van Symfony. Drupal 10 zal gebaseerd zijn op Symfony 5.4, maar er wordt al gewerkt aan compatibiliteit met versie 6. Dit heeft te maken met de eis om in ieder geval PHP versie 8.1 te gebruiken.

Het uiterlijk van zowel de frontend als de backend zal ook aanzienlijk veranderen. De nieuwe Drupal is ontworpen om toegankelijker te zijn voor nieuwe gebruikers. Het zal er modern uitzien, makkelijker te gebruiken zijn en nog steeds goed uit te breiden zijn. Ontwikkelaars krijgen ook het nieuwe starterkit-thema, dat de aanpak voor het bouwen van templates aanzienlijk zal veranderen in vergelijking met Drupal 8 of 9. Drupal 10 krijgt ook vernieuwde JavaScript-componenten, die de jQuery UI zullen vervangen.

Claro beheerthema

Het tijdverslindende Seven-thema, in 2009 gemaakt voor Drupal 7 en licht opgefrist in Drupal 8, schrikt nieuwe gebruikers af, omdat het de indruk geeft van een verouderd systeem. In Drupal 10 wordt het vervangen door het Claro-thema, ontworpen volgens de laatste standaarden en bovendien aangepast om gebruik te maken van alle mogelijkheden van de nieuwste versie van dit CMS.

Olivero front end thema

Niet alleen het beheerpaneel krijgt een nieuwe look. De gebruiker die door de pagina bladert zal ook zijn of haar ogen uitkijken naar het moderne uiterlijk. Het Olivero-thema is ontworpen om optimaal gebruik te maken van de mogelijkheden van het nieuwe systeem en compatibel te zijn met de functionaliteiten die erg in de smaak vallen bij de gebruikers, zoals Layout Builder. Het thema is WCAG AA-compliant.

 

Nieuw starterkit thema

Er zal een verandering zijn in de aanpak van het bouwen van templates in vergelijking met Drupal 8 of 9. Dankzij de nieuwe starterkit breiden we het basisthema niet uit, maar genereren we een schone template als startpunt voor het bouwen van ons thema. Zo kunnen we voorkomen dat we de hele template overerven, die zeer beperkte update-mogelijkheden heeft vanwege het behoud van achterwaartse compatibiliteit. Het concept van sub-thema's blijft ongewijzigd - we zullen nog steeds in staat zijn om extra thema's te maken die de ontwerpelementen erven van ons hoofdthema. Het genereren van het thema zelf zal worden geautomatiseerd en uitgevoerd door ingebouwde Drupal scripts.

CKEditor 5

Een andere grote verandering in Drupal 10 is de nieuwe WYSIWYG editor. Het is te kort door de bocht om deze versie  gewoon een update van CKEditor van versie 4 naar 5 te noemen, omdat alle code vanaf nul is geschreven. De auteurs gebruikten een nieuw, eigen datamodel en architectuur, in tegenstelling tot het DOM dat in versie 4 werd gebruikt.

CKEditor 5 komt met een uitgebreide API, die grote mogelijkheden biedt voor uitbreiding en integratie met moderne technologieën zoals Angular, React etc. Een interessant feit is dat er geen source editing modus komt, bekend van WYSIWYG-editors omdat deze geen doorlopende HTML-code genereert, en pas op het moment van opslaan de inhoud omzet in de code die leesbaar is voor browsers.

Wie met Drupal werkt of heeft gewerkt, weet dat Drupal uitstekend werkt als een headless CMS. Kort gezegd houdt dit in dat het CMS in staat is om content op één plek op te slaan, maar deze content naar tal van verschillende frontends te delen middels API’s. Versie 10 zal ook op dit gebied veranderingen brengen. Een van de belangrijkste initiatieven in deze update zal de introductie van ontkoppelde menu's zijn - een functionaliteit waarmee u het menu eenvoudig kunt bijwerken vanuit het beheerpaneel. Hierdoor zullen websites die gebruik maken van front-end frameworks zoals React of Angular makkelijker te gebruiken zijn en zal er geen ontwikkelaar nodig zijn om kleine wijzigingen aan te brengen op de webpagina. Drupal 10 zal zeker ook meer oplossingen brengen die de implementatie van de decoupling strategie zullen vergemakkelijken. Deze strategie lijkt erg op hoe een headless CMS werkt. Het enige grote verschil dat tussen decoupled en headless CMS bestaat is dat de presentatie layer bij headless CMS helemaal ontbreekt. Headless CMS laat de developer dus volledig vrij in hoe hij of zij de content uiteindelijk zal willen tonen.

Automatische updates

Automatische updates vormen de volgende stap in het gebruiksvriendelijker maken van Drupal. Dit is immers een functie die al lang bestaat in de meeste populaire CMS'en. Automatische updates zullen beveiliging en Drupal's core updates omvatten. Er zijn echter ook al plannen om deze functie uit te breiden zodat het ook kleine updates en de updates van contributed modules ondersteunt.

Module browser en één-klik installatie

In navolging van andere populaire CMS-systemen zal Drupal 10 een ingebouwde module browser hebben waarmee een bepaalde tool vanuit het beheerpaneel kan worden opgezocht en geïnstalleerd. Dit is een andere functionaliteit die Drupal toegankelijker moet maken, vooral voor nieuwe gebruikers. Momenteel bestaat de installatie van modules in Drupal immers uit verschillende stappen en in sommige gevallen (bv. installatie via Composer in de opdrachtregel) vereist dit enige technische vaardigheden van de gebruiker. De module browser moet veel mogelijkheden hebben, intuïtief filteren, en modules die het meest gebruikt worden door de gemeenschap voorstellen aan de de webbeheerder. Dit is dus wederom een functie die is geïmplementeerd met het oog op het gebruiksvriendelijker maken van Drupal als CMS.

Hoe bereid je je voor op een upgrade naar Drupal 10?

Als Drupal 9 gebruiker kun je anticiperen op Drupal 10 door updates in de gaten houden en spoedig na release te implementeren. Daarnaast kun jij jouw website laten toets door tools zoals Rector of Upgrade Status, die je helpen in te schatten hoeveel werk het zal kosten om te updaten naar Drupal 10. Deze tools zullen bovendien aangeven welke modules niet compatibel zullen zijn met de nieuwste versie. Updaten van versie 9 naar 10 zal hetzelfde zijn als elke andere kleine Drupal core update. Helaas vereist het een beetje technische vaardigheid van gebruikers. Het kan op twee manieren: met Composer of handmatig.

Drupal 8 heeft op 2 november 2021 het einde van zijn levensduur bereikt en wordt niet langer officieel ondersteund. Daarom moeten gebruikers het systeem zo snel mogelijk updaten naar versie 9 - en vervolgens, na de officiële release - naar versie 10. Drupal 8 verschilde niet veel van versie 9, dus upgraden naar Drupal 9 is helemaal niet ingewikkeld. Het proces bestaat uit verschillende stappen en wordt beschreven in de officiële documentatie. U kunt hierbij wederom de Upgrade Status module gebruiken.

Drupal 7 wordt ondersteund tot november 2023, en hoewel Drupal 10 tegen die tijd al uitgebracht moet zijn en tools zal hebben om van versie 7 te migreren, kunt u nu migreren (niet updaten) naar versie 9, waarvan de meeste modules aangepast zullen zijn aan versie 10 op de dag van de release. Het migratieproces is beslist gecompliceerder, en het is onwaarschijnlijk dat u het kunt uitvoeren zonder de hulp van gekwalificeerde specialisten.