2) Ajouter un listener à la base de fiches, c’est à dire un programme qui va être informé immédiatement des modifications effectuées sur la base de fiches (création de fiches, de mots-clés, etc.) et qui pourra effectuer une action en conséquence (par exemple, la mise à jour d’une page Web quand une page est modifiée)
Installation d’extension
Pour installer des extensions, il faut copier les fichiers .jar nécessaires à l’extension dans WEB-INF/lib (ou sous forme de classes dans WEB-INF/classes).
Pour qu’une extension soit opérationnelle il faut donc relancer la base de fiches.
Le répertoire BDF-EXT (à créer dans le répertoire du contexte s’il n’existe pas) est prévu pour accueillir les éventuels fichiers de configuration de l’extension. Ce répertoire n’est pas accessible de l’extérieur et il ne risque pas d’être supprimé en cas de mise à jour de la version du logiciel BaseDeFiches.
Les fichiers de configuration seront placés dans un sous-répertoier de BDF-EXT portant le nom de l’extension.
Une extension peut faire appel à ses fichiers de configuration via bdfServer.getResourceStorage().getResourceExtension(extensionName, resourceName.
Signaler un listener
Pour qu’un listener soit actif, il faut indiquer son existence au serveur de la base de fiches. Pour cela, il faut créer le fichier BDF-EXT/listenerfactory-list.conf. Ce fichier doit contenir le nom complet de classes implémentant fr.exemole.bdfserver.listeners.ListenerFactory (paquet BdfServer), à raison d’un nom par ligne.
org.orusint.bdf.OrusListenerFactory
fr.exemole.chinaeur.ChinaEurListenerFactory
exemple de fichier listenerfactories.txt
Signaler un export Sql
De la même manière que les listener, on signale la présence d’export SQL personnalisé en indiquant leurs noms complet, ligne par ligne, dans le fichier BDF-EXT/sqlexport-list.conf. Cet export apparaîtra dans la liste des exports Sql disponibles. À noter que l’on peut faire appeler à une classe implémentant net.mapeadores.basedefiches.sqlexport.SqlExport (paquet BasedefichesExport) directement . Le référencement dans BDF-EXT/sqlexport-list.conf n’est une commodité, contrairement au référencement des listener dans BDF-EXT/listenerfactory-list.conf qui est une nécéssité.