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.

  1. Aggiungere questa funzione al file b2-include/b2functions.php: function pingTechnorati($blog_ID = 1) {    global $use_technoratiping, $blogname,$siteurl,$blogfilename;<br></br>    if ((!(($blogname=="my weblog") && ($siteurl=="http://example.com") && ($blogfilename=="b2.php"))) && <br></br>    (!preg_match("/localhost/",$siteurl)) && ($use_technoratiping)) <br></br>    { <br></br>       $client = new xmlrpc_client("/rpc/ping", "rpc.technorati.com", 80); <br></br>       $message = new xmlrpcmsg("weblogUpdates.ping", array(new xmlrpcval($blogname), <br></br>                   new xmlrpcval($siteurl."/"))); <br></br>       $result = $client->send($message); <br></br>       if (!$result || $result->faultCode()) <br></br>          return(false); <br></br><br></br>       return(true); <br></br>    } <br></br>    else <br></br>       return(false); <br></br> }
  2. Nel file b2config.php impostare la variabile $use_technoratiping = 1;
  3. Modificare il file b2edit.php (all’interno del case 'post'):
    ` pingWeblogs($blog_ID);
    </br> pingCafelog($cafelogID, $post_title, $post_ID);
    </br> pingBlogs($blog_ID);
    </br> pingTechnorati($blog_ID); /* <— AGGIUNGERE QUESTA RIGA */
    </br>`

Feed RDF

Vediamo come aggiungere nuove informazioni al feed RDF generato da b2 (licenza CreativeCommons, trackback URL, FOAF).

  1. Aggiungiamo i seguenti nuovi namespace all’elemento <rdf:RDF>: ```

    xmlns:rdfs=”http://www.w3.org/2000/01/rdf-schema#”
    </br> xmlns:cc=”http://web.resource.org/cc/”
    </br> xmlns:trackback=”http://madskills.com/public/xml/rss/module/trackback/”
    </br> xmlns:foaf=”http://xmlns.com/foaf/0.1/”
    </br> ```

  2. 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>.
  3. 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)
  4. All’interno dell’elemento <item>, che si trova nel ciclo principale di b2, aggiungiamo la riga <trackback:ping rdf:resource="<?php trackback_url(); ?>" />
  5. 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): ```


    </br>    
    </br>    
    </br>    
    </br>    
    </br>    
    </br>    
    </br>


    </br> ```

  6. 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): ```


    </br>    
    </br>


    </br>


    </br>    Nome e Cognome
    </br>    XXXX
    </br>     Hash SHA1 dell'indirizzo e-mail
    </br>    
    </br>


    </br> ```

  7. Verificare la correttezza del feed con il validatore RDF del W3c e con feedvalidator