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:
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.
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:
Di seguito il codice per la conversione dei link ai post
Mentre questo è il codice che ho utilizzato per l’importazione delle immagini:
Il progetto per chi o desidera è disponibile al seguente link su SkyDrive DevAdminMigrator.zip.