20 agosto 2009 14:02
Cambio di Blog: da Community Server a BlogEngine.Net
Era un po' di tempo che mi frullava in mente l'idea di dare una rinfrescata al mio blog per una serie di motivi.
- Per ragioni legate al SEO non avevo piú intenzione di gestire due domini diversi (www.rizzetto.com e blog.rizzetto.com) e di duplicare i contenuti sui due siti
- La piattaforma su cui era basato il vecchio (Community Server di Telligent) non offre più una versione free e quindi erano preclusi updates e fix
- Volevo una piattaforma free, open source, basata su Asp.Net che potessi integrare facilmente nel mio sito e che offrisse tutte le features che oggi un blog deve avere (trackbacks, codeformatters, ecc.)
La ricerca è stata molto breve; il primo link che mi è venuto fuori in Google è stato quello di BlogEngine.Net, e una rapida lettura delle sue caratteristiche mi ha convinto a provarlo. La piattaforma è completamente free (non esistono versioni a pagamento che offrono qualcosa in piú) e completamente open-source (vengono dati i sorgenti sia del front-end che del DataAccess/Business Layer). La customizzazione a livello grafico si basa su una master-page e su due usercontrol ascx, oltre ai soliti css per gli styles. In poche ore si riesce ad adattarlo a qualsiasi template e comunque sulla rete si trovano un sacco di temi molto carini e ben fatti. La cosa interessante è che il repository dei dati è basato su un DataProvider pluggabile: di default lui si appoggia a file xml messi nella App_Data, ma con poche operazioni ci si può appoggiare a Sql Server, MySql, VistaDB, ecc.
Messo in piedi lo skin del mio "corporate design" restavano quindi due operazioni da compiere: importare i dati dal DB di Community Server e reindirizzare tutti i vecchi Url crawlati da Google verso i nuovi.
La struttura delle tabelle di BlogEngine.Net è molto semplice e autoesplicante e con un po' di smanettamenti tra i due db sono riuscito a importare tag, categorie, post, commenti, autori (la parte piú incasinata visto che CS li metteva serializzati dentro un campo stringa). Lascio qui sotto il mio script che ho usato, come base da cui partire se qualcuno si vuole cimentare... non è assolutamente da far girare "as is" ma vale come spunto.
Per la parte di redirect invece mi sono affidato come per il mio sito a un file xml di mapping vecchioUrl=>nuovoUrl (anche qui generato con un po' di truschini da una select fra i due db) che poi con un handler uso per il redirect permanente (301 Permanently Moved).
Anche se i redirect funzionano tutti, invito i miei "5 lettori" ad aggiornare i loro favorites con questi nuovi dati:
Url del Blog: https://www.rizzetto.com/blog
Feed RSS: https://www.rizzetto.com/blog/syndication.axd
Restano comunque validi tutti gli altri feed che inglobano questo del blog.
Migrate CommunityServer To BlogEngineNet.txt (7,92 kb)