da Drupal 6 a Drupal 7 - Istruzioni per Upgrade

Dopo un paio di tentativi non andati a buon fine sono finalmente riuscito a portare a termine il porting tra Drupal 6 a Drupal 7, proprio su questo sito. E questo è il primo post pubblicato con la nuova versione.

Alcune considerazioni preliminari prima di passare alla lista di cose da fare. La documentazione che ho trovato in giro, non era sempre il massimo per chiarezza, con il rischio che vengono trascurati passaggi delicati.

La prima considerazione è che se il sito ha numerosi moduli. Dai 50 in su. La situazione è parecchio complicata. Gran parte dei moduli di Drupal 6.x non hanno una versione per il Drupal 7.x. Diciamo però che almeno i più rappresentativi e importanti, come Views e Panels ci sono.

C'è anche un bel modulo per la migrazione dei campi di CCK, perchè come ben sapete in Drupal 7.x è stato integrato nel Core. Anche qui però se i campi che avete creato sono molti, la migrazione non sarà così facile e indolore.

Questo sito è abbastanza semplice, con giusto un paio di tipi di contenuto ed un paio di campi personalizzati su ognuno. Ecco un campo non è riuscito a migrarlo. Uno tra i più importanti ovviamente. Cioè l'anteprima degli articoli.

Teoricamente gli image styles avrebbero docuto replicare i preset di imagecache, invece nisba. Risultato che non c'era più nemmeno un'immagine. Ho dovuto ricreare il campo nel tipo di contenuto, e un nuovo stile per le immagini. Bene, dopo vari sbattimenti comunque ce l'ho fatta. Ed eccoci su Drupal 7.31, che mi sembri giri bene. Php 5.4.

 

UPGRADE DRUPAL 6 A DRUPAL 7

1) Eseguire un BackUp di tutto il sito: Database e File.

per backuppare il database si può andare da Cpanel alla voce dedicata "Backup", oppure da PhpMyadmin, cliccando su esporta.

2) Scaricare l'ultima versione di Drupal 7

3) Ricercare e scaricare tutti i moduli aggiuntivi che avete sul sito, nella loro versione per Drupal 7

4) Creare una nuova directory chiamandola DRUPAL7 all'interno della directory sites. Otterrete qualcosa del genere:

sites/all/DRUPAL7

5) Caricare tutti i moduli aggiuntivi, aggiornati alla versione per Drupal 7, precedentemente scaricati, nella directory DRUPAL7.

6) Mettere il sito Off Line / Manutenzione

7) Disabilitare tutti i moduli aggiuntivi, eccetto quelli del Core

8) Disabilitare i temi aggiuntivi e impostare il sito su un tema di default, ad esempio Garlanda

9) Sovrascrivere il core con la versione per Drupal7. ATTENZIONE, sovrascrivere significa prima eliminare il vecchio core, tranne la cartella sites, e i file .htaccess e robots.txt. E poi caricare il nuovo core, ovviamente senza la cartella sites e i file htaccess e robots.

E' un passaggio importante, perchè se si copia incolla il nuovo core sul vecchio via FTP, si manda in vacca tutto.

fae update.php

10) Bene, se tutto è filato liscio ora avete il nuovo core di Drupal 7, e già nella pagina di amministrazione ve ne accorgerete. Adesso bisogna recuperare i moduli. Andare a prendere la cartella precedentemente creata DRUPAL 7 e spostarla dentro all/sites/modules.

11) Creare una cartella DRUPAL 6 e metterci tutti i moduli vecchi. sites/all/modules/DRUPAL6

12) Estrarre tutti i moduli dalla cartella DRUPAL 7, ed eliminare la cartella DRUPAL 6. e poi update.php

13) Ora abilitare i moduli aggiuntivi aggiornati alla versione Drupal 7, facendo update.php per ogni nuovo modulo abilitato.

14) Se tutto funiona, fatevi i complimenti, e poi però bisogna migrare i campi CCK sui nuovi field integrati nel core di Drupal 7. Per cui scaricare il modulo CCK per Drupal 7, che comprende anche il modulo migrate field. Abilitarlo come al solito. Andare su -> struttura ->migrate field.

 

15) selezionare tutti i campi di cck da migrare e inviare la migrazione.

16) Sperare che la migrazione vada a uon fine subito. Molto dipende dal tipo di campi che avete creato. Alcune formattazioni particolari si perdono, e fin ora non le ho ritrovate.

 

L'operazione è sicuramente complessa, ma con questi passaggi in circa 6 / 7 ore sono riuscito a portare un sito di piccole/medie dimensioni da Drupal 6 a Drupal 7.

Probabilmente usando Drush si guadagna tempo, ma non ho ancora approfondito. Più che altro perchè gli accessi SSH non sono così scontati sugli hosting condivisi italiani.

Ho in programma di prendere una VPS a Los Angeles. Vederemo.

Intanto buon Drupal a tutti.