Come lo migrai…

 

Ebbene si anche per me, come per altri blogger che ho avuto il piacere di leggere e conoscere frequentando le varie community, è venuta la voglia di provare di aprire un blog slegato da una specifica community.

La prima cosa che si fa in questi casi è valutare la piattaforma di blogging e come molti altri ho scelto WordPress che al momento gode dell’innegabile vantaggio di essere forse la più longeva e quindi ha dalla sua un gran quantità di software disponibile come temi, plug-in e varie personalizzazioni. La cosa però che mi ha fatto optare per questo CMS è la funzionalità di aggiornamento integrato che semplifica di molto la gestione degli aggiornamenti. Di contro non amo molto il fatto che sia in PHP e che utilizzi MySQL, non per ostilità verso le due tecnologie, ma semplicemente perché avrei preferito qualcosa basato su .NET e SQL Server. Prima di decidere per WordPress ho infatti valutato anche BlogEngine.NET che è a mio avviso un ottimo progetto, ma la semplicità di aggiornamento di WordPress mi ha fatto propendere per quest’ultimo.

Il problema però era migrare il blog da SubText a WordPress, infatti la funzionalità di esportazione dei post in SubText non funzionava e restituiva un errore:

 image 

Quindi l’unica era sfruttare le Metaweblog API per leggere i post dal vecchio blog e ripostarli sul nuovo, girovagando in Internet ho trovato post Move blog post from subtext to WordPress with Metaweblog API di Ricci Gian Maria che si è trovato ad affrontare lo stesso problema qualche tempo fa e ha messo a disposizione un’utilità di migrazione da cui sono partito per sviluppare la mia.

Tramite l’utility che mi sono creato ho scaricato dal vecchio blog i post e le categorie.

image

Per la creazione delle categorie e sono andato di copia e incolla, approfittando per risistemare quelle che volevo eliminare.

Il tool è suddiviso in due progetti una libreria in C# (DevAdminMigratorLib) in cui ho raccolto le varie funzioni e classi che ho utilizzato per la gestione dell’import/export partendo dal progetto di Ricci Gian Maria blogmigrator che a sua volta si basa sulla CookComputing.XmlRpcV2.dll contenuta nel progetto XML-RPC.NET.

Per quanto riguarda i post ho di fatto letto e riscritto i post modificando i rifermenti ad eventuali vecchi post e ricaricando le immagini. Per la gestione dell’interpretazione dei tag HTML ho utilizzato Html Agility Pack.

I commenti invece ho deciso di non importarli dal momento che quando mi venivano segnalate correzioni o richieste di approfondimenti ho sempre provveduto ad integrare il post con le segnalazioni.

La parte esecutiva del tool è costituito da un semplice progetto VB.NET (DevAdminMigrator) composto da una form che n on fa altro gestire la migrazione tramite la libreria DevAdminMigratorLib.

La parte di connessione hai due blog l’ho gestita semplicemente inpostando una serie di costanti che poi ho utilizzato in seguito:

image

Di seguito il codice per la conversione dei link ai post

image

Mentre questo è il codice che ho utilizzato per l’importazione delle immagini:

image

Il progetto per chi o desidera è disponibile al seguente link su SkyDrive DevAdminMigrator.zip.