Hoe ik mijn website heb bijgewerkt van Drupal 9 naar Drupal 10

Elke Drupal-website is anders, dus elke upgrade zal verschillend zijn. De stappen die ik in deze blog beschrijf zijn zeer specifiek, maar kunnen je mogelijk een richting geven wanneer je vastloopt bij het upgraden van een Drupal-website van versie 9 naar 10.
Robert Roose
Door Robert Roose

Hoe ik mijn website heb bijgewerkt van Drupal 9 naar Drupal 10

Aan de slag gaan

Ik begon door een Staging-omgeving van mijn website te creëren. Ik gebruik Cloudways om mijn Drupal website te hosten, dus ik hoefde slecht een paar keer te klikken in het control panel van Cloudways.

In de kloon van mijn website installeerde ik de Upgrade Status module door in te loggen op de command line (ik gebruik MobaXterm), naar de map te navigeren die het index.php-bestand van Drupal bevat, en het volgende in te voeren:

composer require drupal/upgrade_status

Ik logde in op mijn gekloonde Drupal website en controleerde de informatie in de Upgrade Status module (admin/reports/upgrade-status). De Upgrade Status module vertelt je wat je moet doen voordat je kunt upgraden.

Mijn Drupal-versie was al bijgewerkt naar de vereiste minimale core (9.4.x), maar ik moest ook de PHP op mijn Cloudways-server updaten naar 8.1, wat ik eenvoudig kon doen met behulp van het Cloudways-beheerpaneel.

Modules bijwerken

Vervolgens zocht ik naar modules die niet compatibel waren met Drupal 10. Gelukkig had ik de niet compatibele modules niet echt nodig, dus ik heb ze gewoon gedeïnstalleerd en de bestanden en mappen uit de modules/contrib map verwijderd door in te loggen via SCP (ik gebruik WinSCP).

Ik heb alle modules bijgewerkt naar de nieuwste versie door te klikken op het versienummer in het Upgrade Status overzicht en ze in een nieuw tabblad te openen. Hier heb ik het composer command om de module bij te werken gekopieerd en geplakt in de opdrachtregel en op deze manier alle modules bijgewerkt.

Thema's bijwerken

Daarna moest ik de thema's die verouderd waren in Drupal 10, zoals Bartik, Seven, Stable en Classy, deïnstalleren. Door naar 'admin/appearance' te navigeren, kon ik Bartik en Seven eenvoudig uitschakelen en deïnstalleren. Ik installeerde Claro en stelde dit in als het beheerthema.

Maar de Stable en Classy thema's verschenen niet in het overzicht van 'appearance/themes', dus ik kon ze niet deïnstalleren. Om ze zichtbaar te maken, moest ik inloggen met SCP (je kunt ook SFTP of FTP gebruiken) en de core/themes/classy.info.yml en core/themes/stable.info.yml aanpassen en hidden van true naar false zetten. Nadat ik de cache had geleegd, kon ik nu zowel de Classy als de Stable thema's deïnstalleren.

Mijn eigen aangepaste thema was afhankelijk van Classy, dus ik moest het bestand 'themes/my_theme/my_theme.info.yml' bijwerken om het basisthema van classy naar starterkit te wijzigen (dat de verouderde Classy en Stable thema's zal vervangen). Ik moest ook de versie van mijn thema wijzigen van 9^ naar 10^ om het compatibel te maken met Drupal 10.

Drupal bijwerken

Nu de Drupal upgrade. Ik volgde de instructies zoals hier gedetailleerd beschreven en veranderde de map- en bestandsrechten met WinSCP zoals aangegeven. Ik voerde het volgende composer command uit:

composer require 'drupal/core-recommended:^10' 'drupal/core-composer-scaffold:^10' 'drupal/core-project-message:^10' --update-with-dependencies --no-update

En daarna de daadwerkelijke upgrade-opdracht:

composer update

Om de database bij te werken, navigeerde ik naar 'mijnwebsite.nl/update.php'. Ik volgde de instructies en wachtte tot de database was bijgewerkt.

Problemen oplossen

Toen ik naar de startpagina ging, kreeg ik een White Screen Of Death (WSOD) met een niet erg behulpzame foutmelding. Ik kreeg ook dezelfde WSOD bij het navigeren naar elke pagina op mijn website, dus ik kon niet inloggen om een gedetailleerdere foutmelding in de logs te bekijken. Om een nuttigere foutmelding op het WSOD weer te geven, moest ik foutmeldingen inschakelen in mijn /sites/default/settings.php bestand door de volgende code toe te voegen aan het einde:

$config['system.logging']['error_level'] = 'verbose';

De foutmelding op het WSOD vertelde me nu iets over de node_type-plugin die niet bestond. Na wat zoeken vond ik deze oplossing van montogro. Omdat ik drush nodig had om de configuratiebestanden te exporteren, heb ik het geïnstalleerd via de command line door het volgende uit te voeren:

composer require drush/drush

Daarna voerde ik de volgende opdracht uit:

drush cex

Nu kon ik de bestanden in mijn sites/default/files/myconfiguration map kopiëren naar een map op mijn lokale harde schijf. Ik opende deze map met Visual Studio Code en zocht naar 'node_type'.

Net als montogro vond ik dit terug in de Asset Injector-module. Ik heb de Asset Injector-module gedeïnstalleerd met drush met de volgende opdracht:

drush pm:uninstall asset_injector

Na het legen van de cache met drush cr vernieuwde ik de startpagina van mijn website en voilà: het werkt! Ik heb de foutmeldingen code die ik aan mijn settings.php had toegevoegd verwijderd en gecontroleerd of alles correct werkte.

Nadat ik zeker wist dat de upgrade succesvol was, ging ik terug naar mijn Cloudways Control Panel en pushde ik de staging-bestanden en database naar de live-omgeving.

Hiermee was mij Drupal 9 bijgewerkt naar Drupal 10 voltooid. Hopelijk helpt dit je om de upgrade van 9 naar 10 uit te voeren. Laat me weten in de reacties als je opmerkingen of vragen hebt.

Related Drupal blog posts

De inhoud van dit veld is privé en zal niet openbaar worden gemaakt.

Beperkte HTML

  • Toegelaten HTML-tags: <a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • Regels en alinea's worden automatisch gesplitst.