Un po’ di coding su b2.
Pingare Technorati
Se appositamente configurato, ogni volta che si inserisce un nuovo post b2 invia una notifica di aggiornamento (ping) ad alcuni aggregatori (blo.gs e Weblogs.com).
Con questa modifica, sarà possibile inviare la notifica anche a Technorati.
Queste stesse istruzioni sono disponibili, in inglese, sul Wiki degli sviluppatori di Technorati.
- Aggiungere questa funzione al file
b2-include/b2functions.php:function pingTechnorati($blog_ID = 1) { global $use_technoratiping, $blogname,$siteurl,$blogfilename; if ((!(($blogname=="my weblog") && ($siteurl=="http://example.com") && ($blogfilename=="b2.php"))) && (!preg_match("/localhost/",$siteurl)) && ($use_technoratiping)) { $client = new xmlrpc_client("/rpc/ping", "rpc.technorati.com", 80); $message = new xmlrpcmsg("weblogUpdates.ping", array(new xmlrpcval($blogname), new xmlrpcval($siteurl."/"))); $result = $client->send($message); if (!$result || $result->faultCode()) return(false); return(true); } else return(false); } - Nel file
b2config.phpimpostare la variabile$use_technoratiping = 1; - Modificare il file b2edit.php (all’interno del
case 'post'):
pingWeblogs($blog_ID);
pingCafelog($cafelogID, $post_title, $post_ID);
pingBlogs($blog_ID);
pingTechnorati($blog_ID); /* <--- AGGIUNGERE QUESTA RIGA */
Feed RDF
Vediamo come aggiungere nuove informazioni al feed RDF generato da b2 (licenza CreativeCommons, trackback URL, FOAF).
- Aggiungiamo i seguenti nuovi namespace all’elemento
<rdf:RDF>:xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:cc="http://web.resource.org/cc/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:foaf="http://xmlns.com/foaf/0.1/"
- All’interno dell’elemento
<channel>, aggiungere la linea<foaf:maker rdf:nodeID="XXXX" />, sostituendo a XXXX il vostro nick. N.B. in una precedente versione di questo documento, suggerivo di inserire questo riferimento all’interno dell’elemento<dc:creator>, ma questa pratica è scoraggiata (vedi Using Dublin Core Creator in favore dell’uso di<foaf:maker>. - Sempre all’interno dell’elemento
<channel>, aggiungere la linea<cc:license rdf:resource="http://creativecommons.org/licenses/by-sa/1.0/" />(eventualmente sostituendo la URL con quella relativa alla licenza da voi prescelta) - All’interno dell’elemento
<item>, che si trova nel ciclo principale di b2, aggiungiamo la riga<trackback:ping rdf:resource="<?php trackback_url(); ?>" /> - Direttamente sotto l’elemento
<rdf:RDF>(l’ideale è alla fine del file, subito prima del tag di chiusura), aggiungiamo i metadata relativi alla licenza Creative Commons da noi prescelta (questi di seguito fanno riferimento alla Attribution-ShareAlike):<cc:License rdf:about="http://creativecommons.org/licenses/by-sa/1.0/"> <cc:permits rdf:resource="http://web.resource.org/cc/Reproduction" /> <cc:permits rdf:resource="http://web.resource.org/cc/Distribution" /> <cc:permits rdf:resource="http://web.resource.org/cc/DerivativeWorks" /> <cc:requires rdf:resource="http://web.resource.org/cc/Notice" /> <cc:requires rdf:resource="http://web.resource.org/cc/Attribution" /> <cc:requires rdf:resource="http://web.resource.org/cc/ShareAlike" /> </cc:License>
- Subito dopo, aggiungiamo un elemento
<foaf:Document>ed un<foaf:person>, che contengono i vostri dati essenziali ed un rimando al vostro file FOAF completo (sempre sostituendo XXXX con il vostro nick):<foaf:Document rdf:about=""> <foaf:maker rdf:nodeID="XXXX" /> </foaf:Document> <foaf:person rdf:ID="XXXX"> <foaf:name>Nome e Cognome</foaf:name> <foaf:nick>XXXX</foaf:nick> <foaf:mbox_sha1sum> Hash SHA1 dell'indirizzo e-mail </foaf:mbox_sha1sum> <rdfs:seeAlso rdf:resource="URL del vostro file FOAF" /> </foaf:person>
- Verificare la correttezza del feed con il validatore RDF del W3c e con feedvalidator









