Dilib, module Explor, paramétrage
Module Explor |
Cette page décrit le paramétrage du module Explor de la bibliothèque Dilib.
Liste des modules Dilib
Module Explor
|
Les tables de paramètres
Le module Explor est piloté par un ensemble de tables qui se déduisent les unes des autres. Plus précisément, pour une plateforme donnée :
- une table nommée
AreaParam.data.tab
est utilisée pour la génération des données, - en prévision d'une version multilingue
AreaSiteParam.fr.tab
pour la génération du site (et la programmation des modules php). Cette table est un sur-ensemble de la précédente.
Les tables sur le répertoire Input
Les tables de paramètres sont contenues dans le répertoire Input. On trouvera notamment les tables utilisées par les programmes de génération ou de navigation :
- La table de paramétrage de la construction des données :
AreaParam.data.tab
. - La table de paramétrage pour l'interface de navigation en anglais :
AreaSiteParam.en.tab
. - Une table par langue complémentaire, exemple, pour le français :
AreaSiteParam.fr.tab
.
On y trouve également la copie normalisée des pages de paramètres issues du réseau Wicri,
- pour les données
WicriAreaParam.data.tab
(issue deWicriAreaParam.data.wiki
sur le répertoire Import). - et pour les interfaces de navigation, exemple
WicriAreaParam.fr.tab
.
On trouve enfin des tables intermédiaires :
AreaParam.data.step0.tab
,AreaParam.data.step1.tab
etAreaParam.data.step2.tab
Élaboration des tables
Toutes les tables sont initialement définies sur pour les paramètres généraux, et sur le wiki d'application, pour les spécifiques.
Pour initialiser le processus de génération l'administrateur doit recopier les tables sur le répertoire Import (avec la commande WicriGetPage). Par exemple, sur Wicri/Informatique, pour la version GénieLogV1 du Serveur d'exploration de la revue Génie logiciel.
WicriGetPage -l wicri-informatique.fr -p "Wicri:GénieLogV1/Paramètres, data" \
> GenieLogV1/Import/WicriAreaParam.data.wiki
WicriGetPage -l wicri-informatique.fr -p "Wicri:GénieLogV1/Paramètres, fr" \
> GenieLogV1/Import/WicriAreaParam.fr.wiki
L'administrateur doit alors lancer la commande ExplorAreaDataCreate
qui élabore les tables de paramètres finales et génère les shells de génération.
Concernant les paramètres, la commande ExplorAreaDataCreate effectue les tâches suivantes :
- Dans un premier temps les pages wiki sont converties à l'aide du filtre
ExplorParamFromWiki
et portées sur le répertoire Input. - Puis les tables
$DILIB/data/Explor/param.root.tab
et WicriAreaParam.data.tab sont fusionnées dansAreaParam.data.step0.tab
. Ceci permet essentiellement de connaître l'ensemble des tables nécessaires à la génération. - Cette table est alors utilisée par
ExplorGenerParamStep1
, qui génère un shell permettant la fusion de toutes les tables utilisées pour la génération. En fait 2 tables successives sont générées : AreaParam.data.step1.tab et AreaParam.data.step2.tab. - Enfin cette dernière table est améliorée par
ExplorGenerParamStep2
.
Type et syntaxe des paramètres
Code wiki
A l'heure actuelle un paramètre en code wiki peut contenir :
- du texte balisé en html
- des liens en syntaxe wiki
- des appels de modèle
{{Explor include|key=valeur}}
.
Source php
Les paramètres concernant les procédures php peuvent contenir du code php inclus dans des balises source.
Ce code peut faire utiliser les variables php globales et notamment :
$ExplorParamIndexName
:$ExplorParamRecordNumber
:
Tables de paramètres
- Dilib, module Explor, Explor root, Dilib, module Explor, Explor en, Dilib, module Explor, Explor fr ;
- Dilib, module Explor, MainMerge data, Dilib, module Explor, MainMerge en, Dilib, module Explor, MainMerge fr
- Dilib, module Inist, Explor data, Dilib, module Inist, Explor en, Dilib, module Inist, Explor fr
- Dilib, module Ccsd, Explor data, Dilib, module Ccsd, Explor en, Dilib, module Ccsd, Explor fr
- Dilib, module Wicri, Explor data, Dilib, module Wicri, Explor en, Dilib, module Wicri, Explor fr
- Dilib, module Nlm, flux Medline, Explor data, Dilib, module Nlm, flux Medline, Explor en, Dilib, module Nlm, flux Medline, Explor fr
- Dilib, module Nlm, flux Pmc, Explor data, Dilib, module Nlm, flux Pmc, Explor en, Dilib, module Nlm, flux Pmc, Explor fr
- Dilib, module Nlm, flux Ncbi, Explor data, Dilib, module Nlm, flux Ncbi, Explor en, Dilib, module Nlm, flux Ncbi, Explor fr
Le contenu des tables
Description de l'arborescence de la plateforme
Area/areaTree
- liste des flux d'une plateforme, voir : Dilib, module Explor, paramètre areaTree.
Area/listStreams
- liste des flux d'une plateforme, voir : Dilib, module Explor, paramètre listStreams.
Area/listUpStreams
- liste des flux d'une plateforme, restreinte aux flux amont voir : Dilib, module Explor, paramètre listUpStreams.
Area/mainLastStep
- Ce paramètre définit le style du flux principal, Exploration ou Repository. Il est élaboré dans ExplorGenerParamStep2.
Les commandes associées
ExplorAreaDataCreate
ExplorParamFromWiki
La commande ExplorParamFromWiki
accepte en entrée une page en WikiTexte qui contient des paramètres répartis dans des tableaux de 3 colonnes.
- la première colonne contient un nom de paramètre, éventuellement préfixé par un type
- la deuxième contient une localisation
- la troisième contient la valeur
Cette commande devient obsolète avec un traitement uniformisé des tables par MediaWikiTable2SxmlRowCol et un reformatage plus simple par ExplorParamFromRowCol.
ExplorGenerParamStep1
Cette étape détermine les fichiers paramètres à consolider. Elle génère le shell de consolidation et une nouvelle version de la table (AreaParam.data.step1.tab
).
ExplorGenerParamStep2
Cette commande produit la table Input/AreaParam.data.tab
qui sera effectivement utilisée par les modules de génération de données.
Pour cela elle part de la version Input/AreaParam.data.step2.tab
et effectue diverses transformations destinés à faciliter l'écriture des modules de génération.
Plus précisément, elle crée de nouvelles entrées dans la table telles que :
Area/stream/step/listIndexCode
Area/stream/step/listAssocCode
ExplorGenerSiteParam
Manipulation des tables de paramètres en langage C
La manipulation des tables se fait à l'aide de l'interface Explor.
La manipulation des tables se fait à l'aide du fichier de déclaration Explor.h
#include "Explor.h"
Celui ci donne notamment accès à la variable ExplorTableParam (de type StrDict) qui pointe vers la table courante utilisée par un programme de génération.
StrDict *ExplorTableParam;
Accès sans héritage, ExplorGetFromDict
L'accès sans héritage se fait au travers de la fonction de base ExplorGetFromDict
:
char *ExplorGetFromDict(char *key);
Elle accepte en paramètre une clé complète et renvoie la valeur, exemple :
SxmlNode mainListSteps;
mainListSteps=SxmlFromString(ExplorGetFromDict("Area/Main/steps"));
Pour faciliter l'écriture des appels un ensemble de fonctions dérivées a été introduit :
char *ExplorGetFromDictK2(char *k1, char *k2);
char *ExplorGetFromDictK3(char *k1, char *k2, char *k3 );
char *ExplorGetFromDictK4(char *k1, char *k2, char *k3, char *k4 );
char *ExplorGetFromDictWithPrefix(char *prefix, char *code);
Accès avec héritage
char *ExplorCascadeFromDictK3(char *k1, char *k2, char *key );
char *ExplorCascadeFromDictK4(char *k1, char *k2, char *k3, char *key );
char *ExplorCascadeFromDictK5(char *k1, char *k2, char *k3, char *k4, char *key );
Manipulation des tables de paramètres en php
ExplorGetParamTable
Cette fonction va rechercher un fichier contenant une table de paramètre (en syntaxe Sxml) pour retourner un tableau php.
function ExplorGetParamTable($paramFilePath)
Voir aussi
- les tables proprement dites sur Wicri/Base (en).