Salta al contenuto principale
Working from scratch, following simplicity

Il sito si rinnova: descrizione del passaggio a Drupal 9

A soli quattro anni esatti dal passaggio dalla versione 7 alla 8, mi sono attivato per aggiornare il mio sito alla nuova versione, ovvero Drupal 9. Spinto dagli avvisi di scadenza del supporto, fissato a partire dal 2 novembre 2021 e dal tema personalizzato diventato ormai obsoleto. Ora ha una veste più moderna e ottimizzata. Di seguito descriverò la mia breve esperienza a riguardo che per fortuna è stata meno complicata del previsto.

Il sito si rinnova: descrizione del passaggio a Drupal 9

Va subito detto che tra la versione 8 e la 9 c'è pochissima differenza, mentre l'aggiornamento rimane invariato, infatti basta:

  1. verificare che sul servizio hosting sia supportato come minimo PHP 7.3 e MySQL 5.7.8;
  2. aggiornare la cartella core e vendor con l'ultima versione disponibile (nel mio caso la 9.2.4);
  3. lanciare dal browser la pagina update.php.

Così dopo aver verificato che il mio servizio di hosting Altervista fosse compatibile (nello specifico può far girare PHP 8 e MySQL 8.0.21), non ho resistito e ho fatto l'aggiornamento, trovandomi però una schermata piena di incompatibilità legate ai moduli e al tema in uso (ne ho parlato in Come copiare in locale il proprio sito online di Drupal). Motivo per cui prima di mettere le mani sul sito online, ho preferito fare tutto il lavoro sporco sul computer.

Consiglio: evita di installare il modulo Upgrade Status, nel mio caso ho perso del tempo utile, perché ho dovuto creare una nuova versione di Drupal 8 con composer per installarlo. La schermata che fornisce poi non è molto diversa da quella che mi sono trovato lanciando update.php.

Tema

Al di là dei singoli moduli, alcuni non li avevo mai neanche usati ma solo installati, il problema principale è stato il tema, perché a suo tempo ci avevo lavorato o per essere più precisi ci avevo pasticciato parecchio e non volevo rivivere più tutta quella faticaccia artigianale e posticcia: codice Javascript, CSS e Twig personalizzato, ecc. Ora passi per Javascript e CSS che ancora uso di tanto in tanto, ma Twig? Chi se lo ricordava più.

Così ho fatto una breve ricerca tra tutti i migliori temi per Drupal 9 e sono arrivato a dover scegliere tra questi due:

Tara mi ha conquistato e ho anche deciso di comprare la versione PRO, perché aveva già all'interno le migliorie che mi servivano e dalla schermata di impostazioni potevo inserire il codice CSS per personalizzare il tutto. Alla fine ho dovuto come sempre modificare diverse cose, ma per fortuna il solo CSS ha risolto. L'unica miglioria che ho dovuto apportare è stato di rendere lo slider della pagina principale multilingua, anche se lo sviluppatore mi ha assicurato che nel prossimo aggiornamento ci sarà la soluzione che già usavo in precedenza ovvero la possibilità di inserire un blocco (ne ho parlato in Slideshow degli ultimi articoli con Views).

Nel caso specifico ho creato due classi in CSS:

/* Hide element from English and Italian language */
.hideEn:lang(en) {display: none !important;}
.hideIt:lang(it) {display: none !important;}

