====== 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 !!!!) * 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 !!!!) 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 !!!! qui contient un seul type d'élément : l'élément !!!!. 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 //// contient des éléments !!!! et des éléments !!!! ; ces deux éléments doivent avoir comme valeur une URL valide et un élément //// 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 //// peut également posséder un élément !!!! (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 !!!! (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 http://bases.basedefiches.net/irenees/pub/scrutari/coredem.scrutari-info.xml http://bases.basedefiches.net/rsp/pub/scrutari/coredem.scrutari-info.xml base:/e17a05b0-c45e-11d8-9669-0800200c9a66/rsp http://bases.basedefiches.net/agter/pub/scrutari/coredem.scrutari-info.xml http://www.agter.asso.fr/spip.php?page=scrutari_entete&id_exportscrutari=2 base:/coredem.info/core base:/7121aba0-5232-11e1-b86c-0800200c9a66/passerelles base:/e17a05b0-c45e-11d8-9669-0800200c9a66/sitecoredem http://www.coredem.info/spip.php?page=scrutaridata_passerelles http://docs.fichotheque.net/coredem/scrutari/sitecoredem.scrutari-info.xml http://www.comedie.org/scrutari/comedie.scrutari-data.php ===== Plusieurs URL ===== Comme indiqué ci-dessous, les éléments !!!! et les éléments !!!! 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. http://bases.basedefiches.net/agter/pub/scrutari/coredem.scrutari-info.xml http://www.agter.asso.fr/spip.php?page=scrutari_entete&id_exportscrutari=2 et l'exemple de la Coredem avec l'utilisation des deux éléments à la fois : http://www.coredem.info/spip.php?page=scrutaridata_passerelles http://docs.fichotheque.net/coredem/scrutari/sitecoredem.scrutari-info.xml ===== 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 !!!!, la valeur indiquée supplantant celle fournie par le fichier ScrutariData * indiquer des alias via un ou plusieurs éléments !!!!, ces alias seront convertis dans la bonne valeur de l'URI aussi bien dans l'historique que dans les filtres. //// et //// 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//. base:/coredem.info/core base:/7121aba0-5232-11e1-b86c-0800200c9a66/passerelles base:/e17a05b0-c45e-11d8-9669-0800200c9a66/sitecoredem http://www.coredem.info/spip.php?page=scrutaridata_passerelles http://docs.fichotheque.net/coredem/scrutari/sitecoredem.scrutari-info.xml ===== DTD ===== ===== 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 !!!! 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 ». http://scrutari.coredem.info/ritimo.png