Migratie van Drupal 7 naar Drupal 8

Eerder dit jaar heeft de Drupal Association een ‘End of Life’ aankondiging gedaan middels deze Public Service Announcement, en zal dus stoppen met het officieel ondersteunen van de software vanaf november 2021. Drupal 7 is in november 2011 uitgegeven, en zal dus in totaal 10 jaar ondersteund zijn.

15 mei 2019
placeholder

De logische opvolger is Drupal 8, uitgegeven in november 2015, en heeft een net iets andere ‘release cycle’ van voorgaande versies: waar Drupal 8 een vrijwel volledig nieuwe versie is ten opzichte van Drupal 7 (en daardoor redelijk wat werk kan zijn om te migreren), wordt Drupal 8 zo opgezet dat de migratie naar Drupal 9 een veel kleinere stap zal zijn; de eerste versie van Drupal 9 zal dus een kleine upgrade van de laatste versie van Drupal 8 zijn.

Ik heb nu een Drupal 7 website. Moet ik dan migreren? En zo ja, hoe dan?

Zodra de End of Life in treedt, betekent dit niet dat de website vanaf dat moment ineens niet meer zal werken, het is puur dat de Drupal Association geen officiële ondersteuning verleent, en er dus niet meer actief ontwikkeld zal worden aan het platform, en er bijvoorbeeld geen security releases gedaan zullen worden. Er zal naar alle waarschijnlijkheid echter wel een betaalde service komen voor officiële ondersteuning, net zoals dit bij Drupal 6 het geval was. Daarnaast zal er altijd nog een community zijn die mogelijk de ontwikkeling verder oppakt. Met andere woorden: de ontwikkeling zal niet stil komen te liggen.

Ons advies is echter om wel na te denken over stappen zetten voor een migratie, zeker als er nu concrete plannen liggen voor (relatief grote) updates of vernieuwingen. Houd er hier echter wel rekening mee een migratie voornamelijk een migratie van content is. Functionele onderdelen zullen mogelijk opnieuw moeten worden ingericht. Tevens zal er een nieuw thema ontwikkeld moeten worden, een oud thema zal niet zomaar gemigreerd kunnen worden. Dit biedt dus kansen om toch ook die visuele aanpassingen mee te nemen :-)

Moet ik niet wachten op Drupal 9?

Drupal 8 zal tegelijk met Drupal 7 uitgefaseerd worden, dus het voelt wellicht wat onlogisch om nu eerst naar Drupal 8 te gaan. Maar dit is nu juist het voordeel van de opzet van Drupal 8: de code is zo opgezet dat Drupal 9 verder gaat waar Drupal 8 stopt, zonder dat er opnieuw een migratie hoeft te worden gedaan. Lees in dit artikel meer over het plan van Drupal 9.

placeholder

Wat houdt een migratie in?

Een migratie houdt in dat alle content, functionaliteit en weergave omgezet moet worden naar een nieuw systeem. Zoals al eerder aangegeven biedt een migratie vooral het overnemen van content aan, bijvoorbeeld Nodes, Taxonomy Terms, Users, Files en Media. Dit valt voor het grootste deel te automatiseren, mits er netjes binnen standaarden is gewerkt. Functionele onderdelen zullen veelal handmatig werk zijn, al zijn er van de meeste modules voor Drupal 7 ook een versie voor Drupal 8 te vinden zijn, en hoeft er conceptueel niet al te veel veranderd te worden. Wat betreft de weergave, in het geval van Drupal een thema, is de boel volledige op de schop gegaan, en zal het grootste deel opnieuw opgezet moeten worden. Wij zijn hier echter goed op voorbereid en hebben al een aantal migraties doorgelopen, dus hebben goed in kaart wat hiervoor gedaan moet worden.

placeholder

Zijn er ook alternatieven?

Uiteraard zijn er alternatieven, maar voor veel websites waar Drupal 7 de logische keuze was, geldt nu nog steeds dat Drupal 8 de logische keuze zal zijn (bijvoorbeeld in het geval van content gedreven websites), en adviseren wij om niet al te veel budget te steken in het doorontwikkelen van de site, en toch rekening te houden met een migratie.

Het is echter ook mogelijk om een website in onderdelen te migreren, bijvoorbeeld als het een om een meer functioneel platform gaat. Een goede manier hiervan is bijvoorbeeld om een meer ‘headless’ oplossing te gaan. Dries Buytaert heeft hierover een goed artikel geschreven.

Wat wij in het geval van een migratie naar een headless opzet doen is de voorkant (dat deel wat mensen zien en gebruiken) los te trekken van de achterkant (het CMS, het deel wat meestal slechts intern gebruikt wordt). De voorkant maken we dan veelal met Javascript technieken die daarin specialiseren, bijvoorbeeld React. De achterkant blijft dan zoals het nu is, maar in plaats van het weergeven van de inhoud als een website, zal de achterkant nu puur een data-gedreven onderdeel zijn dat deze data ontsluit middels een zogenaamde API. Daardoor ontstaat er een striktere scheiding tussen voorkant en achterkant, waardoor deze als losse onderdelen beschouwd kunnen worden, en onafhankelijk van elkaar ontwikkeld en up-to-date kunnen worden gehouden. Tevens biedt dit de mogelijkheid om onderdeel voor onderdeel te migreren, waardoor de kosten verspreid worden over een langere termijn, en er geen investeringen gedaan worden in onderdelen die later niet meer te gebruiken zijn.

placeholder

Kunnen jullie mijn Drupal site migreren?

Hoogstwaarschijnlijk wel, al hangt het van het type site af hoeveel werk dit zal inhouden. Als er goed binnen de standaarden van Drupal is gewerkt, zal de migratie een stuk eenvoudiger zijn dan wanneer er veel handmatig werk verzet is die heel specifiek is voor deze site.

Wij starten meestal met een korte assessment, waarin we kijken naar de structuur en opzet van de site. Op basis hiervan kunnen wij goed inschatten hoeveel werk het ons zou kosten om de migratie door te voeren. Hiervoor hebben wij met name (administratie) toegang tot de site nodig, maar het zou helpen als wij toegang tot de code en database hebben.

Wil je dat we je hier mee helpen? Neem dan contact met ons op!