La sindicació dels continguts

Amb SPIP 1.9, el sistema de sindicació (veure l’article «Els fitxers backend») s’enriqueix: a partir d’ara és possible canviar l’adreça dels documents adjunts als articles (podcasting), transportar d’un lloc a un altre les paraules clau (tags) associades als articles així com la seva secció (o categoria). També podem, si ho desitgem, sindicar el contingut integral dels articles.

En tot el que segueix, es considera que el flux de sindicació ofert pel lloc Web font és suficientment ric per haver previst totes les possibilitats que ofereix particularment la plantilla dist/backend.html d’SPIP.

Referenciament ràpid del lloc Web

Ens cal trobar primer en el lloc font el URL del seu flux de sindicació en format RSS (o ATOM). Segons el cas, aquesta adreça s’indica directament a la pàgina, i/o és «descoberta» automàticament pel navegador, que mostra llavors una icona característica. Si les plantilles del lloc font ho preveuen, SPIP 1.9 també pot descobrir aquesta adreça de sindicació, i n’hi ha prou indicant l’adreça del lloc per veure la proposició de sindicació.

Un cop activada la sindicació, els articles que són presents en el flux de sindicació són recuperats al lloc Web receptor.

Decidir què volem transmetre

L’administrador del lloc Web font pot decidir què posa en el seu flux RSS: aquesta tria es pot fer evidentment modificant la plantilla dist/backend.html, o inspirant-s’hi per crear un nou flux.

Però la pàgina de configuració a l’espai privat proposa una opció molt important per la sindicació: permet decidir si el flux RSS del lloc Web implicarà la totalitat del contingut dels articles, en format HTML, o només un petit resum (en format text). En el primer dels casos (que és la configuració per defecte del sistema), els articles recents del lloc Web es poden llegir sencers amb un lector RSS: són també «recopiables» per complet d’un lloc a un altre. Això permet, per exemple, crear automàticament llocs Web miralls, o llocs Web que es construeixin a partir del contingut realitzat a altres llocs Web.

Decidir què volem recuperar

Si el lloc Web font no difon la totalitat del seu contingut, és evident que la sindicació no en podrà recuperar més. Però en cas d’una difusió integral, SPIP pot recuperar aquest contingut HTML i mostrar-lo, imatges compreses.

Lloc per lloc, podem escollir què volem recuperar per sindicació: el contingut HTML dels articles (si està disponible) o un simple resum en format text.

També podem decidir què fer amb els articles que desapareixen del flux (generalment es limita als 15 articles més recents del lloc): podem decidir que SPIP els elimini de la base de dades (passat un període de dos mesos), i/o passar-los immediatament a mode «refusat». Aquestes últimes opcions permeten, per exemple, gestionar un portal que tingui fluxos molt ràpids (agències de premsa, tags molt populars de llocs de fotografia, etc); o fins i tot mantenir un mirall fidel d’un lloc Web (eliminant-ne els articles que no serien despublicats).

SPIP considera que si la data d’un element de flux RSS i «molt antic» (més d’un any) o massa llunyà en el futur (més de 48 hores), és que es tracta probablement d’un error. Per tant, inscriu la data del dia en lloc de la que ha trobat. No obstant, podríem necessitar sindicar informacions que, intencionadament, proporcionin una data situada a més de 2 dies en el futur. Per exemple, podem servir-nos de fluxes RSS anunciar esdeveniments que passaran en un futur. És el cas, en la galàxia SPIP, del lloc SPIP Party.

Per sindicar les seves trobades per mitjà del flux RSS dedica una variable de personalització anomenada $controler_dates_rss, que té el valor de veritable per defecte.

Per això, si en el vostre fitxer config/mes_options.php, afegiu la línia $controler_dates_rss = false;, la prova no es farà més i les dates del futur, o del «llunyà» passat, es tindran en compte.

Decidir què volem mostrar

-  la font:

De manera habitual, #NOM_SITE representa el nom del lloc Web sindicat, que és per tant la «font» de l’article. No obstant, amb el desenvolupament dels afegidors de contingut (els portals per exemple), la veritable font de l’article pot estar a una altre lloc Web. El format RSS ha previst aquest cas definint un camp <source> que indiqui la veritable font de l’article. El motor de sindicació d’SPIP recupera aquestes dades quan hi són, i les etiquetes #SOURCE i #URL_SOURCE permeten mostrar respectivament el nom i l’adreça de la font.

-  els tags:

Si les paraules clau assignades als articles són indicades correctament al flux RSS, són recuperades pel lloc Web receptor; no arriben individualment a la taula de les paraules clau, sinó que són emmagatzemades de forma desordenada al camp tags de la taula spip_syndic_articles.

Si el flux de sindicació utilitza la notació estàndard <dc:subject>Tag</dc:subject>, el tag s’anota tal qual. SPIP porta aquesta noció una mica més enllà transmetent també l’adreça de la pàgina de la paraula clau, gràcies als microformats. El tag és llavors recuperat amb el seu enllaç, en forma de: <a rel="tag" href="adreça de la pàgina de la paraula clau">Paraula clau</a>.

