17 gennaio 2008  3

Come usare il servizio syndication.axd in BlogEngine.NET

BlogEngine.NET / Web 2.0 

rss-reflection Il servizio syndication.axd è il webservice proprietario del sistema di blog authoring BlogEngine.NET che si occupa della preparazione e produzione in tempo reale del flusso XMLW relativo al feed medesimo.

Il flusso può essere prodotto secondo le specifiche RSS 2.0 (Really simple syndicationW) o AtomW a seconda delle preferenze specificate nel Pannello di Controllo del blog (sezione Impostazioni) ed è possibile impostare un numero massimo di elementi da pubblicare, aggiunti in ordine cronologico inverso rispetto alla data stessa di pubblicazione.

Il servizio, tramite opportuno passaggio di parametri, è in grado di mostrare il contenuto degli articoli (o post) o quello dei commenti, con la possibilità di filtrarli in base all'autore, la categoria, il formato o combinazione di questi.

La sintassi da adoperare per la creazione del flusso non è documentata nel WIKI dedicato, ma è facilmente deducibile esaminando il codice della porzione di CORE demandata allo scopo (file sorgente SyndicationHandler.cs).

In sintesi, posto che www.miodominio.com sia l'URI del nostro blog, potremo con:

http://www.miodominio.com/syndication.axd?category=<IDCategory>

estrarre gli ultimi N articoli (così come impostato da Pannello di Controllo) relativi alla categoria identificata da <IDCategory> (ricordo che per individuare l'ID associato ad una determinata categoria è sufficiente esaminare il file categories.xml contenuto nella cartella App_Data)

http://www.miodominio.com/syndication.axd?author=<NomeAutore>

estrarre gli ultimi N articoli (così come impostato da Pannello di Controllo) creati da <NomeAutore>

http://www.miodominio.com/syndication.axd?comments=all

estrarre gli ultimi N commenti registrati (così come impostato da Pannello di Controllo). In realtà si può far assumere qualunque valore al parametro comments (ho indicato all per pura convenzione) a patto che venga comunque valorizzato pena la non creazione del feed (con relativo errore)

http://www.miodominio.com/syndication.axd?post=<IDPost>

estrarre gli ultimi N commenti (così come impostato da Pannello di Controllo) relativi all'articolo (o post) identificato da <IDPost> (ricordo che l'ID associato ad un post non è altro il codice contenuto nel permalink dello stesso)

http://www.miodominio.com/syndication.axd?format=[rss|atom]

definire il formato del flusso XML in uscita a seconda del valore associato al parametro format, vale a dire rss o atom.

Naturalmente tutti questi parametri possono essere passati e valorizzati contemporanemente, come nell'esempio seguente:

http://www.miodominio.com/syndication.axd?format=atom&comments=all

che genererà il flusso XML in formato atom degli ultimi N commenti pubblicati.

Il team di sviluppo ha appena aggiunto un ulteriore parametro che consente di creare il feed selezionando solo i post (fino ad un massimo di N) che soddisfano un determinata stringa di ricerca. La sintassi sarà:

http://www.miodominio.com/syndication.axd?q=<stringhe_di_ricerca>

ed è attualmente implementata dalla versione 1.3.0.8 (potete scaricare e compilare i sorgenti in corso d'opera da questo indirizzo)

Autodiscovery feed ultimi commenti

Nel caso in cui si volesse aggiungere la funzionalità di autodiscovery anche per il feed degli ultimi commenti è possibile seguire due strade.

La prima, più semplice, non richiede modifiche al codice del tema in uso ma semplicemente l'inserimento della stringa

<link rel="alternate" type="application/rss+xml" title="Il nome del Blog - Commenti" href="http://www.miodominio.com/syndication.axd?comments=all" />

all'interno dell'area Sezione HTML Head della sezione Impostazioni del Pannello di Controllo del blog.

La seconda richiede l'inserimento della stessa stringa di cui sopra all'interno della sezione Head del template Site.Master contenuto nella cartella del tema correntemente applicato al blog.

Ovviamente il primo metodo consente di inserire la funzionalità indipendentemente dal tema applicato, mentre il secondo solo al tema correntemente in uso.

Esprimi il tuo giudizio

Commenti (3) -

Emanuel
Emanuel
18 gen 2008 alle 02:06  01
Utilissimo come sempre il tuo contributo. Smile
Cristiano
Cristiano
18 gen 2008 alle 14:29  02
@ Emanuel:
Se posso condividere la mia esperienza, anche alla luce del neonato forum, lo faccio sempre con estremo piacere.
Alessandro Nasini
Alessandro Nasini
05 mar 2009 alle 15:38  03
molto utile e chiaro. grazie.

Aggiungi Commento

biucitecode
  • Commento
  • Anteprima
Loading


| |   |  

Codice QR

Codice QR - cristianofino.net

Ultimi Commenti