Drupal 8 End of life 2 Novembre 2021: the ultimate guide per l’upgrade a Drupal 9
A partire dal 2 Novembre 2021 Drupal 8 andrà nello stato di "End of life", ossia non riceverà più aggiornamenti, inclusi gli aggiornamenti di sicurezza. Questo implica che a partire da quella data, se si scoprisse una falla nel Content Management System (CMS) non ci sarebbero rimedi dalla community Drupal come sempre capita, e la sicurezza del sito potrebbe essere compromessa.
Effettuare l’upgrade a Drupal 9, pertanto, rappresenta un must per mantenere il tuo sito al sicuro da attacchi che mirano a sfruttare vulnerabilità conosciute.
L’aggiornamento del CMS si è reso necessario perchè Drupal 8 integra dei componenti di un framework chiamato Symfony, che a sua volta metterà in end of life la versione 3 del suo core e deve pertanto seguirne l'evoluzione.
Per assurdo, Drupal 7, la versione precedente del CMS, andrà in End of life un anno dopo. Originariamente anche l’end of life per Drupal 7 era stato fissato per il 2 Novembre 2021, ma poiché ad oggi esiste ancora un numero elevato di siti Drupal 7 in produzione, e poichè Drupal 7 non si basa su nessun framework che va in End of life, la sua vita è stata allungata di un anno.
Il tempo necessario per completare l’upgrade da Drupal 8 a Drupal 9 dipende molto dalla complessità di ogni sito web; per questo la community di Drupal ha messo a disposizione un modulo per agevolare l’operazione chiamato “Upgrade status”, strumento indispensabile da cui partire per una analisi delle complessità che si dovranno affrontare nella procedura di upgrade a Drupal 9.
Grazie a questo modulo è possibile avere subito una panoramica di tutti i moduli utilizzati sui siti web per cui esiste o meno una versione per Drupal 9, nonché evidenzia altre problematiche e incompatibilità che vanno risolte per portare a termine l’operazione con successo.
Vediamo di seguito alcuni passaggi che consigliamo di seguire per completare l’upgrade a Drupal 9:
- Creare un ambiente di sviluppo separato nel quale effettuare la procedura di upgrade. L’operazione quasi sicuramente causerà dei downtime, pertanto è meglio effettuarla su un ambiente separato da quello di produzione;
- Controllare il report generato dal modulo “Upgrade status”, e risolvere tutte le incompatibilità relative a moduli della community, temi e codice personalizzato;
- Installare il modulo “Unused modules” che mostra i moduli non utilizzati: questi si potranno eliminare tranquillamente, evitando così di perdere del tempo prezioso;
- Con unused modules eliminare tutti quelli inutilizzati disinstallandoli e poi rimuovendoli con il comando Composer remove (se presente Composer nel progetto);
- Controllare se il sito sta ancora funzionando;
- Fare l’update di tutti i moduli segnalati come da aggiornare in upgrade status con Composer update;
- Se un certo modulo non dovesse aggiornarsi è molto probabile che la nuova versione sia su una nuova branch per cui bisogna andare sul sito del modulo, cliccare sulla nuova versione, copiare tutta la dicitura “composer require 'drupal/nomemodulo:^x.x” e lanciare il comando da terminale;
- Al termine degli update dei moduli bisogna lanciare drush updatedb ed installare eventuali update del db;
- Se per un modulo della community non fosse stata rilasciata ancora una versione compatibile con la versione 9, bisognerà verificare la presenza di una patch correttiva da poter installare fin quando il porting non sarà realizzato, qualora non fosse presente sarà necessario disinstallare il modulo e cercarne uno alternativo tra quelli disponibili e pronti per la nuova versione del CMS.
- Per il codice personalizzato invece sarà possibile lanciare da shell (e tramite il cli “Drush”) il seguente comando “drush us-a” seguito dal nome macchina del modulo personalizzato da analizzare. Al termine dell’operazione verranno mostrate tutte le righe di codice non compatibili con la nuova versione del CMS seguite da opportuni suggerimenti per effettuare correttamente il porting.
- Se è stata utilizzata una versione di MariaDB < 10.3 sarà necessario programmare l’aggiornamento di quest’ultimo pacchetto al fine di avere piena compatibilità con la nuova versione del Core.
- Effettuare infine l’upgrade a Drupal 9 seguendo questa guida: https://www.drupal.org/docs/upgrading-drupal/upgrading-from-drupal-8-to-drupal-9-or-later;
Il tuo sito è ancora su Drupal 8 e non hai ancora iniziato l’upgrade a Drupal 9? Oppure hai iniziato l’upgrade ma stai avendo problemi? Contattaci subito, il nostro team di sviluppatori Drupal sarà lieto di supportarti in questa operazione.