Aggiornare VirtueMart alla versione 2

Aggiornare VirtueMart dalla versione 1 a VirtueMart 2

Aggiornare a VirtueMart 2.0Pochi giorni fa, sul forum di Joomla! Italia, ho scritto alcuni post sulla procedura di migrazione dei prodotti e delle immagini da VM1 e J1.5 a VM2 su J2.5. Poco dopo un cliente, forse leggendo il topic, ci ha chiesto di aggiornare il suo sito e-commerce, basato su di Joomla! 1.5 e Virtuemart 1, alle versioni di cms e componente attuali.

Nella analisi della documentazione e dei vari post presenti nei diversi fora mi ero già accorto che le specifiche relative all'aggiornamento, erano scarse e poco dettagliate. Se l'operazione tra minor releases si risolve nell'installazione del pacchetto di aggiornamento, la procedura di migrazione da VM1 a VM2, quando implica anche il passaggio tra differenti versioni di Joomla, non è proprio immediata: esiste una procedura di migrazione interna al componente ma non è ben documentata.

Nello specifico era necessario aggiornare un'installazione da Joomla! 1.5 e VirtueMart 1.1.x a Joomla! 2.5 e VirtueMart 2.0.26a (ultima versione disponibile al momento dell'intervento).

Ecco come svolgere l'intervento.

 

Aggiornamento VirtueMart

Volete eseguire l'aggiornamento del vostro e-commerce VirtueMart e avete bisogno di assistenza? Contattateci, provvederemo noi all'aggiornamento del sistema ed alla migrazione dei dati. È uno dei nostri servizi.

 

Prerequisiti per la migrazione di VirtueMart

Avrete bisogno di:

  • L'istallazione di partenza con Joomla! 1.5 e VirtueMart 1.1.x
  • L'istallazione 'finale' di Joomla! 2.5, con i dati importati da Joomla! 1.5, in particolare utenti e gruppi, e con installato VirtueMart e relativi pacchetti.

 Le istruzioni sul sito di dev di virtuemart consigliano di installare i dati di esempio sulla versione 2. Sinceramente ci sfugge la ratio di questo suggerimento, e vi consigliamo di non seguirlo.

Il citato sito consiglia inoltre di disinstallare tutti i moduli e i plugin installati prima di provvedere alla migrazione dei dati; con il metodo suggerito in questo articolo tale procedura si rivela superflua nella quasi totalità dei casi.

 

Le immagini in VirtueMart 1 e 2

In VM1 le immagini relative a categorie e prodotti sono poste in due cartelle al di sotto di '/components/com_virtuemart/shop_image/', rispettivamente in 'category' e 'product'. Sebbene sia possibile impostare VM2 per usare le predette directories, è buona norma separare le immagini da quella che è la logica di gestione dell'applicazione e usare le cartelle di default della nuova versione ovvero '/images/stories/virtuemart/category/' e '/images/stories/virtuemart/product/' rispettivamente, o comunque una cartella al di sotto di '/images/'.

 

La migrazione degli utenti per VirtueMart 2

La parte più sensibile nella migrazione dei dati da J1.5 a J2.5 è la migrazione degli utenti e dei relativi gruppi.

È necessario tenere presente che la quasi totalità dei dati dell'e-commerce sono, alla fine, correlati alla profilazione degli utenti di Joomla: è quindi necessario che lo spostamento dei dati relativi agli utenti da un sistema all'altro avvenga preservando detta correlazione.

Perché ciò avvenga, consiglio l'uso di JUpgradePro, detto software ha infatti la capacità di mantenere costanti gli id degli utenti tra i sistemi in modo tale da consentire l'importazione nel db di tabelle correlate a quelle degli utenti, ovvero di quelle tabelle che contengono i dati 'amministrativi' degli utenti dell'e-commerce (accesso, sconti, indirizzi, preferenze, ordini e così via). 

JUpgradePro dispone di due modalità di funzionamento, quella che noi ci sentiamo di consigliare è quella 'database' che permette alla nuova installazione di accedere ai dati della vecchia tramite un accesso diretto al database di quest'ultima.

 

La procedura di aggiornamento da VirtueMart da 1.1.x a VirtueMart 2.0

Attenzione questa procedura non è difficile, ma prestate comunque MOLTA ATTENZIONE quando sarà necessario cancellare (drop) le tabelle del database.

  1. Effettuate il back up dell'istallazione di Joomla! 1.5. (almeno mysql dump, e la cartella /components/com_virtuemart)
  2. installate il pacchetto di aggiornamento dalla vostra versione a VirtueMart 1.1.9 (in realtà le modifiche al db sono minime, quindi potreste non avere affatto bisogno di questo passaggio).
  3. Salvate le tabelle #__vm_* dal database di Joomla! 1.5.
    NOTA: '#_' è il prefisso di Joomla! per le tabelle del DB (nei vecchi Joomla! vale jos_ )
  4. Importate le tabelle #__vm_* precedentemente salvate dal database di Joomla! 1.5.
    NOTA: dovete sostituire il prefisso usato nel vecchio DB con il prefisso usato nel nuovo DB, altrimenti le tabelle non saranno trovate.
  5. Se potete, aumentate la memoria a disposizione dei processi php ed il tempo di esecuzione massimo (max_execution_time) per gli stessi.
  6. Accedete a VirtueMart 2 in J2.5.
  7. Dal menù 'Configurazione' selezionate 'Configurazione' quindi selezionate la tab 'Negozio' e attivate la voce 'Abilita i tool di aggiornamento del database'.
  8. Dal menù 'Utilità' selezionate 'Utilità e Migrazione', quindi selezionate la tab 'Migrazione'.
  9. Attivate la procedura di migrazione dei dati. Nel caso la procedura si interrompa prima della fine del trasferimento, potete mandarla nuovamente in esecuzione: riprenderà da dove si è interrotta.
  10. Impostate ora il nuovo proprietario del negozio: ultima voce della pagina migrazione è una textbox; inserite l'id di un utente di J2.5 e premete 'imposta proprietario negozio'.
  11. La migrazione dei dati è ora finita.
  12. Copiate le immagini dall'installazione di VM1 nelle nuove directory di VM2
  13. Verificate che tutto funzioni (impostate menù/moduli e provate a navigare, provate anche ad accedere con un account registrato)
  14. cancellate le tabelle #__vm_* dal database di Joomla 2.5

 

VM2 usa le tabelle #__virtuemart_*, quindi non c'è pericolo a cancellare le tabelle #__vm_* che sono usate solo dalla precedente versione.

 In questo articolo ci siamo occupati solo dell'aggiornamento del core del componente, ovviamente voi dovrete anche tenere conto dell'aggiornamento di un eventuale template e di eventuali moduli/plugin particolari installati, ma in questo caso l'operazione si limita ad installare le nuove versioni sulla nuova piattaforma.


Questa è la procedura necessaria a migrare VirtueMart ed i dati in esso contenuti alla versione 2. Ovviamente se non avete il tempo di farlo o preferite che siano dei professionisti ad occuparsene per voi, non esitate a contattarci.


Aggiungi commento

Please note: URL in text are not linked and user's site address is only for internal use and is not published.

Comments are human checked. All spam will be removed, so don't waste your time and, especially, mine!

Codice di sicurezza
Aggiorna