Par défaut, ORI-OAI ne propose pas la classification UNISCIEL dans les formulaires LOM.
Le résultat sera :
Voici la marche à suivre pour les obtenir :
Création des classifications
Déposez les vocabulaires fournis par UNISCIEL dans: ori-oai-vocabulary-svn/conf/properties/ori_vocabularies/override
Surchargez le vocabulaire officiel : common_lom_clas_source. Pour cela, dupliquez le vocabulaire common_lom_clas_source et placez ce nouveau vocabulaire dans :ori-oai-vocabulary-svn/conf/properties/ori_vocabularies/override.
Une fois dupliqué, il faut le modifier pour déclarer les nouvelles classifications.
A ce point, vous avez donc les classifications UNISCIEL, et modifié la liste déroulante pour proposer ces nouvelles classifications. ( cf première image en haut de page )
Déclaration des vocabulaires dans le formulaire LOM
Il faut à présent modifier le formulaire de l'éditeur pour afficher la fenêtre permettant de sélectionner une classification. ( cf deuxième photo en haut de page ).
Dans le formulaire LOM que vous souhaitez modifier, dans le fichier form.xhtml, déclarez ces nouveaux vocabulaires:
<xforms:instance id="chebocar_taxonomie" src="/fr/service/custom/ori-md-editor/oriGetVocab?vocab=Chebocar-2.0_vdex" xxforms:readonly="true" xxforms:cache="true"/> <xforms:instance id="jahe_taxonomie" src="/fr/service/custom/ori-md-editor/oriGetVocab?vocab=JaHe-2.0-vdex" xxforms:readonly="true" xxforms:cache="true"/> <xforms:instance id="japese_taxonomie" src="/fr/service/custom/ori-md-editor/oriGetVocab?vocab=JaPeSe-2.0_vdex" xxforms:readonly="true" xxforms:cache="true"/> <xforms:instance id="SciencesHommesSocietes_taxonomie" src="/fr/service/custom/ori-md-editor/oriGetVocab?vocab=SciencesHommesSocietes-Dewey-vdex-v1.0" xxforms:readonly="true" xxforms:cache="true"/> <xforms:instance id="tacbaha_taxonomie" src="/fr/service/custom/ori-md-editor/oriGetVocab?vocab=TaCBaHa-2.0_vdex" xxforms:readonly="true" xxforms:cache="true"/> <xforms:instance id="thokavi_taxonomie" src="/fr/service/custom/ori-md-editor/oriGetVocab?vocab=Thokavi-2.0_vdex" xxforms:readonly="true" xxforms:cache="true"/> <xforms:instance id="unit-informatique_taxonomie" src="/fr/service/custom/ori-md-editor/oriGetVocab?vocab=Unit-informatique-vdex" xxforms:readonly="true" xxforms:cache="true"/>
Modification du formulaire LOM
Dans le fichier case-classification.xml:
En dessous du bloc «Dewey22e éd» ( bloc commençant par: <xforms:group ref=".[../lom:source/lom:string = 'CDD 22e éd.']">), ajouter ces lignes ( télécharger le fichier correspondant au code suivant si besoin ):
<xforms:group ref=".[starts-with(../lom:source/lom:string, 'Classification Chebocar')]"> <xforms:trigger appearance="minimal"> <xforms:label> <img src="/forms/ori-md-editor/media/images/list.gif"/> <span> <xforms:output value="$fr-resources/ori-taxonomy-search-title"/></span> </xforms:label> <xforms:action ev:event="DOMActivate"> <!- Remember position of the taxon to edit -> <xforms:setvalue ref="xxforms:instance('taxonomy-search')/taxon-position" value="count(xxforms:repeat-current()/preceding::lom:taxon) + 1"/> <!- Open the taxonomy search dialog -> <xxforms:show dialog="search-chebocar-taxonomy-dialog"/> </xforms:action> </xforms:trigger> <xforms:output value="lom:id"> <widget:labels instance="i18n_lom" termIdentifier="9.2.2.1"/> </xforms:output> <xforms:group ref="lom:entry"> <xforms:repeat nodeset="lom:string"> <xforms:output value="."> <widget:labels instance="i18n_lom" termIdentifier="9.2.2.2"/> </xforms:output> </xforms:repeat> </xforms:group> </xforms:group> <xforms:group ref=".[starts-with(../lom:source/lom:string, 'Classification JaHe')]"> <xforms:trigger appearance="minimal"> <xforms:label> <img src="/forms/ori-md-editor/media/images/list.gif"/> <span> <xforms:output value="$fr-resources/ori-taxonomy-search-title"/></span> </xforms:label> <xforms:action ev:event="DOMActivate"> <!- Remember position of the taxon to edit -> <xforms:setvalue ref="xxforms:instance('taxonomy-search')/taxon-position" value="count(xxforms:repeat-current()/preceding::lom:taxon) + 1"/> <!- Open the taxonomy search dialog -> <xxforms:show dialog="search-jahe-taxonomy-dialog"/> </xforms:action> </xforms:trigger> <xforms:output value="lom:id"> <widget:labels instance="i18n_lom" termIdentifier="9.2.2.1"/> </xforms:output> <xforms:group ref="lom:entry"> <xforms:repeat nodeset="lom:string"> <xforms:output value="."> <widget:labels instance="i18n_lom" termIdentifier="9.2.2.2"/> </xforms:output> </xforms:repeat> </xforms:group> </xforms:group> <xforms:group ref=".[starts-with(../lom:source/lom:string, 'Classification JaPeSe')]"> <xforms:trigger appearance="minimal"> <xforms:label> <img src="/forms/ori-md-editor/media/images/list.gif"/> <span> <xforms:output value="$fr-resources/ori-taxonomy-search-title"/></span> </xforms:label> <xforms:action ev:event="DOMActivate"> <!- Remember position of the taxon to edit -> <xforms:setvalue ref="xxforms:instance('taxonomy-search')/taxon-position" value="count(xxforms:repeat-current()/preceding::lom:taxon) + 1"/> <!- Open the taxonomy search dialog -> <xxforms:show dialog="search-japese-taxonomy-dialog"/> </xforms:action> </xforms:trigger> <xforms:output value="lom:id"> <widget:labels instance="i18n_lom" termIdentifier="9.2.2.1"/> </xforms:output> <xforms:group ref="lom:entry"> <xforms:repeat nodeset="lom:string"> <xforms:output value="."> <widget:labels instance="i18n_lom" termIdentifier="9.2.2.2"/> </xforms:output> </xforms:repeat> </xforms:group> </xforms:group> <xforms:group ref=".[starts-with(../lom:source/lom:string, 'Classification SciencesHommesSocietes')]"> <xforms:trigger appearance="minimal"> <xforms:label> <img src="/forms/ori-md-editor/media/images/list.gif"/> <span> <xforms:output value="$fr-resources/ori-taxonomy-search-title"/></span> </xforms:label> <xforms:action ev:event="DOMActivate"> <!- Remember position of the taxon to edit -> <xforms:setvalue ref="xxforms:instance('taxonomy-search')/taxon-position" value="count(xxforms:repeat-current()/preceding::lom:taxon) + 1"/> <!- Open the taxonomy search dialog -> <xxforms:show dialog="search-SciencesHommesSocietes-taxonomy-dialog"/> </xforms:action> </xforms:trigger> <xforms:output value="lom:id"> <widget:labels instance="i18n_lom" termIdentifier="9.2.2.1"/> </xforms:output> <xforms:group ref="lom:entry"> <xforms:repeat nodeset="lom:string"> <xforms:output value="."> <widget:labels instance="i18n_lom" termIdentifier="9.2.2.2"/> </xforms:output> </xforms:repeat> </xforms:group> </xforms:group> <xforms:group ref=".[starts-with(../lom:source/lom:string, 'Classification TaCBaHa')]"> <xforms:trigger appearance="minimal"> <xforms:label> <img src="/forms/ori-md-editor/media/images/list.gif"/> <span> <xforms:output value="$fr-resources/ori-taxonomy-search-title"/></span> </xforms:label> <xforms:action ev:event="DOMActivate"> <!- Remember position of the taxon to edit -> <xforms:setvalue ref="xxforms:instance('taxonomy-search')/taxon-position" value="count(xxforms:repeat-current()/preceding::lom:taxon) + 1"/> <!- Open the taxonomy search dialog -> <xxforms:show dialog="search-tacbaha-taxonomy-dialog"/> </xforms:action> </xforms:trigger> <xforms:output value="lom:id"> <widget:labels instance="i18n_lom" termIdentifier="9.2.2.1"/> </xforms:output> <xforms:group ref="lom:entry"> <xforms:repeat nodeset="lom:string"> <xforms:output value="."> <widget:labels instance="i18n_lom" termIdentifier="9.2.2.2"/> </xforms:output> </xforms:repeat> </xforms:group> </xforms:group> <xforms:group ref=".[starts-with(../lom:source/lom:string, 'Classification Thokavi')]"> <xforms:trigger appearance="minimal"> <xforms:label> <img src="/forms/ori-md-editor/media/images/list.gif"/> <span> <xforms:output value="$fr-resources/ori-taxonomy-search-title"/></span> </xforms:label> <xforms:action ev:event="DOMActivate"> <!- Remember position of the taxon to edit -> <xforms:setvalue ref="xxforms:instance('taxonomy-search')/taxon-position" value="count(xxforms:repeat-current()/preceding::lom:taxon) + 1"/> <!- Open the taxonomy search dialog -> <xxforms:show dialog="search-thokavi-taxonomy-dialog"/> </xforms:action> </xforms:trigger> <xforms:output value="lom:id"> <widget:labels instance="i18n_lom" termIdentifier="9.2.2.1"/> </xforms:output> <xforms:group ref="lom:entry"> <xforms:repeat nodeset="lom:string"> <xforms:output value="."> <widget:labels instance="i18n_lom" termIdentifier="9.2.2.2"/> </xforms:output> </xforms:repeat> </xforms:group> </xforms:group> <xforms:group ref=".[starts-with(../lom:source/lom:string, 'Classification Unit-informatique')]"> <xforms:trigger appearance="minimal"> <xforms:label> <img src="/forms/ori-md-editor/media/images/list.gif"/> <span> <xforms:output value="$fr-resources/ori-taxonomy-search-title"/></span> </xforms:label> <xforms:action ev:event="DOMActivate"> <!- Remember position of the taxon to edit -> <xforms:setvalue ref="xxforms:instance('taxonomy-search')/taxon-position" value="count(xxforms:repeat-current()/preceding::lom:taxon) + 1"/> <!- Open the taxonomy search dialog -> <xxforms:show dialog="search-unit-informatique-taxonomy-dialog"/> </xforms:action> </xforms:trigger> <xforms:output value="lom:id"> <widget:labels instance="i18n_lom" termIdentifier="9.2.2.1"/> </xforms:output> <xforms:group ref="lom:entry"> <xforms:repeat nodeset="lom:string"> <xforms:output value="."> <widget:labels instance="i18n_lom" termIdentifier="9.2.2.2"/> </xforms:output> </xforms:repeat> </xforms:group> </xforms:group>
Vous venez donc, pour chaque classification, dis que il faut ouvrir une fenetre pour sélectionner la matière. Seulement, il y aura toujours la possibilité de mettre le chemin taxon à la main. Comme il y aura une fenetre pour le faire, cela ne sert plus à rien.
Remplacez la ligne commençant par:
<!-- Case where values are entered by hand --> <xforms:group ref=".[not(starts-with(../lom:source/lom:string[@language = 'fre'][1], 'Universités Numériques Thématiques'))
Par celle-ci:
<xforms:group ref=".[not(starts-with(../lom:source/lom:string[@language = 'fre'][1], 'Universités Numériques Thématiques')) and not(../lom:source/lom:string[@language = 'fre'] = ('Classification UNIT', 'Classification 100 Dewey')) and not(../lom:source/lom:string = ('CheBoCar v2.0', 'JaHe v2.0', 'JaPeSe v2.0', 'SciencesHommesSocietes v1.0', 'TaCBaHa v2.0', 'Thokavi v2.0', 'Unit-informatique'))]">
Création des boites de dialogue
En regardant les lignes précédemment ajoutées, vous avez donc fait appel aux vocabulaires mais aussi à des fenêtres de dialogue. Seulement, les fenetres sont appelées, mais n'existent pas. Télécharger ce fichier et mettez-les à la racine du votre formulaire.
Il faut à présent les déclarer dans le fichier form.xhtml pour pouvoir les utiliser.
En bas de ce fichier, après la ligne:
<xi:include href="oxf:/forms/ori-md-editor/lom-full/form/dialog-dewey-search.xml"/>
Ajoutez ceci:
<xi:include href="oxf:/forms/ori-md-editor/votre_formulaire/form/dialog-chebocar-taxonomy-search.xml"/> <xi:include href="oxf:/forms/ori-md-editor/votre_formulaire/form/dialog-jahe-taxonomy-search.xml"/> <xi:include href="oxf:/forms/ori-md-editor/votre_formulaire/form/dialog-japese-taxonomy-search.xml"/> <xi:include href="oxf:/forms/ori-md-editor/votre_formulaire/form/dialog-SciencesHommesSocietes-taxonomy-search.xml"/> <xi:include href="oxf:/forms/ori-md-editor/votre_formulaire/form/dialog-tacbaha-taxonomy-search.xml"/> <xi:include href="oxf:/forms/ori-md-editor/votre_formulaire/form/dialog-thokavi-taxonomy-search.xml"/> <xi:include href="oxf:/forms/ori-md-editor/votre_formulaire/form/dialog-unit-informatique-taxonomy-search.xml"/>
Prise en compte des modifications
- Eteindre le tomcat du md-editor
- Ant all-md-editor depuis le répertoire quick-install
- Démarrer le tomcat du md-editor