Programmare la gestione dei trackback sul proprio blog

Come mettere in comunicazione il tuo sito con gli altri blog tramite l'integrazione del cross posting

Il trackback è un sistema introdotto da Movable Type per consentire il collegamento tra post di blog differenti. Questa tecnica di cross-posting ha messo in comunicazione tra loro tutti i blog che supportano tale funzionalità, contribuendo alla crescita esponenziale che questo strumento di self publishing ha avuto in questi anni.

Photo credit: Maurice Schadee
Photo credit: Maurice Schadee

Il meccanismo è semplice; tutti i blog che accettano "risposte" ai propri post anche da blog esterni, forniscono un identificativo unico per ogni post chiamato URL di trackback.

Quando un utente posta sul proprio in risposta o in riferimento ad una notizia letta da qualche altra parte, lo farà includendo nel post l'URL di trackback della notizia di riferimento. Sui due blog quindi gli interventi saranno linkati reciprocamente; su uno apparira l'url di trackback (qualcosa simile a "sto parlando dell'articolo letto qui") e sull'altro la notifica di risposta (simile a "hey, qualcuno mi ha risposto a questo indirizzo).

La procedura di trackback pertanto avviene in due step:

  • Un blog che "chiama" e notifica un commento. La chiamata si chiama "Ping".
  • Un blog che risponde alla chiamata comunicando se il commento è stato rilevata o meno.

Moltissime piattaforme hanno la gestione dei trackback integrata per default, ma in rete esistono molti sistemi informativi custom sviluppati ad hoc (come ikaro.net). Per questi sistemi pertanto la gestione dei trackback va sviluppata manulmente.

Sono due le funzionalità che si possono implementare su un sistema di self publishing custom. Si puà abilitare il sistema a:

  • accettare risposte su blog esterni (ricevere ping)
  • rispondere a blog esterni (inviare ping)

L'url di trackback

Occupiamoci per ora di mettere in ascolto il nostro blog per rilevare se da qualche parte in rete si fa riferimento a notizie o articoli apparsi nostro sito. Gestiamo pertanto le richieste di ping. Tecnicamente il ping è una chiamata ad uno script con metodo POST, con la quale si inviano variabili sia POST che GET. Questo script costituirà l'URL di trackback.

Il flusso dati dello script è il seguente:

  1. Ricezione del ping con i dati inviati tramite metodo POST
  2. Verifica dei dati, se non corretti invia responso negativo in formato XML ed esce
  3. Se corretti, elabora i dati. Se l'elaborazione non riesce invia responso negativo in formato XML ed esce
  4. Iniva responso positivo in formato XML.

Specifiche dei dati

Vediamo i nomi dei parametri inviati dai ping che il nostro script deve gestire;

  • MEDOTO GET
    1. ID univoco del nostro post, al quale il chiamante sta rispondendo - obbligatorio

  • METODO POST
    1. url | l'URL univoco che contiene la risposta al post - obbligatorio
    2. blog_name | il nome del blog esterno - facoltativo
    3. title | il titolo della risposta - facoltativo
    4. excerpt | il testo della risposta - facoltativo

Specifiche delle risposte

I responsi ai ping, sia positivi che negativi, devono essere inviati in formato XML. Lo script pertanto deve inviale l'header appropriato ("Content-Type: text/xml") prima di ogni eventuale output del sorgente.

Responso esito positivo:

<?xml version="1.0" encoding="utf-8"?>
<response>
<error>0</error>
</response>

Responso esito negativo

< ?xml version="1.0" encoding="utf-8"?>
<response>
<error>1</error>
<message>Messaggio di errore</message>
</response>

Come abbiamo visto nelle specifiche dei parametri, le uniche due variabili obbligatorie sono l'ID inviato con il metodo GET e il campo "url" che identifica il post chiamante.

Scheletro di esempio

Mostriamo pertanto un valido schema di script ampliando un pò lo schema dello script;

  1. Controllo se il campo HTTP_GET_VARS['id'] e HTTP_POST_VARS['url'] siano validi
  2. Se non sono validi invio il responso negativo (vedi sopra) in formato XML
  3. Se sono validi, salvo la risposta contenuta nelle variabili POST blog_name, title, excerpt e la collego al post appropriato tramite HTTP_GET_VARS['id']
  4. Se il salvataggio non è andato a buon fine, invio esito negativo con formato XML
  5. Se il salvataggio è avvenuto, invio finalmente esito positivo con XML

Il punto 3 è strettamente dipendente da come il sistema informativo gestisce i dati. Se le indormazioni vengono memorizzate su una base dati dovranno essere inseriti nella tabella delle risposte indicando come chiave l'ID del post di riferimento inviato con il metodo GET.

Se le risposte vengono gestite invece su files XML o su file di testo ASCII, dovranno essere memorizzate con le specifiche del sistema informativo in uso.

URL di trackback

Una volta sviluppato e salvato da qualche parte lo script, questo servirà per fornire l'ULR di trackback relativo ad ogni post del vostro blog. Supponiamo che lo script abbia l'URL http://vostro.blog.it/cgi/trackback.cgi, l'URL di trackback da fornire ai vostri visitatori per l'articolo con id=452 sarà ad esempio: http://vostro.blog.it/cgi/trackback.cgi?id=452

Schema di sorgente da modificare

Segue lo shot di uno scheletro di sorgente php modificabile in base alle proprie esigenze.


Tags:      

Daniele Di Gregorio


19.12.2005 Opensource e strumenti on line


Vuoi ricevere gli ultimi articoli
e tenere d'occhio i commenti direttamente sul tuo PC?

Ikaro Toolbar

Potrai inoltre navigare ascoltando decine
di radio on line, accedere a centinaia
di TV in streaming
e chattare con gli altri visitatori del sito.

Per Windows 2000/XP. No spyware!

Syndacate Feed

Feedburner Technorati

Avvisami per email quando sono presenti nuovi articoli:


Contatto Contattami


Skype: ikaro.net
Email: compila il modulo


Pubblica Pubblica


Collabora

Suggerisci un tuo post o pubblica il tuo articolo. Gli articoli verranno pubblicati assieme agli altri redazionali con un link al tuo blog (continua)


Newsradar

• Ning: Crea Il Tuo Social Network Con Pochi Click

• Pochi Layout Per Movable Type 4? Prova Col Design Assistant

• Usa Il Tuo Account Google Come OpenID

• Mi Dai Il Tuo Account Digg?

• La Russia Taglia I Ponti Con Microsoft: Dal 2009 Solo Linux

• Crea Le Tue Favicon Online: Favikon

• Blogging: Layout Personalizzati In Un Istante Con Firdamatic

• Internet e Caipirinha: Ikaro Sbarca In Brasile (e Portogallo)

• Velocità ADSL: I Test Online Più Affidabili

• Una Miniera Di Conoscenza Condivisa: eDocr

Altre news •>


Creative Commons License
Ove non diversamente specificato, tutti i contenuti sono rilasciati sotto Licenza Creative Commons.

Logo
English