E quindi ora nel codice della singola slide metto entrambe le lingue. In questo modo posso scrivere una singola slide così:

 <div class="slider-item">
    <div class="slider-img">
        <img src="../sites/default/files/banner_from_remote_to_local.jpg" alt="slider" />
    </div><!-- end slider-img one -->
    <div class="slider-text-container">
        <div class="container">
            <div class="slider-text">
                <h1 class="hideIt layer1">How to copy a Drupal website from remote to local</h1>
                <p class="hideIt layer2">Generally speaking, it is the opposite, because people need to port online their website after creating it in a private environment. But it happened in 2017 and I removed it from my computer after installing a new operating system. Recently I have discovered that the support of my Drupal 8 site will end in November 2, 2021 and I have a lot of incompatibilities with Drupal 9x.  So I have to fix them in order to migrate to the new main release of Drupal. This article is born to describe the process that I followed to do the copy of my site and make it run on my computer.</p>
                <div class="hideIt layer3"><a class="button" href="/en/copy-drupal-remote-to-local">read more</a></div>
                <h1 class="hideEn layer1">Come copiare in locale il proprio sito online di Drupal </h1>
                <p class="hideEn layer2">In generale è sempre il contrario, perché si desidera portare online il proprio sito Web dopo averlo creato e modificato a piacimento in un ambiente privato. Ma questo succedeva nel 2017 e dopo non ho più avuto bisogno di tenermelo sul computer. Recentemente però ho scoperto che il supporto del mio sito Drupal 8 terminerà il 2 novembre 2021 e ho molte incompatibilità con la nuova versione 9x. Questo articolo nasce per descrivere il processo che ho seguito per fare la copia del mio sito e farlo girare di nuovo sul computer.</p>
                <div class="hideEn layer3"><a class="button" href="/it/come-copiare-drupal-da-remoto-a-locale">Maggiori informazioni</a></div>
            </div><!-- /.slider-text -->          
        </div><!-- /.container -->
    </div><!-- /.slider-text-container -->
</div><!-- end slider-item one -->

Moduli

Infine i moduli, quasi tutti avevano già una versione compatibile alla 9.x e li ho dovuti solo disinstallare e aggiornare a quella nuova. Invece per Video Filter e Header and Footer Scripts ho dovuto applicare la patch disponibile nella relativa pagina dei problemi. Nella fretta poi di aggiornare i moduli con i filtri per CkEditor: Footnotes, Mathjax e Video Filter mi sono ritrovato con il sito completamente privo di testo, perché mi ha anche eliminato il formato di testo che avevo creato per editare tutti i testi negli articoli, menu e pagine varie. È stato difficile venirne a capo in un primo momento.

Alla fine mi è servito creare una versione locale del mio sito?

Purtroppo sì, per tre validi motivi:

  1. Applicare la patch dei due moduli descritti sopra;
  2. Evitare di fare gli stessi errori commessi, come quando disinstallando i plugin di CKEditor ho anche eliminato i formati di testo con cui avevo inserito quasi tutti i contenuti del sito, con il risultato di trovarmi un sito privo di qualsiasi testo.
  3. Configurare con calma il nuovo tema senza lasciare il sito online in manutenzione per diversi giorni (me la sono presa un po' troppo comoda).

PRO

  • Passaggio dalla 8 alle 9 facile e semplice;
  • Sito in locale consigliato per sveltire la procedura e limitare i danni a zero.

CONTRO

  • Modulo Upgrade Status inutile, basta quanto visualizzato sulla sola pagina update.php.

Aggiungi un commento

Plain text

  • Nessun tag HTML consentito.
  • Indirizzi web ed indirizzi e-mail diventano automaticamente dei link.
  • Linee e paragrafi vanno a capo automaticamente.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.

Aggiungi un commento

Il contenuto di questo campo è privato e non verrà mostrato pubblicamente.

Plain text

  • Nessun tag HTML consentito.
  • Indirizzi web ed indirizzi e-mail diventano automaticamente dei link.
  • Linee e paragrafi vanno a capo automaticamente.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.
Sponsored Links
Pubblicità

Nicola Rainiero

Ingegnere civile specializzato in geotecnica con l'ambizione di facilitare la propria attività lavorativa usando e creando software libero per un sapere condiviso e collettivo. Mi occupo anche di energie rinnovabili ed in particolare di geotermia a bassa entalpia. Sono da sempre appassionato di web design e modellazione 3D.