Page History

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Publication de vocabulaires dynamiques

Wiki MarkupLe point d'entrée des déclarations des différents vocabulaires correspond au fichier *\[ORI_HOME\]/srcLa modification des différents vocabulaires dynamiques se fait dans les fichiers présents dans le dossier [PATH_CUSTOM_CONFIG]/ori-oai-vocabulary-svn/confconfig/properties/domain/domain.xml*. Les configurations du module ori-oai-vocabulary sont basées sur Spring et s'appuient donc sur le langage XML qui permet de définir les beans mis en place par Spring.

domain.xml importe en fait d'autres fichiers XML de configurations, cela afin d'ordonner et de différencier plus facilement les vocabulaires entre eux suivant leur type : vocabulaire statique, s'appuyant sur ldap, sur une BD SQL, etc.

On se propose ici d'ajouter un nouveau fichier de configuration que l'on nommera customVocabulary.xml. Aussi dans domain.xml, après le commentaire concernant oriVocabulary.xml par exemple on ajoute la ligne suivante:

...

<import resource="customVocabulary.xml" />

dynamic-vocabularies :

  • custom-alphabetVocabulary.xml : permet de définir de nouveaux vocabulaires alphabétiques ou de surcharger ceux fournis par défaut
  • custom-indexingVocabulary.xml : permet de définir de nouveaux vocabulaires à partir de données provenant du module indexing ou de surcharger ceux fournis par défaut
  • custom-ldapVocabulary.xml : permet de définir de nouveaux vocabulaires à partir d'un annuaire LDAP ou de surcharger ceux fournis par défaut
  • custom-mergingVocabulary.xml : permet de définir de nouveaux vocabulaires de fusion ou de surcharger ceux fournis par défaut
  • custom-sqlVocabulary.xml : permet de définir de nouveaux vocabulaires à partir d'une base de données SQL ou de surcharger ceux fournis par défaut

Ces fichiers servent à surcharger les fichiers d'origine présents dans le dossier [ORI_HOME Wiki MarkupOn crée ensuite *customVocabulary.xml* dans ce même répertoire *\[ORI_HOME\]/src/ori-oai-vocabulary-svn/src/confmain/resources/properties/domain*. Pour ce faire on peut bien sûr, selon le cas d'utilisation, s'inspirer des autres fichiers de configurations des vocabulaires : *indexingVocabulary.xml*, *alphabetVocabulary.xml*, etcdynamic-vocabularies :

  • alphabetVocabulary.xml
  • indexingVocabulary.xml
  • ldapVocabulary.xml
  • mergingVocabulary.xml
  • sqlVocabulary.xml

Pour surcharger un vocabulaire fourni par défaut, ou ajouter un vocabulaire, il faut donc ouvrir le fichier d'origine (par exemple : ldapVocabulary.xml), copier-coller le vocabulaire concerné vers le fichier de surcharge (dans notre exemple : custom-ldapVocabulary.xml).

Pour prendre en compte les nouveaux vocabulaires ou les modifications sur les vocabulaires existants, il faut redéployer le module de vocabulaires :

Panel

ant all-vocabulary

et relancer le Tomcat correspondant au module de vocabulaires (histoire de relancer l'application de vocabulaires)unmigrated-wiki-markup

Le plus simple pour tester la récupération d'un vocabulaire (et donc vérifier qu'il a bien été configuré, bien pris en compte par le module) est de consulter depuis votre navigateur ce type d'URL : *http:// \[HOST_INSTALL\] :8183/ori-oai-vocabulary/?id=/exist/rest/db/ori-oai-vocabularies/people_vcard/people_vcard*.xml

Cela devrait vous renvoyer le XML correspondant.

Vous pouvez également désactiver un ou plusieurs vocabulaires dynamiques depuis les fichiers custom-xxxVocabulary.xml. Pour cela, il suffit de déclarer un "bean" ayant pour identifiant le vocabulaire à désactiver (exemple : indexed_dcfr_years) :

Code Block
languagexml
<bean id="indexed_dcfr_years" class="org.orioai.vocabulary.domain.providers.InactiveVocabularyProvider"/>

 

Note : Le module de vocabulaires utilise un système de cache évolué.
Lorsque vous modifiez un vocabulaire, il se peut que cette modification ne soit pas prise en compte immédiatement dans l'IHM du module.
Deux solutions existent pour prendre en compte les modifications :
1. le Le plus simple est de cliquer sur le lien "FORCER LA MISE A JOUR DE TOUT LE CACHE" dans l'IHM du module ;
2. sinon, avant de relancer le Tomcat, de supprimer les fichiers vocabularyServiceCache.data et vocabularyServiceCache.index qui se trouvent dans le répertoire temporaire de Java/Tomcat (normalement le répertoire temp du Tomcat (répertoire tmp par défaut de Tomcat), cela peut aussi être sous /tmp (répertoire tmp par défaut de Java) ...