Tenere aggiornato PrestaShop è molto importante, non solo per integrare nuove funzionalità, ma anche per aumentare la sicurezza della piattaforma ecommerce open source. Rispetto alle versioni precedenti l'aggiornamento a PrestaShop 1.7 è più problematico, anche il semplice passaggio dalla versione 1.7.5 alla versione 1.7.8 del CMS risulta maggiormente impegnativo, per esempio il passaggio delle codifica utf8 alla codifica utf8mb4, genera diversi errori durante upgrade di PrestaShop che vanno risolti prima di iniziare l'aggiornamento. Per questo è importantissimo il Backup.  

1. Prima di tutto il Backup

Il backup è la fase più importante, si consiglia di farlo anche prima di installare o aggiornare i moduli, per quanto sia possibile effettuarlo direttamente dal modulo 1ClickUpdate, si consiglia di usare sistemi esterni a PrestaShop: per esempio effettuarlo tramite il panello di controllo Plesk (vedi Backup con Plesk). La motivazione è semplice, non solo è più sicuro, ma il tempo necessario sia per il backup che per il suo ripristino è molto inferiore, rispetto l'uso del plug-in di aggiornamento. 

2. Aggiornare PrestaShop 1.6 a PrestaShop 1.7

Un aggiornamento di PrestaShop 1.6 (o precedente) verso la 1.7 tramite 1ClickUpdate o procedura manuale, fallisce nel 99% dei casi, soprattutto se effettuato da utenza non esperta. Per passare dalla versione 1.6 del CMS alla versione 1.7 è necessario effettuare una vera e propria migrazione, effettuando un'installazione pulita di PrestaShop 1.7 e migrando i soli dati della versione vecchia.

Questa operazione è da affidare a un esperto: come agenzia  offriamo un servizio di aggiornamento / migrazione completo di tutto il necessario. 

3. Passaggio della codifica utf8 a utf8mb4

Se stai aggiornando il CMS dalla versione 1.7.5 alle ultime 1.7.7 puoi ricevere l'errore seguente:

Errore SQL nella query Index column size too large. The maximum column size is 767 bytes.

Questo perché PrestaShop ha deciso di passare alla codifica utf8mb4 delle tabelle del Database, in quanto incrementa la compatibilità con i caratteri latini. Però sia aggiornando manualmente che tramite 1ClickUpdate, si riceve un errore che blocca l'aggiornamento. 

Se stai aggiornando manualmente ti basterà modificare il file: install/data/db_structure.sql cercando le occorrenze seguenti:

ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8mb4 COLLATION;

e sostituendole così:

ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COLLATION;

Errore durante l'upgrade tramite il modulo 1ClickUpdate

Durante l'aggiornamento con 1ClickUpdate alla versione 1.7.7.0 nei log possono apparire una serie di errori:

SQL 1.7.7.0 1709 in ALTER TABLE `ps_order_state` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci: Index column size too large. 
SQL 1.7.7.0 1709 in ALTER TABLE `ps_page_type` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci: Index column size too large.

In questo caso nessun panico, ripristiniamo il backup (punto 1) e prima di lanciare nuovamente l'upgrade di PrestaShop eseguiamo le seguenti Query nel database tramite PhpMyAdmin:

ALTER TABLE `ps_order_state` ROW_FORMAT=DYNAMIC;
ALTER TABLE `ps_page_type` ROW_FORMAT=DYNAMIC;

4. Aggiornamento tramite 1ClickUpdate

Come abbiamo visto esiste anche la possibilità di aggiornare il CMS in modalità manuale, ma in questa guida parleremo della modalità più semplice che può essere eseguita anche da chi non ha una grande esperienza e formazione. Ovviamente sconsigliamo di utilizzare una qualsiasi piattaforma eccommerce sia essa stessa Hosted o SaaS (es. Shopify) senza affidarsi a un'agenzia, un freelance o un dipendente correttamente formato. Pure la contabilità aziendale si può tenere in autonomia, senza necessità di rivolgersi a un commercialista esterno, fatto salvo che si abbia una figura analoga tra il proprio organico aziendale, altrimenti sarebbe una pessima idea.

5. Installare o aggiornare 1ClickUpdate

Se il modulo è già installato, controlliamo se è l'ultima versione o se è necessario effettuare l'upgrade del modulo. Nulla di più semplice se è già nell'elenco dei moduli e serve aggiornarlo al posto di "Configura" apparirà la scritta "Upgrade", basterà fare click sulla stessa per fare l'upgrade. Se è già aggiornato possiamo cliccare su: Configura.

upgrade prestashop

Se non è presente nella nostra lista moduli di PrestaShop, possiamo installarlo, l'operazione è molto semplice basterà andare in: Moduli -> Catalogo Moduli e ricercare il modulo, una volta trovato, cliccando su "Installa", andremo ad aggiungerlo alla nostra lista moduli.

