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.

Nascondere e visualizzare tag su IE

Che internet explorer faccia schifo è un dato di fatto. Ad esempio non posso
inserire correttamente una pagina html dentro l’altro usando il tag
<object> ma solo come <iframe>. La cosa è molto fastidiosa perché
in questo modo non mi permetterebbe di validare la pagina come xhtml strict.

In realtà i programmatori della Microsoft si sono accorti fin dalla versione
5 di quanto facesse schifo il loro browser, così hanno introdotto i commenti
condizionali.

Grazie ad essi è possibile far apparire un pezzo di codice a una determinata
versione di IE. In questo modo ho buttato giù una cosa del genere:

<!–[if lt IE 7]>

<iframe src="http://web.theeyes.org/sito" />

< ![endif]–>

</object><object type="text/html"
data="sito">

<a href="http://web.theeyes.org/sito">nomesito</a>

</object>

Nonostante in questo modo su browser diversi da Microsoft l’iframe non
compariva perché inserito dentro un commento, su IE continuava a vedersi un
object vuoto sotto l’iframe, causando non pochi fastidi. Ho allora cercato di
risolvere con un css ad hoc che nascondesse l’object se il browser fosse < =
IE 7. Ma oggi ho trovato un modo forse più semplice:

<!–[if lt IE 7]>

<iframe src="sito"></iframe>

< ![endif]–>

<!–[if gte IE 7]> –>

<object type="text/html" data="sito">

<a href="http://web.theeyes.org/sito">nomesito</a>

</object>

<!– <![endif]–>

Ci potrebbe essere solo un problema che non posso testare: chi usasse IE 7
vedrebbe –> sopra l’object e un <!– sotto. Appena posso, controllo!

Drupal e Wordpress, nuova versione per entrambi i cms

Stamattina ho letto due ottime notizie!

E’ finalmente uscita la versione definitiva di Drupal 5. Da questo momento in poi lavorerò a pieno regime per portare theeyes sulla nuova piattaforma. A dire il vero questo risolve più problemi a me, povero amministratore che si è rotto i cosidetti del menù di amministrazione di drupal (che è veramente scomodo da usare!) che non agli utenti che si accorgeranno poco dei cambiamenti.

L’altra bella notizia è l’aggiornamento di Wordpress alla versione 2.0.7, come già preannunciato. In realtà sarebbe stato meglio avere un wordpress 2.0.6 un po’ più sicuro, ma ci accontentiamo della celerità con cui è stata rilasciata la nuova versione. Senza considerare che sono solo sei i file da sostituire ;)

Tornando a Drupal, che ora mi interessa molto di più per le potenzialità di questo cms, purtroppo  un po’ sottovalutato qui in Italia, questo significa che mentre lavorerò al nuovo theeyes, porterò avanti con più velocità il lavoro su raramente.net. A tal riguardo faccio presente che la grafica dovrà essere molto simile a quella attuale, l’intestazione rimarrà identica, con il flash odierno, ma ovviamente il tutto dovrà essere contornato da un xhtml valido e un foglio di stile all’altezza della situazione. Spero per febbraio di avere una bozza da mostrare!

