Migrazione da Drupal 7 a 8 - Una guida pratica che affronta le sfide della migrazione (con consigli)
Pubblicato: 2020-02-27Hai in mente la migrazione di Drupal da 7 a 8? Stai ancora eseguendo il tuo sito web su Drupal 7 (o 6)? È ora di migrare a Drupal 8!
Abbiamo scritto ampiamente sul motivo per cui dovresti migrare a Drupal 8 se sei ancora su Drupal 7 (o 6). Tuttavia, uno dei nostri motivi preferiti (e significativi) per migrare a Drupal 8 è che... Drupal 9 sta arrivando! E se vuoi godere dei vantaggi di Drupal 9, ti consigliamo di migrare prima da Drupal 7 a Drupal 8. Potremmo sostenere che dovresti passare a Drupal 8 ora perché non c'è abbastanza tempo una volta che Drupal 9 è qui (giugno 2020) e l'EOL di Drupal 7 (novembre 2021). Ma potresti affermare che puoi invece optare per un LTS (supporto a lungo termine)! Abbastanza giusto. Tranne che oltre a spendere più soldi per coinvolgere un fornitore di servizi LTS, stai anche perdendo i ricchi vantaggi che Drupal 8 ha da offrire. Alcune cose possono sembrare difficili ma sono necessarie per un futuro più forte e più semplice.
Una volta su Drupal 8, non devi più "migrare" - solo un semplice "aggiornamento" da Drupal 8.9 a 9, e poi da 9.9 a 10 e così via, lo farà. Una migrazione da Drupal 7 a Drupal 8 non è sempre facile e diretta; Concordo. Seguire un processo aiuta, ma potresti comunque dover affrontare alcune sfide durante la migrazione, specialmente se il modello di contenuto del tuo sito web Drupal 7 è considerevolmente complesso. Ti guideremo attraverso una migrazione passo passo da Drupal 7 a Drupal 8 con le sfide che potresti dover affrontare. E i nostri consigli su come superarli.
Drupal 8 Migrate – Presupposti e preparativi
“ Essere preparati è metà della vittoria ”, ha detto il romanziere spagnolo Miguel De Cervantes. Una migrazione di Drupal 8 può diventare complicata, ma se hai dedicato abbastanza tempo alla pianificazione della migrazione, le sfide non ti sorprenderanno. L'adozione da parte di Drupal 8 di molti standard di sviluppo moderni come Symfony, Twig, PHP 7, ecc. ha portato a questa ricostruzione completa, ma richiede anche esperienze digitali più potenti, robuste e flessibili. Sono elencate alcune pre-condizioni che dovresti ricordare prima di iniziare la migrazione di Drupal da 7 a 8:
- Aggiorna il tuo sito web Drupal 7 all'ultima versione disponibile. Ciò aiuterà negli aggiornamenti automatici più puliti di alcuni dei moduli che hanno percorsi di aggiornamento diretti di Drupal 8.
- Assicurati di avere accesso al database e ai file del sito web di Drupal 7 (pubblici e privati).
- Crea un backup del sito Web di Drupal 7 e utilizza questo backup per la migrazione di Drupal 8. Non è consigliabile migrare un sito Web funzionante dal vivo sebbene la migrazione stessa non apporti alcuna modifica all'origine.
- Scarica una nuova installazione di Drupal 8 da qui e abilita i moduli principali di migrazione di cui abbiamo discusso sopra. E ricorda, DEVE essere fresco! Qualsiasi configurazione effettuata o contenuto creato verrà sovrascritto quando viene eseguito un aggiornamento di Drupal 8.
- Non esiste un percorso di aggiornamento diretto da Drupal 7 a Drupal 8 (a differenza degli aggiornamenti della versione precedente). Familiarizza con il sistema di migrazione di Drupal 8. I tre moduli che sono nel core: modulo Drupal 8 Migrate , modulo Drupal 8 Migrate Drupal e modulo Drupal 8 Migrate Drupal UI .
- Fai la tua scelta di migrazione: utilizzerai Drush (che ti offre un controllo granulare) o utilizzerai l'interfaccia utente del browser (più semplice ma con meno controllo)?
- Conosci la tua fonte. La flessibilità del sistema di migrazione dei contenuti Drupal consente di estrarre e caricare contenuti da versioni precedenti di Drupal e varie altre fonti come CSV, XML, JSON, MYSQL, ecc.
- Per una migrazione dei contenuti Drupal senza problemi, esegui un controllo completo dei contenuti per identificare i contenuti che devi migrare. Elimina i contenuti inutilizzati e irrilevanti per evitare di sprecare tempo e fatica nella loro migrazione.
Il processo di migrazione da Drupal 7 a 8 (passo dopo passo)
Osserva e pianifica
Una migrazione dei contenuti Drupal senza problemi richiede di identificare prima i tipi di contenuto e la struttura del contenuto del sito esistente e documentare le osservazioni. Ciò include tipi di contenuto, tipi di campo, blocchi, tassonomie e così via. Preparare un piano su ciò che è necessario migrare e ciò che deve essere unito, in base a queste osservazioni. Analizza le viste e le altre configurazioni del sito e catalogale in modo che sia più facile replicarle in Drupal 8.
Crea una lista di controllo dei moduli del tuo sito web Drupal 7
Con questa lista di controllo dovresti essere in grado di identificare i moduli che ti servono ancora, o se esiste una versione Drupal 8 di quel modulo, o se il modulo è ora spostato su Drupal 8 Core (come il modulo Media). Non tutti i moduli Drupal 7 possono essere migrati automaticamente a Drupal 8. Alcuni moduli Drupal 7 potrebbero aver unito le loro funzionalità in un singolo modulo Drupal 8. E alcuni moduli Drupal 7 potrebbero aver separato le loro funzionalità in due o più moduli Drupal 8. È sempre meglio analizzare questi casi per essere sicuri che non ci siano perdite di dati!
Raccomandazione dell'esperto : utilizzare un modulo come l'interfaccia utente di Drupal Migrate per identificare i moduli Drupal 7 e il modulo Drupal 8 corrispondente (se disponibile o meno).
Suggerimento per professionisti : nessuna versione del modulo disponibile per Drupal 8? Ad esempio, il modulo ImageField in Drupal 7 non ha un modulo D8 corrispondente. Potremmo dover trovare la migliore alternativa disponibile per questo in Drupal 8. Ovviamente abbiamo il modulo Drupal 8 core Media. Tuttavia, dovremo sviluppare script personalizzati per migrare i dati dell'immagine. migrare i dati dell'immagine.
Raccomandazione dell'esperto – Se hai appena ereditato un sito Web D7 e non hai idea delle personalizzazioni apportate ai moduli OPPURE Se hai effettuato personalizzazioni da solo e hai bisogno di trovarle, ti consigliamo di utilizzare Hacked! modulo. Questo modulo passerà attraverso l'elenco dei moduli disponibili sul sito e le modifiche/personalizzazioni apportate a ciascun modulo.
Replica e costruisci
Replica i tipi di contenuto, le tassonomie e tutte le entità richieste nell'istanza D8. Le viste devono essere create manualmente dopo aver creato e replicato i contenuti.
Raccomandazioni degli esperti –
- I file modello (.tpl) in Drupal 7 dovrebbero essere scritti e riscritti usando i file twig, che fa parte del framework symphony 2.
- Assicurati di riscrivere i tuoi moduli personalizzati che seguono gli standard sinfonici.
Implementazione della migrazione di Drupal da 7 a 8
Il passo più atteso e significativo è arrivato. Come discusso in precedenza, ci sono due modi per migrare i tuoi dati da Drupal 7 a Drupal 8:
- Esecuzione di una migrazione con l'interfaccia utente di Drupal
- Eseguire una migrazione con il Drush
Quest'ultimo è consigliato in quanto è più efficiente, può essere incorporato negli script di shell e ha messaggi di errore più chiari.
Metodo dell'interfaccia utente Drupal
Sfruttando il modulo Migrate UI Drupal 8, puoi iniziare visitando il percorso /upgrade del sito Web Drupal 8. La pagina di revisione dell'aggiornamento a Drupal 8 ti mostrerà un elenco di moduli nel tuo sito Drupal 7 che possono e non possono essere migrati automaticamente a Drupal 8. Per i moduli che hanno le loro funzionalità in un altro modulo D8 ma non esattamente le stesse (come il modulo AddressField in D7 è ora il modulo Indirizzo in D8), sarà necessario installare e abilitare il modulo D8 corrispondente e riavviare il processo di migrazione da Drupal 7 a 8. Sulla base del catalogo del contenuto e dei dati estratti, è necessario creare gli script di migrazione in cui si mappano gli attributi del tipo di contenuto di Drupal 7 con gli attributi del tipo di contenuto appena creati di Drupal 8. Successivamente è possibile procedere con l'importazione dei dati da un fonte di dati.
Metodo Drush
Sei a tuo agio con il terminale? In tal caso, dovresti optare per il metodo Drush per la migrazione da Drupal 7 a 8. Fornisce una serie di comandi per il processo di migrazione dei dati con messaggi di stato migliori. Dai un'occhiata a questo tutorial se stai cercando una procedura di migrazione passo passo utilizzando i comandi Drush. Non hai mai usato Drush prima? Questa guida ti aiuterà a comprendere le basi di Drush con un elenco di comandi utili per la migrazione.
Potresti incorrere in alcuni conflitti ora. Assicurati di aver verificato la presenza di problemi noti in Drupal. org e come risolverli. Una volta risolto il problema, ora puoi eseguire il processo di migrazione che fornisce log/feedback continui delle azioni intraprese. Infine, controlla i log per eventuali errori, correggili e sei a posto!
Raccomandazione dell'esperto: aspetta! Una volta creato il contenuto, non trascurare mai le visualizzazioni SEO/pagina. Abbiamo bisogno che il contenuto abbia gli stessi percorsi URL. Non dimenticare di occuparsi della migrazione degli alias URL, meta tag informazioni del contenuto dal vecchio sito Drupal 7.
test
Ci sono momenti molto rari in cui si verificano zero problemi durante una migrazione da Drupal 7 a Drupal 8. Una volta completata la migrazione, è assolutamente necessario eseguire un test di regressione della configurazione e dei contenuti appena importati per identificare potenziali bug o problemi.
Sfide e consigli (più esperti)
- Molti moduli che hanno contribuito a Drupal 7 hanno versioni migliori di se stessi in Drupal 8 e alcuni sono stati deprecati. Ad esempio, il modulo Raccolta campi, utilizzato per raggruppare i campi in Drupal 7, sarà presto deprecato. La funzionalità di questo modulo è stata aggiunta al modulo Paragrafi e al modulo Revisione riferimento entità in Drupal 8. Il modulo Drupal 8 Paragrafi offre un'immensa flessibilità agli editor/autori di contenuti per creare moduli e strutture senza soluzione di continuità. Se è necessario migrare il modulo Raccolta campi e mapparlo al modulo Paragrafi (D8), sarà necessario scrivere plug-in personalizzati per mappare il contenuto tra i campi Raccolta campi ai campi Paragrafo. O se vuoi continuare a migrare il modulo Field Collection anche in Drupal 8, questa mappatura dei campi può essere gestita dai plugin di migrazione Core disponibili.
- Utilizzi i pannelli per creare le tue pagine di destinazione come Home page, Dashboard, ecc.? Anche se hai solo bisogno di inserire un blocco nella home page? Costruttore di layout in soccorso! Layout Builder in Drupal 8 semplifica la personalizzazione di una landing page per un editor di contenuti. Sfruttiamo al meglio le funzionalità di Drupal 8. Per migrare da Panels a Layout builder, dovrai scrivere alcuni plugin di migrazione personalizzati.
- Durante la migrazione degli utenti, dovremo mantenere anche le password in modo che l'utente non debba ricreare la password sul nuovo sito. Le password sono contenuti con hash. Quindi, devi trovare l'algoritmo del tipo di hash utilizzato nel sito di origine. Prossimo. scrivere un processo per convalidare la password migrata con la password ripetuta utilizzando lo stesso algoritmo.
- Durante l'esecuzione di una migrazione da Drupal 7 a 8, potresti esaurire le risorse di sistema che potrebbero causare l'interruzione della migrazione. Grazie ai segni di highwater, puoi eseguire di nuovo la migrazione e dovrebbe riprendere da dove era stata interrotta.
- Il modulo Funzionalità ampiamente utilizzato in Drupal 7 ora è quasi diventato obsoleto dopo che Gestione della configurazione ha rilevato tutte le funzionalità Funzionalità e altro in Drupal 8. Sebbene il modulo Funzionalità sia disponibile anche in Drupal 8, si consiglia vivamente di sfruttare la configurazione di Drupal 8 Sistema di gestione. Non è solo più semplice da usare, è facile da esportare tra ambienti, utilizza i formati di file YAML invece di PHP, che è un formato di dati più leggibile e corretto.
- Se hai un sito web multilingue Drupal 7 (o 6), puoi sfruttare il modulo Migra Drupal Multilingual. Sebbene il modulo multilingue Migrate Drupal sia ancora in una fase sperimentale, è un modulo indispensabile per tutti i siti Drupal multilingue.
- Hai problemi con la migrazione da Drupal 7 a Drupal 8? Esistono diversi modi per segnalare errori e ottenere assistenza:
- Coda di problemi di aggiornamento di Drupal 8
- Coda di problemi del modulo se trovi un bug o un'eccezione con un modulo principale/contribuito
- Il canale IRC #drupal-migrate su Freenode
- Il canale #migrazione su Drupal Slack
- Assumi un esperto Drupal

