Une nouvelle version 1.6.3 du module repository est disponible, elle corrige certains problèmes lors de la génération des sets.
Attention : son utilisation peux nécessiter la modification du fichier liusConfig.xml dans le module indexing.
La doc a été modifiée sur le site ORI-OAI, concernant l'étape 3 de l'ajout de métadonnées :
http://www.ori-oai.org/display/ORIOAIrepository/Utilisation
Elle est disponible ici :
https://subversion.cru.fr/ori-oai-repo/tags/1.6.3
Vous pouvez simpement aller dans votre répertoire d'installation du repository (ex. /usr/local/ori/src/ori-oai-repository-svn) et faire :
svn switch https://subversion.cru.fr/ori-oai-repo/tags/1.6.3
Vous pouvez par exemple définir un set basé sur //lom:lifeCycle/lom:contribute[lom:role/lom:value='publisher']/lom:entity(url)
Voici brièvement les étapes de configuration pour ce champ xml :
1. REPOSITORY : repository-set.xml
<bean id="set-UNR-NPDC" class="org.orioai.repository.domain.model.set.OaiSetInfos" init-method="init">
....
<bean class="org.orioai.repository.domain.model.set.OaiSetSourceInfos">
<property name="xpath">
<list>
<value>//lom:lifeCycle/lom:contribute[lom:role/lom:value='publisher']/lom:entity(url)</value>
</list>
</property>
</bean>
2. VOCABULARY :
<vdex:termIdentifier>1</vdex:termIdentifier>
<vdex:caption>
<vdex:langstring language="fr">Université Lille1 - Sciences et Technologies</vdex:langstring>
</vdex:caption>
<vdex:metadata>
<orioai:value>http://www.univ-lille1.fr</orioai:value>
</vdex:metadata>
3. INDEXING : configIndexing.xml :
Comme l'URL contient un caractère reservé ":" , il faut le faire remplacer pour que les recherches dans l'index fonctionnent :
<replacement stringToReplace=":" stringReplacement="@">
<metadata>md-ori-oai-id</metadata>
<metadata>md-ori-oai-namespace</metadata>
<metadata>%2F%2Flom%3AlifeCycle%2Flom%3Acontribute%5Blom%3Arole%2Flom%3Avalue%3D%27publisher%27%5D%2Flom%3Aentity%28url%29</metadata>
</replacement>
4. INDEXING : liusConfig.xml :
<!-- LOM -->
<xmlFile ns="http://ltsc.ieee.org/xsd/LOM" setBoost="2.0">
<indexer class="org.orioai.indexing.index.indexer.OriOaiXmlFileIndexer">
<mime>text/xml</mime>
</indexer>
<fields>^M
<luceneField name="%2F%2Flom%3AlifeCycle%2Flom%3Acontribute%5Blom%3Arole%2Flom%3Avalue%3D%27publisher%27%5D%2Flom%3Aentity%28url%29" xpathSelect="//lom:lifeCycle/lom:contribute[lom:role/lom:value='publisher']/lom:entity(url)" type="Text" setBoost="1.5"/>
ET :
<searchResult>
<fieldsToDisplay setHighlighter="true">
...
...
<luceneField name="%2F%2Flom%3AlifeCycle%2Flom%3Acontribute%5Blom%3Arole%2Flom%3Avalue%3D%27publisher%27%5D%2Flom%3Aentity%28url%29" xpathSelect="//lom:lifeCycle/lom:contribute[lom:role/lom:value='publisher']/lom:entity(url)" label="//lom:lifeCycle/lom:contribute[lom:role/lom:value='publisher']/lom:entity(url)"/>
Cette configuration a été testée et fonctionne, cependant n'hésitez pas à nous recontacter en cas de problème.
Cordialement,
François
--
François Jannin
DSI - Développement et déploiement d'applications Tél : +33 (0)5 34 32 30 51 |
|
Le 23/03/2011 17:38, françois lefebvre a écrit :
Bon c'est bien ce que je pensais....
Après avoir allégé l'URL de moissonnage des caractères spéciaux, je me suis occupé de l'accent et du tiret de mon critère :
<vdex:term validIndex="true">
<vdex:termIdentifier>LILLE1</vdex:termIdentifier>
<vdex:caption>
<vdex:langstring language="fr">Université Lille1 - Sciences et Technologies</vdex:langstring>
</vdex:caption>
<vdex:metadata>
<orioai:value>Universit*</orioai:value>
</vdex:metadata>
</vdex:term>
>> Comme ceci, ca marche.
Mais ca, non :
<vdex:term validIndex="true">
<vdex:termIdentifier>LILLE1</vdex:termIdentifier>
<vdex:caption>
<vdex:langstring language="fr">Université Lille1 - Sciences et Technologies</vdex:langstring>
</vdex:caption>
<vdex:metadata>
<orioai:value>Université*</orioai:value>
</vdex:metadata>
</vdex:term>
Avec le "é" en plus cela ne fonctionne plus.
Cela risque de faire pareil avec les espaces.
Il me faut trouver un moyen d'encoder le critère
Pour info, le html.encode ne fonctionne pas : Universit%C3%83C2%A9+Lille1+-+Sciences+et+Technologies
Voilà... si quelqu'un a une idée....
Le 23/03/2011 17:14, françois lefebvre a écrit :Je complète ce sujet avec les idées de Jacques :
J'ai remplacé le "-" par un espace, ou par "*".
J'ai toujours un comportement pas logique.
Autre point :
Si cela vient de l'URL à utiliser pour me moissonner qui comporte des caractères spéciaux :
http://pcbu-testori.univ-lille1.fr/ori-oai-repository/?index=3&verb=ListRecords&metadataPrefix=oai_dc&set=set-UNR-NPDC-RPN:Universit%C3%A9%20Lille1%20Sciences%20et%20Technologies
J'ai donc comparé mon vocabulaire avec "dewey_100_taxonomie_regexp.xml" et "search_unit_taxonomie_regexp.xml".
J'ai donc fait mon vocabulaire sous cette forme :
<vdex:term validIndex="true">
<vdex:termIdentifier>LILLE1</vdex:termIdentifier>
<vdex:caption>
<vdex:langstring language="fr">Université Lille1 - Sciences et Technologies</vdex:langstring>
</vdex:caption>
<vdex:metadata>
<orioai:value>Université Lille1 - Sciences et Technologies</orioai:value>
</vdex:metadata>
</vdex:term>
</vdex:vdex>
Cela me donne donc une URL sans caractère spécial pour pouvoir nous moissonner :
http://pcbu-testori.univ-lille1.fr/ori-oai-repository/?index=3&verb=ListRecords&metadataPrefix=oai_dc&set=set-UNR-NPDC-RPN:LILLE1
J'ai pris soin dans "repo-sets.xml" de modifier :
<property name="valueXpath" value=".//vdex:termIdentifier"/>
par :
<property name="valueXpath" value=".//orioai:value"/>
Mais cela n'a pas l'air de fonctionner non plus :/
Le 23/03/2011 16:12, françois lefebvre a écrit :bonjour,
Pour mieux expliquer ma démarche :
Je souhaite créer un set pour l'UNR pour l'avenir, si nous avons trop de ressources, le set sera créé et je pourrai appliquer des filtres.
Mais actuellement, je n'ai aucun critère à définir.
Je dois donc faire un critère de sélection bidon pour que le set fonctionne tout de même.
Je souhaite donc créer un set UNR ayant comme critère de sélection, les ressources ayant comme publisher : Université Lille1 - Sciences et Technologies.
Sachant que toutes mes ressources ont comme publisher cette valeur ( écrit en dur à l'initialisation d'une ressource ), c'est donc un critère de sélection qui ne va rien filtrer :)
Seulement, après avoir défini mon vocabulaire statique :
<vdex:term validIndex="false">
<vdex:termIdentifier>Université Lille1 - Sciences et Technologies</vdex:termIdentifier>
<vdex:caption>
<vdex:langstring language="fr">Université Lille1 - Sciences et Technologies</vdex:langstring>
</vdex:caption>
</vdex:term>
Et après avoir créé un set dans le fichier repository-sets.xml :
<bean id="set-UNR-NPDC" class="org.orioai.repository.domain.model.set.OaiSetInfos" init-method="init">
<property name="vocabularyId" value="set-UNR-NPDC-RPN"/>
<property name="rootTag" value="vdex"/>
<property name="termXpath" value="//vdex:term"/>
<property name="valueXpath" value=".//vdex:termIdentifier"/>
<property name="setSpecXpath" value="vdex:termIdentifier"/>
<property name="setNameXpath" value="vdex:caption/vdex:langstring[@language = 'fr']"/>
<property name="vocabularyNameXpath" value="//vdex:vocabName/vdex:langstring[@language = 'fr']"/>
<property name="vocabularyNameDefault" value="UNR-NPDC-RPN"/>
<property name="xpathSources">
<map>
<entry>
<key>
<value>http://ltsc.ieee.org/xsd/LOM</value>
</key>
<bean class="org.orioai.repository.domain.model.set.OaiSetSourceInfos">
<property name="xpath">
<list>
<value>//lom:lifeCycle/lom:contribute[lom:role/lom:value='publisher']/lom:entity(name)</value>
<value>//lom:lifeCycle/lom:contribute[lom:role/lom:value='publisher']/lom:entity(fname)</value>
<value>//lom:lifeCycle/lom:contribute[lom:role/lom:value='publisher']/lom:entity(organization)</value>
</list>
</property>
</bean>
</entry>
</map>
</property>
</bean>
Quand je teste ce que cela donne, le set ne fonctionne pas :/
Je pense qu'il y a un souci avec le "-" ou l'accent :/
Comment puis je le coder autrement ?
Le 23/03/2011 15:04, Grégoire Neuville a écrit :Bonjour,
Le repository à moissonner ne doit pas être configuré comme repository local dans le harvester (local.repositoryIdentifier) . Je viens de me faire avoir en faisant des tests locaux. Mais peut-être n'est ce pas votre cas...
En espérant que ça aide,
Grégoire.
On 23/03/2011 14:52, françois lefebvre wrote:
Bonjour,
Je souhaite créer un set pour moissonnage en fonction du publisher (
xpath :
//lom:lifeCycle/lom:contribute[lom:role/lom:value='publisher']/lom:entity(name)
).
J'ai donc :
- créé un vocabulaire "set-UNR-NPDC-RPN" ( + conversion en UTF8 )
- mes modifs sont prises en compte dans le module après avoir cliqué sur
"forcer le cache"
- créé un set dans le fichier "repository-sets.xml"
- en faisant un "ListSets", j'ai bien :
- j'ai réindexé tout pour être sûr.
Mais, aucune ressource ne tombe dans ce set :/
Pourtant il devrait y avoir une ressource : ( screenshot du module
indexing )
Est ce un problème d'accent dans : <orioai:value>Universit*é* Lille1 -
Sciences et Technologies</orioai:value> ??
Merci pour votre aide.
--
Cordialement.
François Lefebvre
Bibliothèque Universitaire de Lille 1
Cité Scientifique - B.P. 30155
59653 VILLENEUVE D'ASCQ CEDEX
Tél.: 03.20.33.60.73
-- Cordialement. François Lefebvre Bibliothèque Universitaire de Lille 1 Cité Scientifique - B.P. 30155 59653 VILLENEUVE D'ASCQ CEDEX Tél.: 03.20.33.60.73
-- Cordialement. François Lefebvre Bibliothèque Universitaire de Lille 1 Cité Scientifique - B.P. 30155 59653 VILLENEUVE D'ASCQ CEDEX Tél.: 03.20.33.60.73
-- Cordialement. François Lefebvre Bibliothèque Universitaire de Lille 1 Cité Scientifique - B.P. 30155 59653 VILLENEUVE D'ASCQ CEDEX Tél.: 03.20.33.60.73