Home > MediaWiki, Perl, Uncategorized, VQWiki, Wiki > Da VQWiki a MediaWiki (in 15 comodi passi)

Da VQWiki a MediaWiki (in 15 comodi passi)

Qualche tempo fa abbiamo dovuto migrare tutte le pagine del nostro Wiki, queste poche righe raccontano la mia piccola avventura.

Per motivi storici avevamo adottato VQWiki. Devo ammettere che per diverso tempo non solo ha soddisfatto le nostre necessità, anzi ha portato un nuovo modo di fare documentazione, considerando che lo strumento ufficiale all’epoca era sharepoint. Tutto bene quindi, ma ad un certo punto abbiamo sentito la necessità di cambiare e i motivi che mi hanno spinto in questa direzione sono diversi:

  • VQWiki è diventato un progetto non più manutenuto (l’ultimo aggiornamento è del 03/2009)
  • alcuni bug che aveva stavano diventando davvero noiosi. Ad esempio le tabelle non avevano i bordi e per farle apparire dovevi aggiungere in pagina un tag style per ridefinire il formato della classe css relativa.
  • VQWiki ospitava buona parte della nostra (preziosa) documentazione.

Si sentiva sempre di più la necessità di un prodotto più flessibile e che ci desse la sicurezza di una certa continuità. Così giocoforza con l’ultimo progetto, ho deciso di migrare verso un nuovo prodotto. Tra i tanti Wiki disponibili su Internet la mia scelta è caduta su MediaWiki, allora nella versione 1.16.5. MediaWiki è il prodotto usato per wikipedia, aggiornatissimo e con una pletora di plugin per ogni genere di formattazione, sembra davvero non avere concorrenti. Poi e’ basato sulla classica architettura LAMP, quindi a mio avviso grande portabilità ed esiguo dispendio di risorse.

Prima di entrare nel vivo della migrazione bisogna precisare che questo post non vi può aiutare molto se dovete migrare una configurazione di VQWiki che usa un database per la persistenza delle pagine.

Nel nostro caso VQWiki salvava tutte le pagine come file di testo. Il processo di migrazione è piuttosto semplice:

  1. manipolare questi file per trasformarli in un formato compatibile con MediaWiki
  2. caricare i file trasformati con l’utility di import di MediaWiki
  3. caricare tutti gli allegati

Passiamo finalmente ai 15 comodi passi (sto scherzando ovviamente) della migrazione.

Supponendo che abbiate già installato e configurato MediaWiki con successo, dovrete copiare gli script che vi sto per mostrare nella directory maintenance. Maintenance si trova nella docroot di MediaWiki. Supponiamo per semplicità questa directory sia in:

cd /var/www/mediawiki/maintenance/

Gli script da copiare sono:

Per convertire i tag di formattazione nel nuovo formato ho usato uno script in Perl.
Ci tengo a precisare che non conosco bene Perl, e magari questo script poteva essere fatto meglio. Anyway, mi sembrava il linguaggio giusto per eseguire  su un gran numero di file pattern matching and replace. Così è stata l’occasione per approfondire Perl.

mediawiki_import.sh si occupa di iterare su tutti i file (le pagine del wiki) eseguendo per ognuni patch_vqwiki.pl

patch_vqwiki.pl il codice Perl che si occupa di modificare la struttura delle pagine. Prende in input un file in formato VQWiki e genera un nuovo file in un formato che e’ poi possibile far processare all’utility importTextFile.php disponibile in MediaWiki.
I tag da convertire erano diversi, i piu’ importanti sono quelli relativi alla formattazione (bold, titoli, tabelle, etc.) e agli allegati (img, doc, pdf, ppt, etc.).

Alla fine del processo di conversione, attraverso l’utility importImages.php, vengono importati anche tutti gli allegati.
Non fatevi ingannare dal nome, importImages.php importa qualsiasi tipo di file, basta specificarne l’estensione. Nel mio caso avevo bisogno “solo” di png, jpg, jpeg, gif, zip, doc, pdf, rtf, zip, xls, xlsx, xml, ppt, docx…
Chiaramente se il tipo di file che bisogna importare non è elencato nella lista, basta aggiungere una riga allo script specificando correttamente il parametro –extensions

  1. Non c'è ancora nessun commento.
  1. No trackbacks yet.

Lascia un commento

Effettua il login con uno di questi metodi per inviare il tuo commento:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger cliccano Mi Piace per questo: