Scelta dell’approccio all’aggiornamento
Panoramica
Quando ci si prepara ad aggiornare a Drupal 8, è consigliabile prendersi del tempo per pianificare l’approccio all’aggiornamento. Anche se i contenuti del tuo precedente sito Drupal probabilmente potranno essere migrati senza problemi, per la configurazione del tuo sito Drupal 8 saranno probabilmente necessari alcuni passaggi manuali. Ad esempio, il modulo Views non dispone ancora di un aggiornamento automatico nel core, il che significa che dovrai ricreare manualmente le viste nel tuo sito Drupal 8. L’approccio più adatto deve essere valutato per ciascun sito.
Approccio semplice con passaggi manuali post-aggiornamento
Con questo approccio, l’aggiornamento viene eseguito una sola volta, e i passaggi manuali post-aggiornamento (ad esempio la creazione delle viste) vengono completati nel sito Drupal 8 prima della sua pubblicazione.
Si consiglia di esercitarsi prima con un aggiornamento di prova e di monitorare attentamente i passaggi manuali post-aggiornamento. Se sei soddisfatto dell’ambiente di test, ripeti gli stessi passaggi e configura l’ambiente di produzione Drupal 8 con una nuova installazione pulita.
Questo approccio può essere applicato con:
Aggiornamento incrementale con passaggi manuali post-aggiornamento
A seconda della quantità e complessità dei passaggi manuali post-aggiornamento, potrebbe non essere possibile mantenere il vecchio sito offline mentre vengono completati i passaggi manuali nel nuovo sito Drupal 8. Se il vecchio sito rimane online mentre vengono eseguiti i passaggi manuali sul nuovo sito Drupal 8, gli utenti potrebbero continuare a creare o aggiornare contenuti sul sito precedente.
Drupal 8 supporta aggiornamenti incrementali. Questo significa che le migrazioni possono essere eseguite nuovamente per importare contenuti nuovi o aggiornati. Non è consigliato modificare la configurazione del sito sorgente tra la migrazione iniziale e quella incrementale.

Questo approccio può essere applicato con:
Migrazione dei contenuti solo negli ambienti STAGING e PROD
Uno dei concetti più potenti introdotti in Drupal 8 è il migliorato sistema di gestione della configurazione, che permette di distribuire l’intera configurazione Drupal da un ambiente all’altro. Una configurazione tipica prevede un ambiente di sviluppo (DEV), un ambiente di test (STAGING) e un ambiente di produzione (PROD), che rappresenta il sito live accessibile agli utenti finali. In Drupal 8 tutte le configurazioni possono essere esportate come file YAML e importate in un altro ambiente.
Se prevedi di utilizzare ambienti separati DEV, STAGING e PROD, uno degli approcci possibili è mostrato nell’immagine seguente. È importante capire che le entità di Drupal possono essere classificate come segue:
- Entità di contenuto (utenti, nodi, termini di tassonomia, ...)
- Entità di configurazione (tipi di contenuto, campi, viste, tutte le impostazioni di configurazione)

Il processo di aggiornamento mostrato nell’immagine sopra funziona così:
1. L’ambiente DEV di Drupal 8 viene aggiornato dal sito sorgente.
2. Il sito sorgente rimane online (gli utenti possono creare o modificare contenuti). Nel frattempo la configurazione viene completata nell’ambiente DEV di Drupal 8.
3. Le configurazioni possono essere distribuite da DEV a STAGING tramite il sistema di gestione della configurazione di Drupal 8. In genere viene usato un sistema di versionamento (ad esempio Git).
4. Una volta completata la configurazione in STAGING, i contenuti possono essere migrati dal sito sorgente a STAGING per i test di accettazione finale. Una volta superati i test, il sito PROD di Drupal 8 viene distribuito e i contenuti vengono migrati dal sito sorgente al sito PROD di Drupal 8.
Questo approccio richiede l’aggiornamento utilizzando Drush. Esistono diverse varianti di questo approccio.
- Consulta la pagina sull’aggiornamento con Drush per scoprire come generare le migrazioni.
- L’aggiornamento a Drupal 8 in DEV (step 1 nell’immagine sopra) può essere effettuato eseguendo tutte le migrazioni con
drush migrate-import --alloppure lanciando singolarmente le migrazioni necessarie condrush migrate-import <nome_migrazione>. - L’aggiornamento solo dei contenuti (step 4 nell’immagine sopra) può essere effettuato eseguendo tutte le migrazioni contrassegnate come contenuto con
drush migrate:import --tag=Contentoppure eseguendo singolarmente le migrazioni desiderate condrush migrate-import <nome_migrazione>. È anche possibile elencare le migrazioni desiderate in un file manifest.