Al lloc Web del destinatari, aquests tags es mostren a l’espai privat a sota la descripció de l’article, i són visibles al lloc públic gràcies a l’etiqueta #TAGS (veurem més endavant com filtrar-ho per poder fer una presentació selectiva dels tags).

Nota: SPIP preveu una gestió específica dels tags que provenen dels llocs del.icio.us (llista d’adreces d’interès col·lectiu), flickr (fotografia) i connotea (anotació d’articles científics), de tal manera que els puguem atribuir un URL (que no està previst en els seus flux RSS respectius).

-  la secció:

En nombroses aplicacions (sistemes de blocs, directori d’enllaços...) la categoria (o fins i tot directori) d’un article és l’equivalent a allò que SPIP anomena la secció. Per tant, era lògic utilitzar la noció RSS estàndard de <category>...</category> per donar a conèixer la pertinença del nostre article a tal o qual secció.

De la mateixa manera que amb els tags, SPIP recupera aquesta informació i la mostra per mitjà dels #TAGS.

-  els documents adjunts:

Els documents que, a l’espai privat, figuren a sota de la pàgina de visualització d’un article, o bé dins la secció «Documents» o bé, per les imatges, a la secció «Portafoli», també són tramesos pel flux RSS, utilitzant la noció <enclosure ... />. És el que s’anomena podcasting, a partir d’ara una funció estàndard d’SPIP [1]

La informació sobre els adjunts també és recuperada per l’etiqueta #TAGS, però es mostra de forma diferenciada a l’espai privat, en la forma d’un petit clip per cada fitxer.

Utilitzar l’etiqueta #TAGS

Com hem vist més amunt, l’etiqueta #TAGS mostra de forma desordenada els enllaços cap a les paraules clau, la secció i els documents adjunts. Però gràcies als microformats, els enllaços cap a cadascun dels conceptes es «marquen» de la següent manera:
-  <a rel="tag" ...> pels tags/paraules clau
-  <a rel="directory" ...> per la secció/categoria
-  <a rel="enclosure" ...> pels documents adjunts/podcast

Si volem mostrar només un d’aquests tipus de tags, utilitzarem el filtre afficher_tags precisant el tipus d’argument que desitgem:

(Per defecte [(#TAGS|afficher_tags)] és equivalent a [(#TAGS|afficher_tags{tag,directory})].)

Pels documents adjunts, el filtre específic afficher_enclosures permet mostrar els clips més que no pas els enllaços clàssics:

* * *

Manipular el contingut HTML dels articles sindicats

Un cas pràctic: el nostre lloc Web sindica un fotobloc, que difon sistemàticament un petit comentari seguit d’una fotografia. Aquesta última es presenta en forma d’una etiqueta HTML <img .../>. Un cop aquest fotobloc sindicat en versió HTML el tenim complet al nostre lloc Web, podem decidir mostrar-ne només la foto, sense el comentari. Ens fa falta llavors extreure l’etiqueta <img />; això ho podrem fer gràcies al filtre extraire_balise{xxx}, que recupera la primera etiqueta HTML <xxx /> d’un contingut.

A partir d’aquí tot és possible:
-  [(#DESCRIPTIF|extraire_balise{img})] mostra la foto;
-  [(#DESCRIPTIF|extraire_balise{img}|extraire_attribut{src})] el seu URL;
-  [(#DESCRIPTIF|extraire_balise{img}|extraire_attribut{width})] la seva amplada;
-  també podem modificar-ne l’estil mitjançant, per exemple:

[(#DESCRIPTIF|extraire_balise{img}|
        inserer_attribut{style,'border: double red 4px;'})]

Nota: els continguts HTML que provenen d’un lloc Web extern són, per definició, considerats com a «no controlats», i, per tant, potencialment problemàtics si contenen etiquetes mal tancades, o javascript; per tant, SPIP els aplica de forma sistemàtica el filtre safehtml abans de mostrar-los.

Altres filtres relacionats amb la sindicació

Aquests filtres permeten convertir els tags de sindicació d’un format a un altre, per tal de poder lliurar en format RSS, per exemple, «tags» recuperats per sindicació, i registrats a la nostra base de dades en forma de microformats: tags2dcsubject, enclosure2microformat, microformat2enclosure.

Referències

-  RSS 2.0
-  microformats
-  rel=tag
-  rel=enclosure
-  rel=directory

Notes

[1Alerta, els fitxers ells mateixos no es tornen a copiar: només es recuperen els URL i les dades que s’hi associen (títol, mida, format). Per altra banda, hem d’assenyalar, pels puristes, que prenem aquí alguna llibertat amb la norma RSS, que prohibeix normalment que hi hagi diversos adjunts en un mateix article.

Autor merce Publié le : Mis à jour : 26/10/12

Traductions : عربي, català, English, Español, français, italiano, Nederlands, Türkçe