Navigation dans les fichiers de configuration
Avant de procéder à l'installation avancée, il est conseillé de consulter le document "Navigation dans les fichiers" pour mieux comprendre la structure des différents fichiers.
Pré-requis
JDK
L'entrepôt ORI-OAI est une application Java fonctionnant avec un JDK 1.6 ou supérieur. La variable d'environnement JAVA_HOME doit exister et pointer sur le répertoire d'installation du JDK.
Toutefois, si cette variable pointe sur un autre JDK, les scripts ant.bat (pour Windows) et ant.sh (pour Linux) sont fournis, dans lesquels vous pouvez définir l'emplacement d'une JDK 1.6 utilisée de façon alternative pour le moissonneur.
ANT
Les tâches de compilation, de déploiement et certaines actions utilisent ANT 1.7. La variable d'environnement ANT_HOME doit exister et pointer sur le répertoire d'installation de ANT.
Tomcat
Une version de Tomcat 6 doit être disponible sur la machine de déploiement, et la variable d'environnement CATALINA_HOME doit être définie pour pointer son emplacement.
Pour assurer l'application de fonctionner avec l'encodage UTF-8, il ajouter cette ligne dans le fichier startup.sh ou catalina.sh (répertoire tomcat-xxx/bin) : export CATALINA_OPTS="-Dfile.encoding=UTF-8 $CATALINA_OPTS"
Installation manuelle de l'entrepôt OAI
Installation
Une possibilité de configuration centralisée permet de changer automatiquement la valeur de certains paramètres entre crochets et en majuscules, grâce à la configuration du module quick-install. Les fichiers build.properties et ori-oaicat.properties sont concernés. Ainsi, vous avez le choix entre une installation "par module" où vous devez créer et editer ces fichiers à partir de init-build.properties et conf/properties/ori-oaicat.example.properties, et une installation "centralisée" où ces fichier seront automatiquement générés lors de la compilation et du déploiement. Les sections suivantes décrivent l'installation "par module", pour l'installation centralisée, se reporter en plus à la documentation du quick-install.
L'installation se fait en 5 étapes :
1. décompression de l'archive ori-repository-x-x.zip
2. configuration du fichier build.properties
Un fichier build.properties doit être crée par recopie de init-build.properties.
Il faut indiquer l'endroit ou l'on veut installer l'application, l'emplacement du Tomcat, ainsi que l'emplacement d'un JDK 1.6+. Les paramètres entre crochet sont à modifier, ou seront modifés par la configuration centrale du quick-install :
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# ## 2) Installation manuelle du module # Dans ce cas, il est nécessaire de commenter # le paramètre commons.parameters.central.file.url #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Cette partie du fichier doit être mise à jour avant # la première utilisation de votre application dans votre environnement #JDK 1.5 directory java.home=[JAVA_HOME] #Tomcat directory tomcat.home=[PATH_TOMCAT_REPOSITORY] #Deployment directory deploy.home=[PATH_TOMCAT_REPOSITORY]/webapps #Nom de ditribution de l'application - distribution name app.name.deploy=[CONTEXT_REPOSITORY] #Log Directory (optionnal - default : ${tomcat.home}/logs ) #log.dir=E:/logs #Log mode : prod or debug log.mode=prod
Les chemins utilisant des anti-slashes comme sous Windows, doivent s'écrire soit avec un double anti-slash soit avec un slash, comme sous Linux.
3. Configurer les fichiers de propriétés du module
Un fichier properties/ori-oaicat.properties doit être créé à partir de l'exemple ori-oaicat.example.properties, dans lequel les valeurs entre crochet doivent être adaptées :
# ORI-OAI-repository Configuration AbstractCatalog.millisecondsToLive=3600000 AbstractCatalog.harvestable=true # datestamp granularity #AbstractCatalog.granularity=YYYY-MM-DD | YYYY-MM-DDThh:mm:ssZ # note : in case of reexposition of many repositories with different granularities # choose YYYY-MM-DD form AbstractCatalog.granularity=YYYY-MM-DD # Important note : final OAI identifiers will be as : # 1. for harvested record : original OAI id of the harvested store # 2. for local record (provided by workflow module) : # oai:[SCHEME_IDENTIFIER][REPOSITORY_IDENTIFIER]:[indexing id] # where indexing id is local id provided by workflow module # TAKE CARE not to change often these values if you don't want to have # your records harvested several times with different ids #(have to read http://www.openarchives.org/OAI/2.0/guidelines-oai-identifier.htm) ORICatalog.maxListSize=40 ORICatalog.listSets.maxListSize=1000 ORIRecordFactory.repositoryIdentifier=[REPOSITORY_IDENTIFIER] # note : this scheme will be automatically prefixed with "oai:" ORIRecordFactory.identifierScheme=[REPOSITORY_SCHEME_IDENTIFIER] # Custom Identify response values Identify.repositoryName=[REPOSITORY_NAME] Identify.adminEmail=[SMTP_ADMINISTRATOR_MAIL] Identify.earliestDatestamp=2006-12-04T00:00:00Z Identify.deletedRecord=no Identify.description.1=<description><oai-identifier xmlns\="http\://www.openarchives.org/OAI/2.0/oai-identifier" xmlns\:xsi\="http\://www.w3.org/2001/XMLSchema-instance" xsi\:schemaLocation\="http\://www.openarchives.org/OAI/2.0/oai-identifier http\://www.openarchives.org/OAI/2.0/oai-identifier.xsd"><scheme>oai</scheme><repositoryIdentifier>oai\:[REPOSITORY_SCHEME_IDENTIFIER][REPOSITORY_IDENTIFIER]</repositoryIdentifier><delimiter>\:</delimiter><sampleIdentifier>oai\:[REPOSITORY_SCHEME_IDENTIFIER][REPOSITORY_IDENTIFIER]\:ORI-00000012</sampleIdentifier></oai-identifier></description> # xslt files for crosswalk formats dctolomFile=properties/xslt/lom2dc.xsl # File System parameters (used ONLY if you choose fileSystem provider in repository-domain.xml) filesystem.directory=/path/to/records/directory filesystem.md.namespace=http://www.openarchives.org/OAI/2.0/oai_dc/ filesystem.filter=*.xml # Web service for ori-oai-indexing (used ONLY if you choose indexer provider in repository-domain.xml) indexing.ws.wsdlDocumentUrl=http://[HOST_INDEXING]:[PORT_INDEXING]/[CONTEXT_INDEXING]/xfire/IndexingService?WSDL #indexing.ws.wsdlDocumentUrl=http://demo.ori-oai.org/indexing/xfire/IndexingService?WDSL indexing.ws.lookupServiceOnStartup=false # Web service for ori-oai-vocabulary vocabulary.ws.wsdlDocumentUrl=http://[HOST_VOCABULARY]:[PORT_VOCABULARY]/[CONTEXT_VOCABULARY]/xfire/OriVocabularyService?WSDL vocabulary.ws.lookupServiceOnStartup=false # static MD names static.mdIdentifier=md-ori-oai-id static.mdFormat=md-ori-oai-namespace static.mdRepository=md-ori-oai-repository static.mdDatestamp=md-ori-oai-datestamp # use to append repository name to oai identifier # note : must match worklow_name defined in indexing and search modules properties as <workflow_name>ori-oai-workflow</workflow_name> workflow.repositoryName=ori-oai-workflow
- Les éléments sous Identify correspondent à l'identité de votre entrepôt :
- Les identifiants OAI de vos fiches locales seront de la forme : oai:[SCHEME_IDENTIFIER][REPOSITORY_IDENTIFIER]:[identifiant d'indexation]
- Renseigner les paramètres filesystem pour l'utilisation en mode "File System"
- filesystem.directory : définit le répertoire dans lequel on va disposer les fiches à exposer
- filesystem.md.namespace : spécifie le format de métadonnées exposé (http://ltsc.ieee.org/xsd/LOM pour le LOM)
- filesystem.filter : spécifie un filtrage des fichiers considérés, à l'aide d'une expression régulière, par défaut "*.xml" (voir documentation WilcardFileFilter )
- Renseigner les paramètres indexing.* pour l'utilisation en mode "Indexing"** indexing.ws.wsdlDocumentUrl : définit l'URL d'accès au module ORI-OAI-indexing
- indexing.ws.lookupServiceOnStartup : initialise la connection au démarrage (laisser à false)
- Renseigner les paramètres vocabulary.* pour l'utilisation de vocabulaires (set OAI en mode "Indexing") :
- vocabulary.ws.wsdlDocumentUrl : définit l'URL d'accès au module ORI-OAI-indexing
- vocabulary.ws.lookupServiceOnStartup : initialise la connection au démarrage (laisser à false)
- Optionnel : Par défaut, un fichier log4j.properties est produit automatiquement à partir des fichiers d'exemple (voir section "Niveau de debogage").
4. Configuration en mode "FileSystem"
Mode "File system" versus mode "Indexing"
Par défaut, la configuration proposée utilise le mode Indexing, qui permet d'exposer les fiches indexées, qui sont soient issues du workflow, soit du moissonnage, et définit des dépendances à ces modules. Pour des détails sur cette fonctionnalité, consulter la section Implémentation File system.
Pour activer le mode standalone "File System", il faut suivre les étapes suivantes :
4.1. Activer le bean correspondant.
Pour ce faire, il faut modifier le fichier conf/properties/repository-domain.xml :
- commenter l'alias setManager défini sur indexerSetManager ainsi que le bean nativeInfosProvider utilisant la classe org.orioai.repository.dao.NativeInfosProviderImpl
- décommenter à la place l'alias setManager défini sur fsSetManager et le nativeInfosProvider mais qui utilise cette fois-ci la classe org.orioai.repository.dao.fs.SimpleFSNativeInfosProvider :
<alias name="fsSetManager" alias="setManager"/> <bean id="nativeInfosProvider" class="org.orioai.repository.dao.fs.SimpleFSNativeInfosProvider"> <description> this nativeInfosProvider enables to expose quickly via OAI-PMH some LOM / OAI_DC files stored in a simple File System Directory </description> <property name="dataMDFilesDirectory"> <value>${filesystem.directory}</value> </property> <property name="metadataFormat"> <value>${filesystem.md.namespace}</value> </property> <property name="namespacePrefixMapper"> <ref bean="namespacePrefixMapper" /> </property> <property name="workflowName" value="${workflow.repositoryName}" /> </bean>
4.2. Paramétrer les propriétés
Il faut ensuite paramétrer ce nouveau nativeInfosProvider, et pour cela il faut renseigner les propriétés suivantes dans conf/properties/orioaicat.properties :
- filesystem.directory : définit le répertoire dans lequel on va disposer les fiches à exposer
- filesystem.md.namespace : spécifie le format de métadonnées exposé ( http://ltsc.ieee.org/xsd/LOM pour le LOM )
- filesystem.filter : spécifie un filtrage des fichiers considérés, à l'aide d'une expression régulière, par défaut "*.xml" (voir documentation WilcardFileFilter )
Vous n'avez plus qu'à lancer votre Tomcat et tester l'entrepôt via son interface graphique ... ou/et en utilisant la version de démonstration d'ORI-OAI (.exe ou .jar, installable en quelques clic) pour vous moissonner !
5. Configurations avancées (optionnel)
Pour le mode "Indexing" uniquement (utilisation avec les modules ORI-OAI-indexing et ORI-OAI-vocabulary), il y a la possibilité, en consultant la section Configuration avancée, de pousser plus avant la configuration de certains aspects comme :
- le filtrage des fiches
- la constitution d'ensembles
- les formats exposés
Note
Par défaut, et sans modification des fichiers décrits dans ces sections, la configuration permet d'exposer aux format Dublin Core (oai_dc) et LOM(Learning Object Metadata) , avec les ensembles issus de la classification Dewey, les fiches provenant du module Workflow (mode "Indexing").
6. Déploiement
Lancer la tâche ant all: vous pouvez alors accéder à l'interface Web avec le contexte ori-oai-repository, par exemple : http://localhost:8080/ori-oai-repository