Per ora il problema più grosso riguardante Drupal 5 è che manca ancora l’uscita di una versione stabile di Acidfree, il modulo che gestisce gli album di immagini su the eyes e sugli altri siti che ho curato. Se ci riesco fra oggi e domani provo a scaricare la versione sul cvs, ma temo che sia la stessa dell’head, ferma a novembre-dicembre :(

Una buona notizia e tante cose da fare

Oh, finalmente dove lavoro hanno pensato bene di aumentare per contratto il mio orario di lavoro. In poche parole, passo dalle 6 ore per giorni giorni settimanali alle 7,30 attuali (più mezz’ora di pausa). Questi significa che avrò un po’ più di soldi da parte (no, non mi arricchirò purtroppo) ma anche che avrò meno tempo libero disponibile.

Eppure questo è un periodo molto proficuo per me. Ecco le cose che devo fare e per cui i tempi rischiano di allungarsi:

  • ho un esame da fare a febbraio
  • devo riscrivere raramente.net
  • devo sperimentare google adsense (questa la spiego meglio i prossimi giorni)
  • devo scrivere il racconto promesso (”pazienti”, in entrambi i sensi!)
  • devo scrivere una guida su come configurare un multimedia center come l’ho configurato io
  • devo rivedere alcune parti dell’organizzazione di the Eyes (sezione concorsi, gli eventi, l’organizzazione degli album fotografici, i tipi di contenuti associati alle categorie…)
  • devo completare Creta e inserirci le guide per postare i contenuti su the Eyes (è già presente un’aiuto per inserire i contenuti di ascoltare)
  • devo portare avanti un progetto con Stefania
  • umh, devo ancora leggere le mail di oggi: e dire che sono sveglio dalle sei meno un quarto!

Drupal 5 alla seconda release candidate

E’ da poco uscita la RC2 per Drupal 5.0. Ormai il cms sembra aver preso una forma definitiva. Appena mi sarà possibile lo installerò sandbox e su beta per aggiornare i siti di sviluppo.

Nel frattempo il sito ufficiale di Drupal, drupal.org già sta utilizzando la versione 5 rc2, dopo averla testata per un po’ di giorni su un mirror del portale.

Le esatte parole per annunciare l’evento sono state “So in good Drupal tradition, we get to “eat our own dog food” before a major release“. Più onesti di così!

Strane segreterie per cellulari

Non sono il tipo che fa molto uso del cellulare. Lo uso il minimo indispensabile per farsi ricaric.. emh, ricevere telefonate, farne ai familiari e agli amici più stretti e mandare pochissimi sms al mese. Li conto sulle dita di una mano (stima per eccesso!).

Per questo motivo stamane mi sono stupito per aver ricevuto un messaggio sul cellulare. Stavo già pensando a chi potesse essere, quando leggo:

“inSEGRETERIA ci sono messaggi per te. Chiama da fisso al 899xxxxxx, info e costi inSEGRETERIA.xxx”

Con le xxx censuro il dominio del sito e il numero di telefono per evitare di creargli eccessiva pubblicità.

In un primo momento pensavo che la Tim mi avesse attivato le segreteria telefonica del cellulare e qualcuno mi avesse lasciato un messaggio. Mi stavo già preoccupando per il fatto di non avere un telefono fisso quando mi accorgo dell’assurdità del messaggio. Prima di tutto mi chiede di chiamare un 899, una numerazione evidentemente costosa, e da fisso (ma come, la segreteria per cellulari che invita a chiamare da fisso???) in secondo luogo non ha nulla a che vedere con la segreteria del proprio gestore telefonico ma di una vaga inSEGRETERIA. Tra l’altro noto che hanno scelto un bel nome per confondere ancora di più le persone.

Decido di visitare il loro sito, immaginando di scoprire un portale che apra mille pop-up cercando di fare scaricare qualche file .exe contenente virus, dialer o spyware vari. Invece scopro un sito a prima vista perfetto, dove gli sfigati possono iscriversi per trovare la propria anima gemella. Peccato che per l’iscrizione tocca telefonare al fatidico numero. Il sito permette anche di ricercare gli utenti iscritti in base al sesso, alla fascia d’età, al segno zodiacale, alla Regione, alla Provincia e alla presenza o meno di una foto in archivio. Solo tramite una ricerca generica escono fuori una manciata di nomi ma per leggere il profilo, nulla da fare, tocca registrarsi. Ma quanto costa sto servizio??? E soprattutto, appurato che io non ho messaggi in segreteria ma inSEGRETERIA, come hanno ottenuto il mio numero di cellulare e chi gli ha dato l’autorizzazione di inviarmi materiale pubblicitario non gradito?

Alla fine trovo la pagina del regolamento dove scopro che il costo della telefonata è pari a 15€!!! I servizi del portale, poi, durano un mese, e se si vuole continuare ad usufruire dello stesso, tocca di nuovo telefonare e sborsare altri 15€ e così via.

Bene, non so se possa essere catalogata sotto il termine truffa, ma una cosa è certa: il servizio cerca di adescare persone via sms evitando di denunciare il costo del servizio. Si nasconde dietro il nome segreteria per mascherarsi da normale segreteria telefonica. Non dice chi ha lasciato il presunto messaggio nella presunta segreteria.

La soluzione è quella di avvertire i propri conoscenti del pericolo che si cela dietro questi messaggi e di stare alla larga da un servizio del genere.
P.S. Quanti adolescenti ci avranno abboccato?

P.S. 2. Tratto dalle FAQ: D. Perché iscriversi?
R. Questo è un servizio dove persone si conoscono, parlano, chattano, scambiano messaggi e, perché no, si incontrano

Ottimo, anche su theeyes facciamo queste cose. Peccato che non mandiamo sms allusivi e non chiediamo soldi a nessuno! Toccherà aggiornarci? :D
P.S. 3. Ovviamente il sito, a prima vista perfetto, in realtà o è stato scritto in fretta e furia, oppure è stato scritto da uno che di html non ci capisce nulla. Provare il form per la ricerca dei contatti o leggere il sorgente html per credermi. Ah, non dite che non potete provarlo perché non ho scritto l’indirizzo del sito. Con un po’ di pazienza si trova fin troppo facilmente. Oppure aspettate che arrivi anche a voi l’sms!!!

Wordpress 2.0.6 su fast-cgi

Finalmente Wordpress funziona su fast-cgi senza problemi di sorta. Dal sito di wordpress italia, però vedo che c’è un problema per chi usa feedburner su Wordpress e che lo stesso possa essere aggirato con un paio di soluzioni che propongono sulle loro pagine e che verranno integrate in Wordpress 2.0.7.

Wordpress 2.0.6

Lo scorso 5 gennaio, come regalo per l’epifania, è uscito il nuovo wordpress 2.0.6. Dovrebbe essere compatibile con Fast-Cgi. Lo proverò entro le prossime ore!

Userreview, tra pregi e difetti

Da qualche tempo sto testando l’utilizzo del modulo Userreview su the Eyes. Questo modulo si appoggio a votingapi permettendo ai visitatori e frequentatori del sito di votare determinati contenuti. E’ possibile dare un voto da 1 a 10 e lasciare una recensione.

Tuttavia mi sono accorto che autorizzando anche gli utenti non registrati a votare, succede che solo un anonimo può votare un certo contenuto. Tutti gli altri non potranno. Ora la cosa è giusta per gli utenti registrati, ma è un po’ stupida per quelli anonimi. Magari sarebbe stato meglio dargli un peso inferiore nel calcolo della media. Vabbè, fatto sta che per ora ho dovuto vietare del tutto agli anonimi di votare e mantenere la possibilità di farlo solo per gli iscritti al sito. Del resto l’iscrizione è gratuita e occupa due minuti!

Aggiornamento a Drupal 4.7.5 eseguito e moduli aggiornati

Tutti i siti da me gestiti che usano Drupal sono stati correttamente aggiornati. Ho aggiornato anche i moduli esterni utilizzati.

Per quanto riguarda il modulo che mi avrebbe aiutato a gestire gli aggiornamenti, diciamo che è ancora troppo presto per essere utilizzato! Vabbè, sarà per la prossima volta!