Le format XML du fichier de configuration
Ce fichier fondamental indique les répertoires dans lesquels vont être stockées les données des fichothèques ou auquel le logiciel accédera pour une configuration personnalisée
Le chemin du fichier de configuration est indiqué dans la configuration du contexte Tomcat de l’application avec le paramètre <Parameter name="bdfConfFile" value=""/>
(voir Les paramètres d’initialisation du logiciel BDF dans le contexte Tomcat). En l’absence de ce paramètre ou si le fichier indiqué par ce chemin n’existe pas, le logiciel cherchera la présence d’un fichier nommé bdf-conf.xml
dans les emplacements /{contexte}/META-INF
puis /{contexte}/WEB-INF
et renverra un message d’erreur à l’initialisation s’il ne le trouve pas. À noter que le déploiement de la version .war
du logiciel crée ce fichier dans /{contexte}/META-INF
.
Ce fichier de configuration est un fichier au format XML dont l’élément racine s’appelle <bdf-conf>
. Comme indiqué dans la fiche sur les paramètres d’initialisation déjà citée, il peut contenir des éléments <Parameter name="" value=""/>
sur le même modèle que le fichier de configuration du contexte Tomcat. Cependant, son rôle essentiel est de permettre la personnalisation des différents chemins utilisés par le logiciel BDF pour accéder à certains informations et stocker ses données.
Les répertoires etc/
et var/
L’élément racine <bdf-conf>
doit contenir a minima les deux éléments obligatoires suivants :
<etc-dir path=""/>
: élément dont l’attribut@path
indique le chemin du répertoire des fichiers de configuration supplémentaires (appelé par la suiteetc/
)<var-dir path=""/>
: élément dont l’attribut@path
indique le chemin du répertoire de stockage des données (appelé par la suitevar/
)
Le répertoire etc/
peut ne pas exister et, s’il existe, il peut n’être accessible qu’en lecture seule.
Le répertoire var/
doit être accessible en lecture et écriture au logiciel et, s’il n’existe pas, le logiciel tentera de le créer.
L’exemple ci-dessous est le fichier <bdf-conf>
présent dans le répertoire /META-INF/
de la version .war
du logiciel.
On voit que les élements <etc-dir>
et <var-dir>
possède un attribut supplémentaire @append-context="true"
. Cet attribut indique que le chemin final doit être construit en ajoutant le nom du contexte de l’application dans Tomcat au chemin indiqué par l’attribut @path
.
Autrement dit, si l’application est installée pour tourner avec le nom de contexte « fichotheques_de_toto », etc/
pointera vers /etc/bdf/fichotheques_de_toto/
et var/
vers /var/lib/tomcat9/webapps/_var_/fichotheques_de_toto/
(dans le cas d’une installation avec Tomcat 9 sous Debian). Cela permet d’installer une autre version du logiciel dans Tomcat avec le nom de contexte « fichotheques_de_lulu » avec des répertoires différents.
À noter que comme le montre l’exemple, le chemin indiqué par @path
peut être relatif et, dans ce cas-là, le chemin complet sera construit à partir du répertoire de déploiement de l’application.
Les éléments <dir>
L’élément racine <bdf-conf>
peut contenir également un nombre quelconque d’éléments <dir>
qui vont permettre de personnaliser le chemin de certains des sous-répertoires attendus par le logiciel dans etc/
et var/
. Ces éléments ont trois attributs :
@key
: la clé identifiant le sous-répertoire en question (obligatoire)@path
: le chemin du répertoire (obligatoire)@append-context
: même mécanisme que décrit plus haut : ajoute le nom du contexte à la valeur de@path
(facultatif)
Un exemple concret de l’utilité de cette personnalisation est le répertoire cache/
. Par défaut, celui est créé directement dans var/
par le logiciel et sert à stocker des données en cache (principalement le contenu des fiches). Son contenu n’a pas besoin d’être sauvegardé, sa présence dans var/
peut être donc gênante si on met en place des scripts de sauvegarde (cela oblige à mettre en place des filtres). On peut simplifier le traitement en utilisant un autre emplacement comme le montre l’exemple suivant :
Les clés disponibles pour les sous-répertoires de etc/
et var/
sont les suivantes :
etc.config
: sous-répertoire de fichiers de configuration supplémentairesetc.config.default
: sous-répertoire des fichiers de configuration par défautetc.scripts
: sous-répertoires des scripts bash exécutables par l’applicationetc.resources
: sous-répertoire des ressourcesvar.data
: sous-répertoire des donnéesvar.output
: sous-répertoires des extractions de donnéesvar.cache
: sous-répertoire du cache des donnéesvar.backup
: sous-répertoire des sauvegardesvar.run
: sous-répertoire des commandes locales
D’autres clés sont disponibles :
lib.extensions
: répertoire où sont stockées les extensions du logiciel BDFcustom.*
: répertoires pour des exportations de données particulières (Scrutari, SQL, balayages).
Les chemins peuvent être relatifs, ils seront construits par rapport à etc/
et var/
si la clé commence respectivement par etc.*
ou var.*
, sinon par rapport au répertoire de déploiement de l’application.
L’exemple suivant est celui d’un fichier de configuration pour une installation locale du logiciel pour le développement.