Dilib, module Explor, paramétrage

De Wicri Outils
Révision datée du 11 octobre 2016 à 16:25 par imported>Jacques Ducloy (ExplorAreaInit)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
LogoDilib.gif
Panneau travaux.png
Bibliothèque Dilib (ressources numériques)
Module Explor

Cette page décrit le paramétrage du module Explor de la bibliothèque Dilib.

 
logo travaux page en cours de rédaction

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 de WicriAreaParam.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 et AreaParam.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 dans AreaParam.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

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

Icône de détail Article détaillé : Dilib, commande 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