Drupal 9 kwam eind vorig jaar uit en Drupal 8 is niet beschikbaar vanaf november 2021. Daar is niets vreemds aan. Maar wist je dat de levensduur van Drupal 7 is verlengd tot november 2022? Vanwege het hoge aantal actieve gebruikers is het in remissie en zal het langer in gebruik blijven dan Drupal 8. Een unieke stand van zaken in de wereld van software-upgrades. Maar, met nog iets meer dan een jaar om te upgraden van 7 naar 9, wordt het tijd om een plan te maken voor de migratie naar Drupal 9.
Een korte Drupal-geschiedenis
De Drupal-gemeenschap heeft bijna vijf jaar hard gewerkt om Drupal 8 te produceren, met een uiteindelijke release in november 2015. Drupal 8 betekende een belangrijke overgang, beschreven als “… een complete demontage tot aan de fundering.”
Drupal 8 heeft bijvoorbeeld Symfony 3 aangenomen, een krachtig PHP-framework met veel herbruikbare componenten. Bovendien verruilde het de themataal van de PHP-sjablonen voor het modernere Twig. En de ontwikkelaars hebben ook de gebruikerservaring vernieuwd om het voor makers van content gemakkelijker te maken. Bovendien, met webservices in de kern van Drupal 8, is het maken van RESTful API’s eenvoudiger en sneller. Deze functie is op zichzelf al is van onschatbare waarde bij het verbinden met veel toepassingen van externe partijen – een gebied waarin BSL gespecialiseerd is.
Geen vooruitgang zonder pijn
De meeste Drupal-API’s waren verouderd, zodat Drupal 8 kon doorgroeien naar een modern, API-first platform. Dit betekende wel dat ontwikkelaars duizenden modules moesten herschrijven, met gevolg dat sommige ontwikkelaars de ondersteuning voor Drupal simpelweg opgegeven hebben. Als jouw site een verouderde module gebruikte (en veel sites maken gebruik van meerdere modules), dan liet dit een gapend gat achter.
En hoewel Symfony 3 veel technische voordelen bood, bleek het ook een probleem te zijn, omdat de ondersteuning voor Symfony 3 in november 2021 eindigt. Na deze datum worden beveiligingsbugs in Symfony 3 niet meer verholpen. Dit heeft direct geleid tot de voortijdige ondergang van Drupal 8. Het goede nieuws is dat Drupal 9 gebruikmaakt van Symfony 4 (nu versie 4.4) en dat het plan is om de Drupal-releases af te stemmen op toekomstige Symfony-releases.
Drupal 7-gebruikers aarzelen om te migreren
Ondanks alle uitstekende technische verbeteringen, was de weerstand binnen de Drupal-gemeenschap relatief groot. Drupal 7 is meer dan vijf jaar na de introductie van Drupal 8 nog steeds in gebruik op ongeveer 620.000 live sites (66,4% van alle drupal-websites).
Wat de vraag oproept: “Waarom gaat de migratie zo langzaam?”
- De websitebeheerders vinden dat migratie van Drupal 7 naar 8 complex is, vergelijkbaar met het opzetten van een geheel nieuw CMS. Hoewel dit niet helemaal waar is, zijn er wel fundamentele verschillen in architectuur tussen Drupal 8 en eerdere versies. Bovendien hebben, zoals hierboven beschreven, sommige modules nooit de overstap gemaakt en moeten de meeste maatwerk modules worden herschreven, wat de migratiekosten verhoogt.
- De thema’s voor Drupal 7 en Drupal 8 zijn ook totaal verschillend, waardoor het overzetten van een thema niet kan worden geautomatiseerd; Je moet elk thema helemaal opnieuw opbouwen.
- Ten slotte is er ook veel kritiek geweest op de prestaties van Drupal 8 in vergelijking met Drupal 7. Of dit nu gegrond is of niet (we kunnen benchmarks vinden die beide gevallen aantonen!), het is een indruk die je niet makkelijk kwijtraakt.
Feit blijft dat Drupal 8 een betere, meer responsieve architectuur biedt. Dit alles maakt de kosten van het beheren van een Drupal 8 website lager dan van eerdere versies.
Om de Borg citeren: “Verzet is zinloos” 😉
De toekomst is rooskleurig, de toekomst is Drupal 9
Als jouw bedrijf nog met Drupal 7 werkt, is het langzaamaan tijd om een migratie-plan op te stellen zodat je vanaf november 2022 een moderne, veilige website hebt. Migratie naar Drupal 9 is noodzakelijk als je de functionaliteit van je site wilt behouden. En als je binnen je site iets anders dan de standaard Drupal-kernmodules gebruikt, moet je de migratie zo snel mogelijk plannen!
Het is eenvoudiger wanneer je al bent gemigreerd van Drupal 6 of 7 naar Drupal 8. Drupal 9 is bijna identiek aan de definitieve Drupal 8-release, oude code die nu verwijderd zal worden daargelaten. Dus wanneer modules gebruikmaken van de nieuwste Drupal 8 API’s en het gebruik van verouderde code vermijden, zouden ze op Drupal 9 moeten werken. Migreren van Drupal 8 naar 9 zou dus net zo eenvoudig moeten zijn als het uitvoeren van kleine zogenaamde minor versie-updates van Drupal 8.
Op zoek naar valkuilen
Het is de moeite waard om naar de eisen voor Drupal 9 te kijken om eventuele problemen te identificeren. Ten eerste vereist Drupal 9 (nu 9.2.6) PHP 7.3 of hoger, en hoewel dit al een tijdje de aanbeveling is, draait het nog niet overal standaard. Zeker niet op LTS-besturingssystemen zoals CentOS en Debian.
Het is ook goed om te beseffen dat Drupal 9 tenminste MariaDB 10.3.7 of MySQL 5.7.8 vereist, terwijl op gedeelde servers vaak veel oudere versies te vinden zijn. Bovendien is de minimale versie voor Apache nu 2.4.7 of hoger. Check dus je servers, of vraag je hostingprovider ernaar voordat je begint. Dat zal later veel tranen besparen!
Tips voor een succesvolle migratie
Op onze Drupal 8-sites gebruiken we een ‘basisproject’ dat het gemakkelijk maakt om het project in Git te beheren en afhankelijkheden (inclusief de Drupal-kern zelf) via de Composer-pakketmanager bij te werken. Het voordeel is dat je alleen de aangepaste modules, thema’s en configuratiebestanden in Git nodig hebt en niet de duizenden kern- en maatwerk modulebestanden.
Het is goed om te weten dat Drupal 8 eerst begon met een ander basisproject, daarom moesten we eerst de oudere websites converteren naar een nieuwer project. De instructies hiervoor zijn duidelijk, maar de uitvoering ging niet zonder slag of stoot, omdat we de wijzigingen op een andere server moesten uitvoeren en het installatiescript dus zonder fouten moest draaien.
Tips voor het upgraden van Drupal core en modules
Drupal 9 is voornamelijk compatibel met Drupal 8.9, dus je kunt verwachten dat modules zonder aanpassingen op beide versies werken. Maar we raden je aan de infobestanden voor de zekerheid te controleren.
Veel module-ontwikkelaars maakten van de kans gebruik om een nieuwe zogenaamde major versie voor Drupal 9 te introduceren. Grote versie-upgrades vereisen altijd extra aandacht – vooral in combinatie met een grote Drupal-update. Het is belangrijk om dergelijke modules zo vroeg mogelijk te identificeren bij het plannen van een migratie.
In verschillende gevallen zullen er afhankelijkheden zijn tussen modules. We moeten (bijvoorbeeld) de exacte volgorde bepalen bij het verwijderen van module A, het upgraden van module B en het opnieuw installeren van module A. Verstand op nul en gewoon doen!
Als een module niet meer beschikbaar is (en er geen afhankelijkheid meer is), maken we soms een lege ‘dummy’ module aan om de upgrade toch te kunnen uitvoeren. Zonder deze ‘dummy’ module kan het voorkomen dat Drupal gaat klagen dat het de module niet kan vinden – waardoor de uitvoering van verdere commando’s die nodig zijn voor implementatie wordt geblokkeerd.
Drupal-expertise
Met 25 jaar ervaring in het bouwen van websites en maatwerk software kennen we de vele kneepjes van het vak. Samen met klanten hebben we veel Drupal-oplossingen gebouwd. We hebben ook veel ervaring met het koppelen van Drupal-websites aan externe systemen en het integreren van complexe zoekfuncties met behulp van Solr en Elastic Search. We beheren websites in Drupal 7/8/9 en ontwikkelen in Drupal 8 en 9.
Hulp bij migratie
We gaan graag in gesprek met bedrijven die willen investeren in de migratie naar een Drupal 9 website, applicatie of platform. We kunnen snel een gedetailleerd migratieplan samenstellen dat de kosten en baten van de migratie laat zien. En als je maatwerk modules nodig hebt, ter vervanging van modules die niet langer beschikbaar zijn in Drupal 9, kunnen we de kosten voor het herschrijven van de module opnemen, zodat je investering behouden blijft. Neem vrijblijvend contact op met onze experts en we helpen je graag bij de overstap naar Drupal 9.