Fichier sources.xml : définir les sources de données

Le fichier de configuration sources.xml est un fichier essentiel puisque c'est lui qui liste les sources de données du moteur Scrutari. L'absence de ce fichier n'entraine pas d'erreur, simplement le moteur tourne à vide !

La tâche qui incombe aux sources de données est de les fournir au format ScrutariData. Pour cela, elles doivent mettre à disposition une URL où télécharger ces données au format ScrutariData (sur le même principe que les URL de syndication). Il y a deux manières de mettre à disposition ces données :

  • soit en indiquant directement l'URL de téléchargement (voir ci-dessous l'élément <scrutaridata-url>)
  • soit en indiquant l'URL d'un fichier appelé « fiche d'information » qui sert d'intermédiaire, notamment en indiquant le ou les URLs nécessaires pour construire les données au format ScrutariData (voir son [[serveurscrutari:config:scrutariinfo|format exact] et ci dessous l'élément <info-url>)

Le choix entre ces deux manières dépend de la source. Un fichier d'information est particulièrement utile quand les données sont importantes et que leur génération peut prendre du temps.

Au niveau du fichier de configuration sources.xml, une source de données est identifiée par un nom unique et peut combiner plusieurs URLs (fichiers au format ScrutariData ou fichiers d'information) comme le montre l'exemple ci-dessous :

Structure du format XML

L'élément racine est l'élément <sources> qui contient un seul type d'élément : l'élément <source>. Celui-ci a un attribut obligatoire, @name, qui est le nom identifiant la source (il doit être unique et n'être composé que des minuscules (sans accent), des chiffres ou le tiret bas _).

L'élément <source> contient des éléments <info-url> et des éléments <scrutaridata-url> ; ces deux éléments doivent avoir comme valeur une URL valide et un élément <scrutaridata-url> peut posséder un attribut @freq qui indique la fréquence de mise à jour en nombre de jours (la valeur par défaut est « 1 » ce qui signifie que le fichier sera vérifié tous les jours).

L'élément <source> peut également posséder un élément <uri> (indiquant l'URI de la base à utiliser en lieu et place de l'URI indiqué par le fichier au format ScrutariData) ou plusieurs éléments <alias> (permettant d'indiquer des anciens URI équivalents à l'URI actuel). Voir les exemples et ci-dessous.

Exemple

L'exemple suivant est extrait de la configuration de la Coredem en juillet 2017

<?xml version="1.0" encoding="UTF-8"?>
<sources>
    <source name="irenees">
        <info-url>http://bases.basedefiches.net/irenees/pub/scrutari/coredem.scrutari-info.xml</info-url>
    </source>
    <source name="rsp">
        <info-url>http://bases.basedefiches.net/rsp/pub/scrutari/coredem.scrutari-info.xml</info-url>
	<alias>base:/e17a05b0-c45e-11d8-9669-0800200c9a66/rsp</alias>
    </source>
    <source name="agter">
        <info-url>http://bases.basedefiches.net/agter/pub/scrutari/coredem.scrutari-info.xml</info-url>
        <info-url>http://www.agter.asso.fr/spip.php?page=scrutari_entete&amp;id_exportscrutari=2</info-url>
    </source>
    <source name="coredem">
	<uri>base:/coredem.info/core</uri>
	<alias>base:/7121aba0-5232-11e1-b86c-0800200c9a66/passerelles</alias>
	<alias>base:/e17a05b0-c45e-11d8-9669-0800200c9a66/sitecoredem</alias>
	<scrutaridata-url freq="1">http://www.coredem.info/spip.php?page=scrutaridata_passerelles</scrutaridata-url>
	<info-url>http://docs.fichotheque.net/coredem/scrutari/sitecoredem.scrutari-info.xml</info-url>
    </source>
    <source name="comedie">
        <scrutaridata-url freq="1">http://www.comedie.org/scrutari/comedie.scrutari-data.php</scrutaridata-url>
    </source>
</sources>

Plusieurs URL

Comme indiqué ci-dessous, les éléments <info-url> et les éléments <scrutaridata-url> peuvent exister en plusieurs exemplaires. C'est utile si la source est elle même composée de plusieurs sources différentes. Ces sources différentes doivent être elles-mêmes être des sources valides et elles doivent comporter des corpus et des thésaurus avec des noms différents.

Les métadonnées de la base (URI, intitulés, langues d'interface, icones) sont déterminées à partir du premier fichier de sources indiqué.

Voici l'exemple pour le site Agter qui est composé de deux parties (http://www.agter.org et http://www.agter.asso.fr) régies par des logiciels différents.

  <source name="agter">
        <info-url>http://bases.basedefiches.net/agter/pub/scrutari/coredem.scrutari-info.xml</info-url>
        <info-url>http://www.agter.asso.fr/spip.php?page=scrutari_entete&amp;id_exportscrutari=2</info-url>
  </source>

et l'exemple de la Coredem avec l'utilisation des deux éléments à la fois :

<source name="coredem">
	<scrutaridata-url freq="1">http://www.coredem.info/spip.php?page=scrutaridata_passerelles</scrutaridata-url>
	<info-url>http://docs.fichotheque.net/coredem/scrutari/sitecoredem.scrutari-info.xml</info-url>
</source>

URI et alias

Les fichiers ScrutariData provenant de sources diverses, il peut arriver que celles-ci modifient l'URI de la base alors que le contenu lui-même ne change pas. Cette modification d'URI « casse » l'historique du moteur car le contenu apparait comme du nouveau contenu. Il peut également provoquer des dysfonctionnements dans des filtres basés sur l'URI. Pour éviter ce type de problème, deux mécanismes sont proposés à l'administrateur du moteur afin de mieux contrôler l'URI de la base :

  • fixer l'URI un élément <uri>, la valeur indiquée supplantant celle fournie par le fichier ScrutariData
  • indiquer des alias via un ou plusieurs éléments <alias>, ces alias seront convertis dans la bonne valeur de l'URI aussi bien dans l'historique que dans les filtres.

<uri> et <alias> ont la même syntaxe : leur texte doit être un URI de base valide (l'indication du protocole base: n'est pas obligatoire).

Voici ci-dessous l'exemple de la source Coredem qui fusionne les listes des revues Passerelles et la liste des sites membres de la Coredem. Initialement, ces deux données étaient gérées comme deux sources différentes avec des URI de bases distinctes. Le nouvel URI est base:/coredem.info/core.

<source name="coredem">
    <uri>base:/coredem.info/core</uri>
    <alias>base:/7121aba0-5232-11e1-b86c-0800200c9a66/passerelles</alias>
    <alias>base:/e17a05b0-c45e-11d8-9669-0800200c9a66/sitecoredem</alias>
    <scrutaridata-url freq="1">http://www.coredem.info/spip.php?page=scrutaridata_passerelles</scrutaridata-url>
    <info-url>http://docs.fichotheque.net/coredem/scrutari/sitecoredem.scrutari-info.xml</info-url>
</source>

DTD

<!ELEMENT sources (source*)>
 
<!ELEMENT source (info-url?|scrutaridata-url?|uri?|alias*)>
   <!ATTLIST source name NMTOKEN #REQUIRED>
 
<!ELEMENT info-url (#PCDATA)>
 
<!ELEMENT scrutaridata-url (#PCDATA)>
   <!ATTLIST scrutaridata-url freq NMTOKEN '1'>

Améliorer et remplacer les méta-données de la source

Il arrive que les méta-données d'une source sont peu remplies et pourraient être enrichies. Il est possible d'indiquer dans la configuration du moteur des méta-données destinées à compléter voire remplacer celles d'une source.

Pour cela, il faut créer un répertoire base-metadata dans le répertoire conf et placer dedans des fichiers au format XML portant le nom de la source suivi de .xml. Le format XML attendu est celui de l'élément <base-metadata> du format ScrutariData.

L'exemple suivant montre le contenu du fichier base-metadata/ritimo.xml indiquant l'icone à utiliser pour la source de nom « ritimo ».

<?xml version="1.0" encoding="UTF-8"?>
<base-metadata>
	<base-icon>http://scrutari.coredem.info/ritimo.png</base-icon>
</base-metadata>
serveurscrutari/config/sources.txt · Dernière modification: 2017/08/02 13:43 par vincent
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0