Ajout des classifications UNISCIEL

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 11 Next »

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-md-editor-svn/WEB-INF/resources/forms/ori-md-editor/common/xml-vocab-local

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 fenetre 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

Vous remarquerez que nous n'avons rien touché au module vocabulary. Autrement dit, la classification UNISCIEL ne sera utilisée que dans le module indexing, pour renseigner les fiches de métadonnées.

Si vous souhaitez utiliser les classifications UNISCIEL sur le moteur de recherche par exemple, vous devrez déclarer ces dernières dans le module vocabulary pour pouvoir les exploiter.

  • No labels