Installare 1-Click Upgrade

6. Verifiche prima dell'aggiornamento

Prima di effettuare l'aggiornamento della versione è molto importante verificare di avere l'ultima versione di tutti i moduli di terze parti installati, e che gli stessi siano compatibili con l'ultima versione di PrestaShop. Contrariamente alla versione 1.6 del CMS, la 1.7 presenta moltissime differenze nelle versioni più aggiornate dovute alla migrazione del back-end al framework Symfony, di conseguenza i plug-in devono essere sempre adattati e aggiornati dai rispettivi developer. Con la versione 1.7 è indispensabile dunque avere sempre un abbonamento Business Care che dia accesso ad assistenza e aggiornamenti.

Verificare di avere l'ultimo aggiornamento del Template in uso. Nel caso del Tema Warehouse, grazie all'attenzione posta dallo sviluppatore IQIT COMMERCE, l'aggiornamento del template è molto semplice, basterà scaricare il pacchetto e una volta scompattato seguire le istruzioni contenute nella cartella Updates relative alla nostra versione sia di PS che del template in uso. 

7. Mettere in manutenzione PrestaShop

Nelle ultime versioni del modulo di aggiornamento, è possibile mettere in manutenzione l'ecommerce direttamente dal modulo stesso nella nella checklist di controllo dei requisiti per l'aggiornamento. La messa in manutenzione è obbligatoria per procedere con l'update di versione, ma è anche altamente consigliata prima di aggiornare o installare un modulo. Possiamo attivarla e disattivarla andando in: Parametri Negozio -> Generale -> Manutenzione.

Impostare la modalità manutenzione di PrestaShop

8. Configurare le opzioni di Aggionamento

Prima di procedere è molto importante controllare e configurare le opzioni di aggiornamento, anche se avete un server dedicato consigliamo di tenere il valore "performance del server" basso o medio, meglio metterci un po' di più andando sul sicuro che dover ripristinare la vecchia versione con il Rollback o tramite ripristino del backup da Plesk o Cpanel. Configuriamo dunque il modulo come nell'immagine seguente:

Configurare 1-Click Upgrade

9. Configurare il Rollback

Se non disponete di un Hosting Plesk o di Cpanel, potete ricorrere alla funzione Rollback del modulo 1-Click Upgrade; è doveroso premettere che non sempre se qualcosa va storto sarà possibile effettuare il ripristino della versione precedente tramite il modulo di aggiornamento e che sia il backup che il ripristino richiede molto, molto tempo. Può capitare su hosting economici e non prestanti, di trovarsi con un Time Out del server errore 502 o 503. Questo è uno dei motivi per cui consigliamo di non lesinare mai sull'hosting per il proprio ecommerce. 

Impostazione Backup

Nel caso vada storto qualcosa durante l'aggiornamento potremo ritornare indietro selezionando il backup e cliccando su Rollback. 

Ripristino backup

10. Effettuare l'aggiornamento di PrestaShop

Ora siamo pronti per effettuare l'aggiornamento di PS, all'ultima versione disponibile il modulo 1ClickUpdate si occuperà di tutto in automatico, avvertendoci in caso di errori. Nella maggioranza dei casi le impostazioni di default vanno benissimo, possiamo comunque optare per "Altre opzioni (Per esperti), per esempio se vogliamo effettuare un aggiornamento a una versione precedente all'ultima (funzione che non vedremo in questa guida).

Cliccando su "UPGRADE PRESTASHOP NOW!" inizieremo il nostro upgrade.

Se tutto è andato bene nei log dell'aggiornamento, apparirà la scritta: "Aggiornamento Completo". Possiamo dunque rimettere online l'ecommerce togliendolo dalla modalità di manutenzione. Dopo un aggiornamento o l'installazione di nuovi moduli è consigliato effettuare delle prove di registrazione e di ordine, al fine di controllare che tutto funzioni. Un Check-UP completo è sempre d'obbligo.

Conclusioni

Come abbiamo visto aggiornare PrestaShop non è un operazione complessa, ma nasconde una serie di problematiche, soprattutto su ecommerce customizzati con modifiche e ottimizzazioni. Di conseguenza oltre a un backup completo prima di procedere è importante affidarsi ad esperti PrestaShop, ricorrere alla consulenza dopo aver effettuato l'update in autonomia, può costare più caro che non chiedere assistenza certificata in agenzia.

Approfondimenti

Autore: Loris Modena

Loris Modena

SENIOR DEVELOPER

Per Ind Loris Modena titolare di Arte e Informatica, inizia a lavorare nel settore informatico nel 1989 quale sistemista addetto alla manutenzione e installazione di sistemi informatici. Inizia a programmare per il web nel 1997 occupandosi di programmazione CGI in PERL e successivamente passando alla programmazione in PHP e JavaScript. In questo periodo si avvicina al mondo Open source e alla gestione di server Linux. 

prodotto aggiunto alla lista