Le service web OAI-PMH de l’IMu
Le service web OAI-PMH de l’IMu implémente l’OAI-PMH et utilise une instance du Système de gestion des collections (SGC) EMu comme source de données. Ensemble, le service web et l’installation EMu constituent un dépôt OAI-PMH. Le service web est implémenté dans le langage de programmation PHP et utilise l’ensemble d’outils IMu pour extraire les données de l’installation EMu.
Le service web OAI-PMH de l’IMu utilise le langage de programmation PHP. Le service nécessite :
- PHP version 5.3.0 ou supérieur.
- L’extension PHP
libxml. L’extension est généralement disponible par défaut avec la version PHP requise, bien que certains systèmes puissent la maintenir séparément. - L’extension
XMLWriter. L’extension est généralement disponible par défaut avec la version PHP requise, bien que certains systèmes puissent la maintenir séparément.
L’utilisation de l’option -m avec l’interface de ligne de commande de PHP affiche une liste des extensions disponibles. Cette liste devrait inclure libxml et xmlwriter (une partie de la sortie a été omise par souci de concision) :
$ php -m [PHP Modules] Core … libxml … xmlwriter …
Configuration de PHP
Les options de configuration PHP suivantes doivent être définies dans le fichier de configuration PHP (php.ini) pour que le service fonctionne correctement :
| Nom | Description |
|---|---|
|
|
Spécifie le fuseau horaire par défaut utilisé par toutes les fonctions de date et heure PHP. Le service web OAI-PMH doit générer et analyser plusieurs dates et heures dans le cadre de son fonctionnement normal. Par exemple : |
|
|
Spécifie le délai d’attente par défaut (en secondes) pour les flux de sockets. Le service web OAI-PMH utilise un flux de sockets pour se connecter au Système de gestion des collections EMu via l’ensemble d’outils IMu. Si la valeur n’est pas suffisamment élevée, la connexion peut être fermée avant la réception d’une réponse. Comme la valeur par défaut (60 secondes) peut parfois ne pas être suffisamment élevée, il convient de l’augmenter. Par exemple : |
Le service web OAI-PMH de l’IMu comprend :
- Une mise en œuvre de l’OAI-PMH.
- Les implémentations des formats de métadonnées pris en charge par le service web OAI-PMH de l’IMu.
- Une interface avec le SGC EMu via l’ensemble d’outils IMu.
Chacun de ces composants est configuré séparément.
La configuration du dépôt OAI-PMH de l’IMu est telle qu’il est possible de remplacer ou d’ajouter des configurations existantes. Il existe trois niveaux de localisation :
| Niveau de réglage | Description |
|---|---|
|
Par défaut (common) |
Axiell fournit certains paramètres de configuration par défaut et formats de métadonnées qui sont communs à tous les clients. En pratique, il n’y a pas beaucoup d’options de configuration utiles à ce niveau car la plupart des options sont, au minimum, spécifiques au client. |
|
Spécifique au client (client) |
Axiell peut également fournir des configurations et des formats de métadonnées spécifiques à chaque client. Ceux-ci sont configurés, maintenus et distribués par Axiell avec le code de dépôt OAI-PMH pour le client. Les paramètres de ce niveau remplacent ceux du niveau |
|
Spécifique au site (local) |
Les configurations à ce niveau sont configurées et gérées par le client. Cela permet aux clients d’ajouter ou de modifier des configurations et des formats de métadonnées fournis par Axiell. Les paramètres de ce niveau remplacent ceux des niveaux |
Avertissement
Les fichiers de configuration aux niveaux commun et client sont maintenus et distribués par Axiell avec le service web OAI-PMH IMu. Les clients ne doivent pas modifier ces fichiers, car toutes les modifications qu’ils apportent seront perdues lors de la mise à niveau du service. Les modifications ou ajouts au service qui ne sont pas effectués par Axiell doivent être maintenus au niveau local. Les fichiers maintenus ici seront conservés lors de la mise à niveau du service.
Les fichiers de configuration de l’implémentation de l’OAI-PMH et de l’interface avec le Système de gestion des collections EMu se trouvent dans le répertoire config :
| Niveau de réglage | Lieu |
|---|---|
|
Par défaut (common) |
oai-pmh/ws/common/config |
|
Spécifique au client (client) |
oai-pmh/ws/client/config |
|
Spécifique au site (local) |
oai-pmh/ws/local/config |
Les fichiers de configuration sont définis au format INI. Les fichiers de configuration autorisés dans le répertoire config sont les suivants :
- ws.ini
- oai.ini
- filter.ini
- sets.ini
Les paramètres du service web sont définis dans le fichier ws.ini. Ce fichier contient des options pour l’interface avec le Système de gestion des collections EMu ainsi que des options liées au service web qui ne sont pas spécifiquement associées à l’OAI-PMH. Les options sont :
| Nom | Description | Valeur par défaut | Obligatoire | Multiple autorisé |
|---|---|---|---|---|
|
|
Le format de date utilisé par le SGC EMu. |
d#m#Y |
Non |
Non |
|
|
Le nombre maximal d’enregistrements renvoyés en une seule fois par le SGC EMu. |
1000 |
Non |
Non |
|
|
Le nom d’hôte du serveur sur lequel s’exécute le serveur IMu. |
localhost |
Non |
Non |
|
|
Le numéro de port (main-port) utilisé par le serveur IMu. |
40000 |
Non |
Non |
|
|
Spécifie la prise en charge des ensembles par le dépôt. Voir Sets. |
off |
Non |
Non |
|
|
Les formats de métadonnées, autres que |
oai_dc |
Non |
Oui |
|
|
Le format d’heure utilisé par le SGC EMu. |
H#i |
Non |
Non |
|
|
Le chemin d’accès à un fichier destiné à l’écriture des informations de trace (débogage). Le fichier doit déjà exister et disposer des autorisations permettant au processus du serveur web (par exemple Apache) d’y écrire. |
(Aucun) |
Non |
Non |
|
|
Le niveau de détail à inclure dans les informations de trace (débogage). Plus la valeur est élevée, plus le niveau de détail est important. |
1 |
Non |
Non |
|
|
La version des fichiers de bibliothèque du service web OAI-PMH IMu d’Axiell à utiliser. Actuellement, seule la version 2.0 est prise en charge. |
2.0 |
Non |
Non |
Les paramètres OAI-PMH sont définis dans le fichier oai.ini. Ce fichier contient des options liées à l’OAI-PMH lui-même. Les options sont :
| Nom | Description | Valeur par défaut | Obligatoire | Multiple autorisé |
|---|---|---|---|---|
|
|
L’adresse e-mail d’un administrateur du dépôt. Fait partie de la réponse à la requête |
(Aucun) |
Oui |
Oui |
|
|
Une date et heure UTC qui constitue la limite inférieure garantie de tous les horodatages enregistrant des changements, des modifications ou des suppressions dans le dépôt. Fait partie de la réponse à la requête |
1970-01-01T00:00:00Z |
Non |
Non |
|
|
La première partie de la valeur de l’identificateur retournée avec un en-tête OAI-PMH . Rôle de texte interprété inconnu « term ». |
(Aucun) |
Oui |
Non |
|
|
Un nom lisible par l’homme pour le dépôt. Fait partie de la réponse à la requête |
Dépôt KE OAI-PMH |
Non |
Non |
Avec des filtres, il est possible de restreindre globalement les enregistrements renvoyés par le SGC EMu. Les filtres sont définis dans le fichier de configuration filter.ini. Le nom du filtre, qui n’est utilisé qu’à des fins de diagnostic, est défini comme nom de section, les autres détails de l’ensemble étant inclus dans cette section. Plusieurs sections peuvent être définies. Si plusieurs sections sont définies, toutes les conditions doivent être remplies pour qu’un enregistrement soit renvoyé. Les options autorisées dans une section sont :
| Nom | Description | Obligatoire | Multiple autorisé |
|---|---|---|---|
|
|
Une option en deux parties qui spécifie une colonne EMu et une valeur, dans cet ordre. Seuls les enregistrements ayant la valeur spécifiée dans la colonne indiquée seront inclus parmi les enregistrements renvoyés par le SGC EMu. |
Oui |
Obligatoire |
Note
Les crochets ouvrants et fermants [] sont obligatoires pour l’option term.
Nous pouvons, par exemple, définir deux filtres nommés department et music respectivement :
[department] term[] = "SecDepartment_tab" term[] = "Art" [category] term[] = "Category_tab" term[] = "Music"
Les colonnes utilisées dans le fichier filter.ini doivent exister dans tous les modules à partir desquels vous récupérez des données. Voir Formats de métadonnées.
Les ensembles permettent de répartir arbitrairement les éléments du dépôt en groupes. Le service web OAI-PMH de l’IMu prend en charge trois modes d’ensemble. Le mode d’ensemble est défini dans le fichier de configuration ws.ini. Les modes sont les suivants :
- off
Le paramètre
offdésactive la prise en charge des ensembles. Ce mode doit être utilisé si un dépôt ne nécessite pas d’ensembles. Dans ce mode, la réponse appropriée est générée pour la requêteListSets; la réponse appropriée est également générée pour les requêtesListIdentifiersouListRecordssi l’argument set est inclus. Il s’agit du paramètre par défaut. - on
Le paramètre
onnécessite que les valeurssetSpecetsetNamesoient stockées dans des colonnes d’enregistrement EMu spécialisées, contrairement au modelegacyqui nécessite que les détails de l’ensemble soient stockés dans un fichier de configuration. Cela présente un certain nombre d’avantages par rapport au mode hérité :- Les ensembles peuvent être définis dans plusieurs modules.
- Les ensembles hiérarchiques sont pris en charge, ce qui permet une spécification beaucoup plus fine de l’appartenance aux ensembles.
- Les performances des requêtes
ListIdentifiersetListRecordssont améliorées. - Les utilisateurs peuvent voir, ajouter ou modifier l’appartenance à un ensemble (s’ils ont les autorisations appropriées) lorsqu’ils consultent des enregistrements dans EMu.
Note: Le paramètre on nécessite une prise en charge supplémentaire de la base de données. Veuillez contacter Axiell pour plus de détails.
- legacy
Le paramètre
legacyreproduit la prise en charge des ensembles de la version précédente du service web OAI-PMH de l’IMu. Dans ce mode, les ensembles sont définis dans le fichiersets.ini. La valeursetSpecest définie comme nom de section, les autres détails de l’ensemble étant inclus dans cette section. Les options autorisées dans une section sont :Nom Description Obligatoire Multiple Autorisé nameUne chaîne courte, lisible par l’homme, qui nomme l’ensemble.
Non
Non
descriptionUne description de l’ensemble. Pour plus de détails, consultez la section Descriptions des collections et des ensembles des Directives OAI-PMH pour les implémenteurs de dépôts. Seul le schéma d’élément de description du Dublin Core est pris en charge.
Non
Non
moduleLe nom du module EMu auquel l’option
term[]s’applique. Par exemple :module ="ecatalogue"Oui
Non
term[]Une option en deux parties qui spécifie une colonne EMu et une valeur, dans cet ordre. Tout enregistrement EMu du module (voir ci-dessus) qui correspond à ce terme (c’est-à-dire dont la colonne possède cette valeur) est considéré comme faisant partie de l’ensemble.
Note: Les crochets ouvrants et fermants
[]sont obligatoires pour l’optionterm.Oui
Requis
Nous pouvons, par exemple, définir deux ensembles ayant respectivement une valeursetSpecdemusicetvideo:
[music] name = "Music Collection" description = "Our music collection" module = "ecatalogue" term[] = "Category_tab" term[] = "Music" [video] name = "Video Collection" module = "ecatalogue" term[] = "Category_tab" term[] = "Video"
Avertissement
Le paramètre
legacyest obsolète et peut être supprimé dans une version ultérieure du service web OAI-PMH de l’IMu.

