Guida alla creazione di un blog di successo: Overview motori blog .NET

Entriamo ora un po' maggiormente nel dettaglio con l'analisi sui motori di blogging esistenti in ambito .NET.
Ne avevo già parlato a inizio gennaio, ma, dopo aver visto una splendida analisi sui blog engine maggiormente usati (ovviamente tutti su tecnologia non .NET) ho deciso di seguire lo stesso approccio nell'analizzare quelli per .NET.
Nello specifico vedremo:

  • Community Server
  • .Text
  • dasBlogce
  • SubText

Community Server

Community Server è l'evoluzione di vari software opensource sviluppati in tecnologia .NET per le community: è la fusione di .Text, NGallery e un sw per Forum (non ricordo e non riesco a trovare il nome).
E' un applicativo con molte più funzionalità del singolo blog: permette la gestione completa di un sito community, con la gestione utenti, permessi, forum multilivello, ecc...
A mio avviso è un po' troppo complesso (anche se molto facile da installare e da configurare) per fare un sito mono-blog.
Ma valutiamo solo la parte di blog:
  • ha un'interfaccia di amministrazione di facile uso, intuitiva (una volta che si è arrivati ad identificare la zona del sito di gestione relativa ai blog)
  • dalla versione 2.0 è estendibile per plugin, ma non ho ancora avuto modo di capire cosa sia estendibile e cosa no
  • la gestione della sicurezza è basata sulle membership/role API di ASP.NET ed usa degli algoritmi anti-spam abbastanza avanzati

E' disponibile con due licenze: la licenza opensource, e la licenza commerciale.
Inoltre vari plugin sviluppati da Telligent sono a pagamento.
Usa come database di backend MS SQL Server, ma è pensato a Provider, quindi potrebbe teoricamente supportare altri DBEngine.
Link: communityserver.org


.Text

E' il padre di tutti i motori di blogging per .NET, ma soffre il fatto di essere stato abbandonato dallo sviluppatore 2 anni fa...
Ora Scott Watermasysk fa parte del team che sviluppa Community Server.
Non ho mai provato ad installarlo, e quindi non posso dare giudizi in merito, ma per quel che concerne il resto... è un software di 2 anni fa... e 2 anni fa i blog erano appena nati, e il target del prodotto non era quello dell'utente comune come ora, ma era lo sviluppatore: ma nonostante tutto è ancora attuale. Prova ne è che SubText ne sia un suo fork, e, nonostante i 6 mesi passati dall'annuncio, se togliamo l'editor WYSIWIG e un "revamping" estetico dell'admin e delle skin, la 1.0 non sia poi così diversa.
Usa come database di backend MS SQL Server, ma è pensato a Provider, quindi potrebbe teoricamente supportare altri DBEngine.

Link: Workspace su www.gotdotnet.com

daBlog CE

Era stato (e forse è ancora oggi) l'unico motore di blogging per .NET capace di contrastare .Text sia per funzionalità che per diffusione.
La sua caratteristica principale è quella di non aver bisogno di un database... tutto (la configurazione e i contenuti) è persistito su file xml, quindi non necessita di server DB.
L'installazione è quindi estremamente facile: basta avere i permessi di scrittura sulla cartella, e tutto funziona.
Non supporta l'estensibilità per plugin, ma ha già incluse parecchie funzionalità web2.0 o di community:
  • Cross post, per inviare i post anche su altri blog
  • Ping, per notificare altri (in particolare aggregatori come Technorati o altri)
  • Enclosures, per fare podcasting
  • Statisitiche dettagliate sugli accessi (referrals, aggregatori)
  • Supporto per fare syndacation tramite FeedBurner

E' sicuramente il motore di blogging più completo tra quelli per .NET... rispetto a tutti gli altri ha una mancanza: non è possibile avere più di un blog per installazione, anche se, avendo un file XML come DB, non se ne ha la necessità.

Link: www.dasblog.net

SubText

Come dicevo qualche decina di righe sopra, SubText è un fork di .Text... le ragioni sono spiegate da Phil Haack sul sito del progetto
Lo scopo del progetto, come si può leggere nella roadmap, è quello di realizzare un motore di blogging al passo coi tempi, soprattutto implemendo un modello a plugin per permettere lo sviluppo di una libreria di estensioni come è successo per WordPress e altri blogging engine in PHP.
Ma cos'ha SubText in più di suo "padre"?
  • Editor WYSIWYG per scrivere i post
  • Procedura d'installazione semplificata (basta unzippare, uploadare e andare su una pagina web)
  • Skin aggiuntive
  • CSS migliorato per l'admin
  • Qualche controllo aggiuntivo (ultimi commenti, calendario, navigazione prev-next)
  • Mail2Blog (inserire contenuti inviando una mail)

Non è molto in più, ma promette bene per il futuro... inoltre, per convincere chi ha .Text a cambiare sw, c'è anche un'importazione automatica dal db di .Text
Usa come database di backend MS SQL Server, ma è pensato a Provider, quindi potrebbe teoricamente supportare altri DBEngine... forse passerà a NHibernate per la prossima release.
Link: subtextproject.com


Tabella comparativa riassuntiva (tutti i valori nella scala 1-5)

Community Server
.Text
dasBlog CE
SubText
Facilità di installazione/setup
4
-
5
4
Interfaccia amministrativa friendly
5
3
5
4
Community
3
0
2
1
Flessibilità dei link
4
4
2
4
Facile categorizzazione dei contenuti
4
3
3
3
Disponibilità di plugin/skin
3
1
2
1
Facilità nella creazione contenuti
5
2
4
4
Sicurezza e SPAM-block
4
2
2
3
Portabilità
1
1
5
1


Le mie impressioni sono allienate con le vostre?

Dove sta la nuova classe ConfigurationManager?

Sto facendo il porting di una class library dal Fx 1.1 alla 2.0.

Nelle chiamate per leggere la configurazione da file .config prima si usava fare

ConfigurationSetting.AppSettings

ora invece questa chiamata genera un warning:

System.Configuration.ConfigurationSettings.AppSettings' is obsolete:
'This method is obsolete, it has been replaced by
System.Configuration!System.Configuration.ConfigurationManager.AppSettings'    

Ma sostituendo semplicemente ConfigurationSettings con ConfigurationManager non si compila... la classe ConfigurationManager non viene trovata, perchè?

Dopo un'oretta di ricerca ho capito il motivo... e pensare che avevo anche la spiegazione sotto gli occhi!

La dicutura con ! serve per indicare la signature completa del metodo nel formato Assembly!Namespace, quindi significa che la nuova classe ConfigurationManager si trova nell'assembly System.Configuration.dll

Quindi, ora, facendo il porting dalla 1.1 è necessario creare a mano la reference all'assembly System.Configuration: nella 1.1 questo namespace era direttamente nell'assebly System, mentre ora con la 2.0 sta in un'assemby a parte.
Invece nella 2.0 i progetti di tipo class library hanno già la reference corretta al nuovo assembly, quindi tutto fila liscio.

Un grazie a Scott Cate per avermi illuminato.

powered by IMHO 1.3

«febbraio»
domlunmarmergiovensab
2930311234
567891011
12131415161718
19202122232425
2627281234
567891011