Lunedì, 05 Marzo 2012 09:44
Guida: come migrare da Joomla 1.5 a 2.5 e conservare gli articoli di k2 per principianti
Scritto da MaxwebtrentoCari lettori, come promesso dopo un week end da urlo tra migrazione, sistemazione del nuovo sito e corso SEO eccomi di nuovo qui da voi pronto a postare una guida figlia delle mie frustrazioni e delle testate date al muro durante i giorni scorsi. Come ho scritto nell'articolo precedente il dubbio che mi assillava nel fare la migrazione alla versione di joomla 2.5 era se utilizzare jupgrade e provare a conservare tutti i miei contenuti e le mie impostazioni o riscrivere quasi tutto da zero. La cosa che in questo caso mi premeva tuttavia era non perdere i dati e gli articoli del mio blog sebbene non fossero molti; per questo inizialmente ho optato per tentare l'aggiornamento con jupgrade, ero di mio già poco speranzoso in quanto ben conscio che passare dalla 1.5.25 alla 2.5 in un colpo suo con tutti i componenti che avevo installato era una follia.... e in fatti la barra di jupgrade mi è rimasta inchiodata con un bel messaggio di errore in poco tempo. Il passo successivo è stato portare tutto in locale e fare qualche prova disinstallando componenti dichiarati non compatibili con la 2.5, anche in questo caso le cose non sono migliorate. Dato che il dubbio già mi assillava e avevo intenzione di caricare una nuova versione del sito pulita e ottimizzata mi sono orientato verso la prima opzione.... eliminare tutto e recuperare solo gli articoli k2 tramite il database.
Mi sono mobilitato sulla rete per cercare delle guide ufficiali in merito, i consigli dati dagli utenti erano di fare un dump delle tabelle del database di k2 ma molti lamentavano malfunzionamenti una volta fatta la migrazione soprattutto chi veniva dalla 1.5. Dopo una lunga ricerca mi sono reso conto che la risposta stava dietro l'angolo: su joomla.it c'è una guida ben fatta che ci indica come fare passo passo, purtroppo essendo un po' alle prime armi con Mysql non me la sono sentita davvero di avvalermene in quanto mi sembrava troppo "avanti", voi dateci un'occhiata perchè è fatta benissimo e vi può essere di grande aiuto. Ho poi trovato delle dritte sul sito di k2 nella sezione documentation - trip and tricks: qui ci viene segnalato che non è sufficiente un dump delle 12 tabelle con il prefisso iniziale jos_k2 e che sarà necessario fare delle piccole modifiche per renderle compatibili. Questo perchè dalla 1.7 in poi joomla gestisce gli utenti in modo differente e ha cambiato il vecchio administrator in Super-user, di fatto la cosa non sembra rappresentare un problema se non fosse per il fatto che cambia l'id dell'utente facendo impazzire il nostro amato k2. Ora vi spiego passo passo come fare per conservare i vostri dati e renderli compatibili con la versione 2.5, seguitemi!
A Innanzitutto entriamo nel nostro pannello di controllo del database Mysql e arriviamo a visualizzare le nostre tabelle, scendiamo come mostro nello screen fino a trovare le tabelle con il suffisso jos_k2 (jos se nell'installazione joomla avete selezionato jos come prefisso, altrimenti se avete selezionato xxx cercate xxx_k2). Fate la spunta a tutte le voci che trovate, dovrebbero essere 12 ma forse io ne ho qualcuna in più per via dei componenti aggiuntivi di k2.
BTornate in alto e cliccate su Esporta, vi aprirà un menu con opzione rapida o personalizzata, personalmente con il rapido è andato tutto a buon fine, l'importante è che manteniate il formato MyISAM delle tabelle. Cliccate su esegui e vi creerà un file con estensione .sql che salverete sul vostro pc.
CA questo punto andremo a creare il nostro database nuovo, lo andremo a selezionare e importeremo le tabelle k2 cliccando in alto su importa e selezionando il nostro file .sql
Una volta effetuata l'importazione andiamo sulla barra laterale delle tabelle e selezioniamo la tabella jos_k2_items. Cliccate in alto su mostra, vicino a struttura (vedi sotto)
DCome possiamo vedere qui finalmente possiamo visualizzare tutti i nostri items (articoli) del blog, categorie a cui appartengono etc. Per ognuno di essi dovremo entrare e operare una piccola modifica al suo interno. Cliccate sulla matita con la voce modifica alla sinistra di ogni articolo, entrerete nell'editor di ogni item, scendete con il cursore fino a che non vi trovate qui.
EA questo punto prendiamo in considerazione le tre voci che ho cerchiato in rosso ovvero created_by, modified_by e access. Nel caso della prima voce dobbiamo cambiare l'id vecchio (che dovrebbe essere 62 per joomla 1.5) a quello del super user che è stato introdotto dalla 1.7 in poi che è 42 (a volte è il 43, basta fare qualche tentativo o vederlo dal pannello joomla se avete già installato joomla in locale). per quanto riguarda modified_by facciamo la stessa cosa a meno che non sia come valore a 0 (che significa che l'articolo non è stato modificato), in tal caso lasciamo a 0. Cambiamo poi la voce access che dovrebbe il valore a 0 e portiamolo a 1, andiamo quindi con il cursore in basso e verifichiamo che su language dove c'è uno spazio vuoto ci sia un asterisco, altrimenti potremmo avere problemi con il componente SH404SEF; andiamo in fondo e clicchiamo su esegui. Andiamo ad apportare la modifica a tutti gli articoli del nostro blog, verifichiamo poi che in tutte le tabelle l'userid venga identificato con 42 (o 43).
FPassiamo all'installazione del nostro amato joomla 2.5, selezioniamo il database in cui abbiamo inserito le tabelle del dump e assicuriamoci di selezionare jos_ come suffisso. Completiamo l'installazione e procediamo con quella di k2. Andiamo finalmente nel pannello di k2 e andiamo nella visualizzazione articoli (o items se non avete tradotto in ita). Ma come???? è tutto vuoto???? don't panic, ad alcuni di voi potrà succedere, significa che la nuova installazione di k2 ha inserito con tanta simpatia delle tabelle nuove con il suffisso jos_k2_.... rinominando le nostre in bak_jos_k2_.... la cosa è successa a me perchè ho fatto una custom installation di joomla con il template incluso e tutti i suoi componenti tra cui k2 e in automatico mi ha fatto il rewrite della tabelle. In poche parole, che fare????
GTorniamo al nostro amato pannello Mysql, selezioniamo il database e selezioniamo spuntando tutte le tabelle con il suffisso jos_k2_; andiamo in fondo alla pagina e nel menu a tendina in cui appare se selezionati: selezioniamo la voce elimina. Si elimina, non vi preoccupate, i vostri dati sono nelle tabelle bak_jos_k2_. Una volta completato, vi chiederà la conferma, date l'ok andate in cima alla pagina. Ora dobbiamo rinominare le tabelle con il suffisso bak_jos_k2_ in jos_k2, come facciamo? con una query sql ovviamente! Ma come non vi avevo detto che non era necessario lavorare con le query di comando di Mysql? don't panic e seguitemi! Clicchiamo nella voce in alto sulla voce SQL quando siamo nella root del nostro database e inseriamo la seguente riga di comando: rename table bak_jos_k2_(nome tabella) to jos_k2_(nometabella). Occhio a non commettere errori e fare il rename corretto (vedi immagine sotto).
HUna volta inserita la stringa di comando cliccate su esegui, fate la stessa operazione per tutte le tabelle fino a che non avrete più nessuna con il suffisso bak_jos_k2 e non saranno tutte jos_k2. A questo punto potete uscire da Mysql, entrate in joomla-k2 e visualizzate i vostri articoli. Ora dovrebbero essere tutti comparsi, l'unico problema è che le immagini in corpo al testo sono scomparse, le potete recuperare se le inserirete nella stessa directory in cui erano posizionate nel vecchio sito in 1.5 (es images/stories/blog). Per quanto riguarda le didascalie invece le pottete ripiazzare in questa cartella media/k2/items/src anche se io ho fatto un po' fatica a recuperarle.
Et Voilà!!! il vostro blog correttamente importato sul vostro nuovo sito in joomla 2.5 e perfettamente funzionante! Congratulazioni.
Spero che questa guida sia stata utile a voi blogger che siete alle prime armi con joomla e che vi state chiedendo come ho fatto io: vale la pena passare alla 2.5?? e il mio blog?? la risposta definitiva è SI