Da acidfree a image gallery
Purtroppo lo sviluppo di Acidfree sembra bloccato dall’estate 2007. Essendo passati circa 5 mesi dall’ultimo aggiornamento, ho deciso di passare theeyes al modulo Image gallery. La riuscita di questa migrazione comporterà analogo passaggio per gli altri siti che ho in curo e che ad oggi usano Acidfree.
E’ abbastanza semplice se non ce ne frega nulla dell’url dell’album. Nel passaggio di modulo, infatti, il path cambia e lo sforzo principale dei miei test è quello di mantenerlo identico senza dover procedere a creare manualmente degli alias per centinaia di pagine!
Sebbene possa inizialmente complicare un po’ le cose, è raccomandabile avere installato nel sito il modulo pathauto. E’ importante avere l’ultima versione. Attualmente è la 5.0-2.x. L’ultima versione dichiarata stabile (la 2.0), infatti, non mi crea alias corretti per gli album creati con image gallery. Ovviamente se prima avevate la versione 1 di pathauto, dovrete prima procedere ad aggiornare quella, facendo ben attenzione alle istruzioni presenti sulla pagina di sviluppo del modulo!
Fatto questo preambolo, ecco la ricetta:
- Se avete pochissimi album e poche foto, considerate l’eventualità di effettuare modifiche manuali piuttosto che massive come quella che vi sto indicando qui di seguito!
- Dovete conoscere alla perfezione come funziona il vostro sito, in caso contrario astenetevi da seguire questa guida!!!
- NON procedere passo-passo: prima di tutto leggete tutte le istruzioni, poi andate col passo-passo! In questo modo vi accorgerete in tempo se ho scritto delle castronerie ed eviterete di creare danni permanenti al sito. Usa queste istruzioni a tuo rischio e pericolo!!!
- Disporre di un dominio extra (va bene anche di secondo livello, anzi è probabilmente consigliabile se si trovano nello stesso spazio web)
- Disporre di un secondo database dove effettuare una copia identica del sito originale. In questo modo eventuali casini non danneggeranno il sito in produzione.
- Se usate gli url alias con Pathauto, aggiornatelo sul sito di produzione.
- Mettete in manutenzione il sito!
E veniamo alla preparazione!
- Ripeto: mettete in manutenzione il vostro sito in produzione! In questo modo eviterete che il sito di produzione venga aggiornato da qualcuno mentre ci state lavorando sopra.
- Copiate il dabase di produzione su quello di test. Sul nuovo database copiato, cancellare nella tabella system i riferimenti ai moduli installati.
- Nello spazio web di test copiare tutto il necessario per far sì che il sito sia identico a quello di produzione, ma tenete disattivato pathauto e path redirect. Fare il login sul sito di prova, sistemare il tema e il file system.
- Installare il modulo image gallery su entrambi i siti ma NON entrare nei settaggi di image gallery.
- A questo punto eliminare tutti i contenuti di tipo album, poi disattivare e infine disinstallare il modulo acidfree sul sito di prova. Copiare le tabella vocabulary, term_data, term_node, term_hierarchy dal sito di produzione (dove andranno prima eliminate) a quello in test. La cancellazione dei contenuti acidfree comporta infatti la scomparsa delle sue categorie. Ricopiando le tabelle, le ripristinerete intatte. Se le usate, copiate anche term_relation e term_synonym. Io queste caratteristiche non le ho mai usate e sono vuote, ma per altri potrebbe essere differente!!!
- Sul database di test entrare nella tabella vocabulary. Qui troverete il record che contrassegna l’album acidfree. Rinominate il campo module di questo record da taxonomy ad image_gallery. Questo passaggio permetterà al modulo image gallery di utilizzare gli album creati in precedenza con acidfree senza dover rifare tutto a mano!
- Entrate nel vocabolario di acidfree image e accertatevi che sia impostato per il tipo di contenuto “image”. Se volete modificare il nome del vocabolario e la gerarchia degli album, fatelo ora!
- Per chi non usa gli alias il gioco è (quasi) fatto e si potrà procedere alle conclusioni!
Sistemiamo gli alias
- Se come me, vi piacciono i siti con gli url umani allora il discorso si fa un po’ più tosto, ma il risultato sarà migliore perché ci permetterà di rendere gli url quasi identici a quelli di acidfree. Cosa significa quasi identici? Uno dei problemi con acidfree è che gli alias vengono creati sia per l’album che per la categoria corrispondente e quindi si crea una situazione in cui l’album si chiama magari www.example.com/vedere e la categoria equivalente www.example.com/vedere_0 o viceversa! Con image album gli url duplicati saranno solo un brutto ricordo e avremo solo www.example.com/vedere. Ovviamente se prima l’album si chiamava vedere_0 siamo un po’ fregati, ma per questo ci sono due soluzioni: o usare il modulo search404, oppure creare una regola nel proprio htaccess. In questo modo chi si ostina a usare il vecchio url viene ridirezionato automaticamente a quello nuovo!
- Nel database di prova entrare nella tabella url_alias ed eliminate tutti i record che hanno a che fare con acidfree. Nel mio caso mi è bastato cercare tutti quelli che iniziano con vedere, quindi ho fatto: select * from url_alias where dst like ‘vedere%’ su phpmyadmin e il risultato l’ho selezionato ed eliminato. Fato lo stesso sulla tabella url_alias_extras, creata da pathauto, se non è vuota.
- Ora abilitare Pathauto ed entrare nelle sue impostazioni. In category settings va impostato il pattern della categoria corrispondete a quella usata da image gallery. In Node path settings, impostate il pattern per all Image paths. Ricordate di mettere le stesse impostazioni sul sito in produzione (nel caso abbiate modificato il nome del vocabolario sul sito di prova qui dovrete usare ancora il vecchio nome), altrimenti gli alias successivi seguiranno criteri differenti! Ora fate il bulk update solo dei nodi e solo nel sito di prova. Visto il nuovo funzionamento di pathauto, il bulk update va fatto diverse volte, finché non lo completa del tutto. Calcolate circa 120 alias per ogni bulk update. Terminato questo, andate sulla gestione degli album, sotto admin/content/image. Qui entrate nell’edit di ogni album padre. Salvate senza toccare nulla (o se preferite, fate le eventuali modifiche che volete!). A questo punto anche gli alias degli album saranno completati!
- Il link predefinito per visualizzare gli album è image. Se non vi piace, create un alias manualmente! Nel mio caso gli ho dato l’alias vedere.
Conclusioni
Bene, ora abbiamo un sito di test perfettamente funzionante come ci piace a noi. Come facciamo a riportare il tutto sul sito in produzione? Prima di tutto facciamo un backup del sito!!! Poi disattiviamo momentaneamente pathauto e path redirect. Poi eliminiamo i contenuti album e disinstalliamo completamente acidfree sul sito di produzione, mantenendolo rigorosamente in manutenziuone!
Ora copiamo le seguenti tabelle dal sito di test a quello in produzione:
- vocabulary e vocabulary_node_types
- tutti i term_* coinvolti
- url_alias ed url_alias_extras (se usate gli alias)
Tenendo sempre il sito in manutenzione, testatene il corretto funzionamento e modificate/aggiungete a piacere le eventuali voci di menù. Se tutto funziona, potrete finalmente riportare operativo il sito!
Ultime correzioni. Sia col tema garland che con quello di theeyes, la visualizzazione degli album con image gallery è penosa: spesso le immagini si accavallano a vicenda, urge quindi sistemare il foglio di stile!
Cosa si perde
- Gli utenti non possono creare album. O meglio, gli si può dare il diritto di creare, modificare, eliminare, con le conseguenze facilmente intuibili, quindi meglio tenersi il diritto per sé
- Gli album non sono più dei nodi, quindi non possono apparire in prima pagina, o comunque elencati insieme ad altri contenuti. Sono album, vanno sfogliati come qualsiasi altra categoria.
- Non si può vietare agli utenti di caricare foto in determinati album
Cosa si guadagna
- Il modulo è pienamente supportato e lo sarà anche con Drupal 6 rendendo l’aggiornamento più veloce.
- Gli alias sono costruiti in maniera corretta.
- E’ integrato nel modulo image, quindi non andrà mai in conflitto con esso.
- E’ possibile usare il modulo postcard per generare cartoline elettroniche dalle proprie immagini.
Posted on Gennaio 20th, 2008 di alkcxy
Filed under: acidfree, drupal, image, image gallery | No Comments »
