Aggiornamento: Ho modificato gli script wp2fn e li ho uploadati su Sourceforge.  La versione 0.2 gestisce correttamente l’interpretazione del tag [ caption ] dei link delle immagini.

Ho realizzato due script in bash shell che permettono di convertire le notizie pubblicate su piattaforma WordPress (testato sulla versione 2.8.4) in formato compatibile con Flatnuke 2.7.x; il primo script permette di estrarre una singola notizia da una export, in formato xml, di tutto il database di wordpress (nelle mie prove su altervista il nome del file di export xml è wordpress.AAAA-MM-GG.xml)

Export WordPress in formato xml
Export database WordPress in formato xml

Il comando di estrazione delle news è il seguente:

$ tar zxvf wp2fn_0.1.tar.gz
$ cd wp2fn
$ ./extract_new_from_wp.sh wordpress.2010-12-28.xml

Al termine dell’esecuzione del comando di estrazione ci ritroviamo con una serie di file del tipo news.NNN.xml, dove NNN è un contatore numerico. Ora interviene il secondo script che effettua la conversione vera e propria e ci restituisce in output un file xml che andremo a copiare direttamente nella directory news di flatnuke.

$ ./wp2fn.sh news.21.xml

La conversione si basa sulla lettura di blocchi di caratteri che si trovano all’interno di tag xml; ad esempio la data di pubblicazione della notizia su WordPress si trova memorizzata all’interno dei tag <pubDate> e </pubDate>. Attraverso l’uso di awk o grep vado a selezionare tale informazione e a riscriverla in formato interpretabile da flatnuke.

awk '/start_pattern/,/stop_pattern/' <file>

 

$ awk '/<pubDate>/,/<\/pubDate>/' news.20.xml
<pubDate>Fri, 20 Aug 2010 15:30:12 +0000</pubDate>
$ grep -E '<pubDate>(.*)<\/pubDate>' news.20.xml
<pubDate>Fri, 20 Aug 2010 15:30:12 +0000</pubDate>

I tag xml verranno poi rimossi utilizzando il comando sed.

$ grep -E '<pubDate>(.*)<\/pubDate>' news.20.xml | sed 's/<pubDate>//g' | sed 's/<\/pubDate>//g'
Fri, 20 Aug 2010 15:30:12 +0000

Download WordPress to Flatnuke converter: wp2fn

Non esitate a contattarmi per chiarimenti e/o migliorie del software (ad esempio questa versione non supporta ancora la conversione dei commenti). Inoltre si potrebbe realizzare una versione direttamente via web, in quanto non tutti hanno dimistichezza con la shell linux. Se non avete linux potete eseguire gli script anche su windows utilizzando Cygwin.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.