Fedoraonline.it nuova veste!

Da un po’ il nuovo portale degli e per gli utenti italiani di Fedora è online e non ho scritto niente sul mio blog…

La migrazione dalla vecchia piattaforma alla nuova struttura è avvenuta nella metà di dicembre 2011 ed il sito in produzione non ha avuto particolari problemi da allora (se non piccole cose di grafica da sistemare).

A grandi linee il webmaster, che ha fondato questo portale nel 2004, Robyduck, spiega in questa pagina le novità e le motivazioni che hanno portato ad alcune scelte di software da usare.
Un cambiamento epocale rispetto ai vecchi aggiornamenti eseguiti più di un anno fa.

Faccio parte dello staff di amministrazione del sito da anni e sono stato felicissimo di lavorare, anche questa volta, al miglioramento di FOL. Attriti e divergenze di opinioni non sono mancate ma il risultato finale credo sia fantastico!

La comunità FOL, per la maggior parte della sua vita, si è appoggiata al CMS Xoops. E’ un ottimo progetto che ha fatto la storia del web e dei CMS ma negli anni, a parer mio, non è stato in grado di rinnovarsi adeguatamente ai nuovi standard di sviluppo e del web. La nuova versione di Xoops promette bene, si baserà anche sul famoso Zend Framework ma ancora nulla di stabile o utilizzabile (a meno di non voler contribuire assiduamente al suo sviluppo).
Si è preferito cambiare strategia rispetto all’aggiornamento di Xoops e suddividere il nuovo portale degli utenti in 3 sezioni principali, in modo da poter suddividere il carico di lavoro su 3 applicativi web differenti e specifici per una determinata funzione, slegandosi da un unico CMS.
La scelta è caduta su:

Le motivazioni sul perché queste scelte le ha riportate Robert in modo esaustivo per i più.

Quel che però non è stato specificato è il come si sono svolti alcuni processi di sviluppo/migrazione dalla vecchia piattaforma alla nuova, cosa è stato utilizzato per ottenere il nuovo portale. Beh ovviamente software libero 🙂

Dato che si lavorava in gruppo si è utilizzato Git per mantenere traccia del codice e delle modifiche da apportare a questo. Non sono state sfruttate in pieno le potenzialità di questo sistema di subversioning, se non a livello locale. Grazie alla sua intrinseca “distribuzione” del repository, ognuno aveva in locale una copia di backup del lavoro. Se il server (gentilmente fornito da Virus) per una qualche ragione avesse perso i dati (ma con Virus che lo amministrava era già di per se impossibile) tutti gli sviluppatori potevano fornire la storia ed il codice di sviluppo.
Come editor di testo ho ovviamente utilizzato Vim al quale sono affezionato e con il quale ormai posso fare tutto come se mi trovassi in un qualsiasi IDE grafico moderno.
Come server di sviluppo locale, ovviamente, ho usato Fedora e i suoi pacchetti.

La migrazione dei contenuti da Xoops al nuovo portale non è stata per niente semplice. Alcune cose sono state volutamente abbandonate, troppo vecchie o comunque non visualizzate di frequente o ritenute di scarso interesse. Altre sono state migrate “a mano”, per cause di forza maggiore, e altre ancora in modo automatico.
Per cause di forza maggiore sono state migrate a mano tutte le vecchie guide di FOL sul nuovo spazio, http://doc.fedoraonline.it, gestito da Mediawiki. Le vecchie guide erano scritte utilizzando i tag bbcode o html. Contenevano errori di battitura, necessitavano di alcune revisioni. Il lavoro è stato dunque fatto a mano dallo staff. Modificare però a mano le guide all’interno dell’editor di testo di Mediawiki, nel browser, non è proprio indicato. Esistono vari strumenti e soluzioni qui per ovviare al problema. Io ho preferito far uso di Vim! Da questa pagina si possono scaricare i file e leggere la documentazione necessaria per scrivere al meglio, in Vim, il codice degli articoli di mediawiki. A mano si sono migrati pure alcune foto dei desktop degli utenti, non tutti sono però ancora stati trasferiti sul nuovo portale.
E’ stato invece possibile effettuare un processo di migrazione automatico dal vecchio forum (modulo CBB) di Xoops a FluxBB. Basandomi su un vecchio progetto di migrazione del forum da Xoops a PunBB (il predecessore di FluxBB) ho revisionato e riscritto il codice creando il progetto xoops2fluxbb. E’ scritto in Php e rilasciato con licenza libera. Il progetto viene ospitato su GitHub a questo indirizzo. All’interno del progetto esiste un file htaccess di esempio con il quale si possono fare dei redirect dai vecchi URL di Xoops al nuovo sito web.

Ormai FOL è un portale suddiviso in 3 sezioni separate, come detto.
La sezione di documentazione è e rimarrà a se stante. E’ stato previsto un sistema apposito per contribuire e collaborare attivamente alla documentazione italiana su Fedora. Creando una Mailing-List ufficiale all’interno del Fedora Project. Il tutto viene spiegato in questa pagina specifica.
Invece, la sezione del forum e del resto del portale si è voluto renderle “interoperabili“. Fondamentalmente si è cercato di ottenere la visualizzazione degli ultimi messaggi del forum in homepage e di creare un unico login condiviso fra Fluxbb e Drupal. Mi sono dunque attivato per trovare una soluzione che fosse semplice e non richiedesse troppo dispendio di risorse o modifica del codice base dei due progetti (ne avrebbe risentito il mantenimento del codice successivo). Ho pensato e dunque poi creato dei plugin per Drupal. I due sono racchiusi in un’unica directory (fluxbb_integration) e ora ospitati su GitHub a questo indirizzo.
Questo progetto contiene un modulo chiamato fluxbb_posts che, dopo configurazione, si interfaccia al database di Fluxbb per ricavare gli ultimi messaggi dal forum e li inserisce in una vista a blocco di Drupal che si può posizionare dove si preferisce. Il modulo si interfaccia anche ai cookie di Fluxbb (si, questo applicativo fa uso dei cookie e non delle sessioni Php per salvare i login) per visualizzare agli amministratori autenticati ed entrati in Fluxbb i forum privati. Il secondo modulo è fluxbb_login e ha, fondamentalmente, queste caratteristiche:

  • login/logout automatico su drupal se l’utente fa un login/logout su fluxbb e viceversa;
  • sfrutta le info dell’utente su fluxbb per caricarle in drupal (es. avatar o firma nei messaggi);
  • altera alcuni link di drupal in modo da redirigerli su fluxbb.

L’ultima funzione è stata inserita appositamente perché si è scelto di avere come database principale per i dati utente Fluxbb. Drupal diventa quindi secondario e andrà a prelevare le info degli utenti necessarie (password, nome utente, email, firma ecc.) dal database di Fluxbb.
I due moduli, per questioni di semplicità, condividono le stesse variabili di configurazione (i path verso il forum per esempio). Sono inoltre molto semplici e si possono modificare a piacimento 🙂

Adesso, credo, che la più grande comunità italiana di utenti Fedora abbia le carte in regola per crescere ulteriormente e collaborare più attivamente con il Fedora Proejct! Aiutando i nuovi utenti e facendo crescere il software libero in Italia.

Privacy Preference Center