Drupal migratie. Van Drupal 7 naar Drupal 8.

Drupal migratie / Drupal 7 / Drupal 8

In 2019 hebben we één van onze klanten van het eerste uur geholpen met een Drupal migratie van Drupal 7 naar Drupal 8. De Drupal 7 website bestond uit twee subsites gericht op hypotheken en leningen met elk een apart CMS. Deze twee sites hebben we samengevoegd tot één website. Het grote voordeel hiervan is dat nu alles vanuit één Drupal CMS wordt beheerd.

Waarom Drupal migreren?

Drupal 7 is 'end of life' in november 2021. Dit heeft als gevolg dat er geen updates meer worden uitgebracht en de veiligheid van de website dus risico kan lopen. Door het unieke caching systeem en andere optimalisaties van Drupal 8 wordt de Drupal website ook vele maler sneller. Ook zijn er vele verbeteringen aan gebracht aan het CMS waardoor het gebruiksgemak van Drupal 8 veel groter is van dat van Drupal 7. Voor onze klant BNP Paribas Personal Finance reden genoeg om te kiezen voor een Drupal 7 naar Drupal 8 migratie.

Inventarisatie te migreren content

Hoe hebben we de migratie aangepakt? De Drupal 7 website bestond uit twee subsites en daardoor hebben we eerst goed bekeken welke content er samengevoegd en achterwege gelaten kon worden. Dit hebben we in beeld gebracht met een overzicht van alle inhoudstypes en velden in Drupal 7 tegenover een overzicht van de gewenste inhoudstypes en velden in Drupal 8.

Drupal migratie en maatwerk migratie oplossingen

Voor ongeveer 80% hebben we gebruik kunnen maken van de standaard Drupal Migratie mogelijkheden. Dit is namelijk een module die een lijst genereert welke content en instellingen er overgezet kunnen worden naar Drupal 8. Uit deze lijst hebben wij bijvoorbeeld alle gebruikersrollen, permissies, gebruikers, metatags en redirects 1 op 1 kunnen migreren.

1 op 1 migratie van het thema en functionaliteiten

Het uitgangspunt van deze migratie was dat het design en functionaliteit van de website behouden bleef. Dat betekent dat we in Drupal 8 vanaf scratch het thema opnieuw hebben opgebouwd met dezelfde structuur als in Drupal 7.

Maatwerk oplossingen

In de website zitten diverse maatwerk oplossingen (custom modules) zoals enkele tools waarmee je kan berekenen hoeveel je kan lenen (persoonlijke lening of een hypotheek). Deze modules hebben we herschreven conform Drupal 8 standaarden. Zodat we ervan verzekerd zijn dat de werking en betrouwbaarheid van deze modules behouden blijft.

Testen

Na alle technische hobbels te hebben genomen, hebben we de nieuwe website via Gitlab geautomatiseerd op een ontwikkel omgeving klaargezet. Met de tool BackstopJS hebben we vervolgens alle pagina's op de bestaande website opgehaald en vergeleken met de pagina's op de ontwikkel omgeving.

Met deze tool wordt er per pagina een visuele vergelijking gemaakt met screenshots voor verschillende schermgroottes (mobiel, tablet en desktop). In het rapport wat na de vergelijking wordt opgemaakt, kun je per pagina zien wat de verschillen zijn. Ontbreekt er bijvoorbeeld ergens afbeelding, dan zie je dit direct. Of wanneer de uitlijning van een stuk tekst niet goed staat. Een voorbeeld van zo'n vergelijking zie je hieronder. Op de ontwikkel omgeving ontbreken de aanbieders van BNP Paribas Personal Finance aanbieders.

Naast deze tool voor het vergelijken van pagina's, maken we ook gebruik van verschillende code validatie modules. Wanneer de code die door ons is geschreven onvolledig is, ontvangen we hier een melding van. Op deze manier zorgen we ervoor dat de code klaar is voor Drupal 8 maar ook voor Drupal 9. Die release staat namelijk al in juni dit jaar op de planning. Ook maken we gebruik van Sentry. Hiermee worden alle foutmeldingen, zowel aan de voorkant als achterkant van de website, geregistreerd en direct doorgestuurd naar ons. Zo krijgen wij een duidelijk overzicht van alle foutmeldingen die we dan gemakkelijk kunnen oppakken.

 

Geautomatiseerde Drupal updates

 

Nu de website is gemigreerd naar Drupal 8, hebben we deze ook opgenomen in ons geautomatiseerd proces voor het uitrollen van updates. Dit zijn onder andere beveiligingsupdates en bugfixes in de programmatuur van Drupal en de ge√Įnstalleerde modules.

 

Drupal 8 naar Drupal 9 migratie

 

In juni 2020 komt de volgende Drupal release, namelijk Drupal 9. Maar de stap van Drupal 8 naar Drupal 9 is minder groot dan van Drupal 7 naar Drupal 8 waardoor hiervoor heen aparte migratie voor nodig is. Dit kunnen wij uitvoeren door een update op de Drupal 8 uit te rollen. Een migratie van Drupal 7 naar Drupal 8 lijkt een grote stap maar zorgt er wel voor dat je website helemaal klaar is voor de toekomst!

 

Lessons learned

 

Voor ons was het een van de eerste Drupal 7 naar Drupal 8 migraties en hebben we het nodige geleerd in dit proces.

 

  1. Testen kost veel tijd en dankzij de verschillende tools zoals hierboven beschreven, komen problemen snel boven water en kunnen we deze direct oplossen.
  2. De Drupal Migrate opties zijn verrassend veelzijdig dankzij de vele plugins om verschillende type data te verwerken. Zie migrate proces plugins en migrate plus plugins.
  3. Er is altijd maatwerk. De standaard Drupal Migrate biedt voor veelal standaard configuraties een goed migratie pad. Echter zijn er ook configuraties die afhankelijk zijn van modules waar geen Drupal 8 ondersteuning voor is. Dit moet je dan zelf inventariseren hoe dit het beste gemigreerd kan worden met maatwerk code.

Wil je ook jouw Drupal website updaten naar Drupal 8?

 

Bij Groowup zijn we gespecialiseerd in het leveren van support op Drupal websites en helpen je graag met het uitvoeren van de migratie! Benieuwd hoe deze Drupal migratie jouw organisatie verder kan helpen? Neem contact op of kom dan langs in onze digital agency in Breda.

 



Drupal roadmap 2019

LET'S MEET

Get in touch with Jasper

Als digital agency uit Breda werken we samen met merken en organisaties die zoeken naar langdurige vooruitgang en strategische groei. Klanten die het belang van onderscheidend concept en high-end design beseffen. Pioniers die, zowel op korte als lange termijn, met innoverende en schaalbare digitale ontwikkeling bezig zijn. Let's groow.