En las siguientes secciones y subpáginas, aprenderás cómo configurar el servidor OAI-PMH y activar crosswalks adicionales de OAI-PMH. También se recomienda al usuario consultar OAI-PMH Data Provider para obtener detalles más profundos sobre el funcionamiento del programa.
La interfaz OAI-PMH puede ser utilizada por otros sistemas para recolectar registros de metadatos desde tu instalación de DSpace.
El servidor OAI-PMH de DSpace está habilitado de forma predeterminada. Sin embargo, puedes optar por habilitarlo o deshabilitarlo en tu archivo local.cfg utilizando las siguientes configuraciones:
# Enable (true) or disable (false) OAI-PMH server oai.enabled = true # When enabled, OAI-PMH server is available at this path oai.path = oai |
Si modificas cualquiera de estas configuraciones, debes reiniciar tu contenedor de servlets (generalmente Tomcat).
[dspace.server.url]/[oai.path]/request?verb=Identify (por ejemplo: http://localhost:8080/server/oai/request?verb=Identify)Si estás utilizando un navegador moderno, deberías ver una página HTML que describe tu repositorio. Lo que realmente estás recibiendo del servidor es un archivo XML con un enlace a una hoja de estilo XSLT que genera ese HTML en tu navegador (del lado del cliente). Cualquier navegador que no pueda interpretar XSLT mostrará únicamente el XML puro. La hoja de estilo predeterminada se encuentra en [dspace-source]/dspace-oai/src/main/resources/static/style.xsl y puede modificarse configurando el atributo stylesheet del elemento Configuration en [dspace]/config/crosswalks/oai/xoai.xml.
|
Después de activar el servidor OAI-PMH, también debes asegurarte de que su índice se actualice de forma regular. Actualmente, esto no ocurre automáticamente dentro de DSpace. En su lugar, debes programar la ejecución periódica de la herramienta de línea de comandos [dspace.dir]/bin/dspace oai import (normalmente al menos una vez por noche, aunque podrías programarla con mayor frecuencia).
Aquí tienes un ejemplo de cron que puede usarse para programar una reindexación del servidor OAI-PMH de forma nocturna (para ver la lista completa de tareas programadas recomendadas en DSpace, consulta Tareas programadas mediante Cron):
# Update the OAI-PMH index with the newest content at midnight every day # NOTE: ONLY NECESSARY IF YOU ARE RUNNING OAI-PMH # (This ensures new content is available via OAI-PMH) 0 0 * * * [dspace.dir]/bin/dspace oai import > /dev/null |
Puedes encontrar más información sobre la herramienta de línea de comandos dspace oai en la documentación del administrador OAI (OAI Manager).
Esta sección describe los parámetros utilizados para configurar el recolector OAI-PMH / OAI-ORE. Este recolector puede utilizarse para recolectar contenido (bitstreams y metadatos) en DSpace desde un servidor externo OAI-PMH u OAI-ORE.
La recolección OAI no estaba disponible en DSpace 7.0. Fue restablecida en DSpace 7.1. Consulta Estado de la versión 7.0 de DSpace |
Si estás recolectando contenido (bitstreams y metadatos) desde una instalación externa de DSpace mediante OAI-PMH y OAI-ORE, primero debes verificar que dicha instalación externa de DSpace permita la recolección a través de OAI-ORE.
Si el DSpace externo está ejecutando la versión 6.x o una anterior, debe tener en funcionamiento tanto la interfaz OAI-PMH como la interfaz XMLUI para admitir la recolección de contenido mediante OAI-ORE.
Si el DSpace externo está ejecutando la versión 7.x o superior, solo necesita tener habilitada la interfaz OAI-PMH.
Puedes verificar que la opción de recolección OAI-ORE esté habilitada siguiendo estos pasos:
http://[URL-completa-a-OAI-PMH]/request?verb=ListRecords&metadataPrefix=ore http://[URL-completa-a-XMLUI]/metadata/handle/[item-handle]/ore.xml Para ver ejemplos de cómo configurar la recolección mediante la interfaz de usuario, consulta la documentación sobre la configuración de "Content Source" en la sección documentación "Editar Collection".
Existen muchas opciones de configuración posibles para el recolector OAI. La mayoría de ellas se encuentran en el archivo [dspace]/config/modules/oai.cfg (a menos que se indique lo contrario más abajo). Estas opciones pueden ser modificadas directamente en ese archivo o sobrescritas en tu archivo local.cfg (consulta Configuration Reference).
Configuration File: |
| |
|---|---|---|
Property: |
| |
Example Value: |
| |
Informational Note: | El EPerson bajo cuya autorización se realizará la recolección automática. Este campo no tiene un valor predeterminado y debe ser especificado para poder utilizar el sistema de programación de recolección. Lo más probable es que se trate de la cuenta de administrador de DSpace creada durante la instalación.. | |
Property: |
| |
Example Value: |
| |
Informational Note: | La URL base de la aplicación web de difusión OAI-PMH (es decir, no incluir | |
Property: |
| |
Example Value: |
| |
Informational Note: | La aplicación web responsable de generar las URIs para los ORE Resource Maps. Si se utiliza
| |
Property: |
| |
Example Value: |
| |
Informational Note: | Determina si el proceso de programación de recolección (harvest scheduler) se inicia automáticamente cuando la aplicación web de DSpace es redeplegada. | |
Property: |
| |
Example Value: |
| |
Informational Note: | Este campo puede repetirse y sirve como vínculo entre los formatos de metadatos compatibles con el repositorio local y aquellos soportados por el proveedor OAI-PMH remoto. Sigue la forma: | |
Property: |
| |
Example Value: |
| |
Informational Note: | Este campo funciona de manera muy similar a | |
Property: |
| |
Example Value: |
| |
Informational Note: | Cantidad de tiempo que se resta del argumento | |
Property: |
| |
Example Value: |
| |
Informational Note: | Con qué frecuencia el planificador de recolección verifica el proveedor remoto en busca de actualizaciones. Siempre debe ser mayor que | |
Property: |
| |
Example Value: |
| |
Informational Note: | El heartbeat es la frecuencia con la que el programador de recolección consulta la base de datos local para determinar si alguna colección está programada para un nuevo ciclo de recolección (según el valor de | |
Property: |
| |
Example Value: |
| |
Informational Note: | El heartbeat es la frecuencia con la que el programador de recolección consulta la base de datos local para determinar si alguna colección está programada para un ciclo de recolección (según el valor de | |
Property: |
| |
Example Value: |
| |
Informational Note: | How many harvest process threads the scheduler can spool up at once. Default value is 3. | |
Property: |
| |
Example Value: |
| |
Informational Note: | Tiempo que debe transcurrir antes de que un hilo de recolección sea terminado. El proceso de finalización espera a que el ítem actual termine de ser ingerido y guarda el progreso realizado hasta ese momento. Se mide en horas. El valor predeterminado es 24. | |
Property: |
| |
Example Value: |
| |
Informational Note: | Tienes tres (3) opciones. Cuando un proceso de recolección se completa para un ítem y este ha pasado por los crosswalks de ingestión para ORE y su formato de metadatos descriptivos seleccionado, podría generar valores DIM que no estén definidos en el repositorio local. Esta configuración determina qué debe hacerse en caso de que esos valores DIM pertenezcan a un esquema ya declarado. Fail terminará la tarea de recolección y generará un error. Ignore: omitirá silenciosamente los campos desconocidos. Add: agregará el campo faltante al registro de metadatos del repositorio local. Valor predeterminado: | |
Property: |
| |
Example Value: |
| |
Informational Note: | Cuando un proceso de recolección se completa para un ítem y este ha pasado por los crosswalks de ingestión para ORE y su formato de metadatos descriptivos seleccionado, podría generar valores DIM que no estén definidos en el repositorio local. Esta configuración determina qué debe hacerse en caso de que esos valores DIM pertenezcan a un esquema desconocido. Fail: terminará la tarea de recolección y generará un error. Ignore: omitirá silenciosamente los campos desconocidos. Add: agregará el esquema faltante al registro de metadatos del repositorio local, utilizando el nombre del esquema como prefijo y | |
Property: |
| |
Example Value: |
| |
Informational Note: | Un proceso de recolección intentará escanear los metadatos de los ítems entrantes (específicamente el campo | |
Property: |
| |
Example Value: |
| |
Informational Note: | Patrón que se debe rechazar como un prefijo de handle no válido (por ejemplo, una cadena de prueba conocida) al intentar encontrar el handle de los ítems recolectados. Si hay una coincidencia con este parámetro de configuración, se generará un nuevo handle en su lugar. Valor predeterminado: |
Existen dos opciones para configurar una colección para la recolección de contenido. Una es utilizando los scripts de DSpace llamados "harvest", y la otra es configurando la fuente de contenido (content source) de una colección a través de la interfaz de usuario.
El script harvest puede ejecutarse tanto desde la línea de comandos (CLI) como desde la API REST mediante la llamada a "harvest". Utiliza los parámetros definidos en la siguiente tabla.
| Short option | Long option | Argument | Explanation |
|---|---|---|---|
| -p | --purge | [none] | Elimina todos los ítems de la colección proporcionada con el parámetro -c. |
| -r | --run | [none] | Ejecuta el procedimiento de recolección estándar para la colección especificada con el parámetro -c. |
| -g | --ping | [none] | Verifica que el servidor proporcionado mediante el parámetro -a y el set especificado mediante el parámetro -i puedan resolverse y funcionen correctamente. |
| -s | --setup | [none] | Configura la colección especificada con el parámetro -c para la recolección. Será necesario proporcionar el servidor mediante el parámetro -a, y el identificador del set OAI debe proporcionarse mediante el parámetro -i. |
| -S | --start | [none] | Inicia el ciclo de recolección para todas las colecciones. |
| -R | --reset | [none] | Restablece el estado de recolección en todas las colecciones. |
| -P | --purgeCollections | [none] | Purgar todas las colecciones recolectables. |
| -o | --reimport | [none] | Reimporta todos los ítems de la colección especificada con el parámetro -c. Esto equivale a ejecutar ambos comandos -p y -r para la colección indicada. |
| -c | --collection | [id-or-handle] | La colección de recolección (handle o id) |
| -t | --type | [type-code] | El tipo de recolección: 0 para sin recolección, 1 solo metadatos, 2 metadatos y referencias a bitstreams (requiere soporte ORE), 3 metadatos y bitstreams (requiere soporte ORE) |
| -a | --address | [url] | La dirección del servidor OAI-PMH que se va a recolectar |
| -i | --oai_set_id | [set-id] | El identificador del set PMH que representa la colección a recolectar. En caso de que se necesiten recolectar todos los sets, se debe proporcionar el valor |
| -m | --metadata_format | [format] | El nombre del formato de metadatos deseado para la recolección, que se resuelve a un namespace y un crosswalk en el archivo dspace.cfg. |
| -h | --help | [none] | Imprimir el mensaje de ayuda |
| -e | --eperson | [email] | (SOLO CLI) El eperson que realiza la recolección. Cuando el comando se utiliza desde la API REST, se empleará el usuario que haya iniciado sesión. |
1. Verifica si se puede acceder a la fuente del recolector
dspace/bin/dspace -g -a https://harvest.source.org -i harvest-set
Reemplaza
https://harvest.source.org
con la fuente que deseas utilizar, el harvest-set con el conjunto o los conjuntos que deseas recolectar o all en caso de que quieras recolectar todos los conjuntos.
2. Configurar una colección para recolección
dspace/bin/dspace harvest -s -c 123456789/123 -e harvest-user@dspace.org -a https://harvest.source.org -i harvest-set -m dc -t 1
Reemplaza el 123456789/123 con tu colección, el harvest-user@dspace.org con un usuario existente en DSpace que tenga los permisos necesarios para realizar la ingestión,
https://harvest.source.org
con la fuente que deseas utilizar, el harvest-set con el conjunto o conjuntos que deseas recolectar o all en caso de que quieras recolectar todos los conjuntos. El -m parámetro indica el formato de metadatos que se utilizará y el -t parámetro indica el tipo de recolección a emplear. Cuando se utiliza el valor 0 para -t , la recolección se desactiva.
3. Ejecuta la recolección para la colección configurada
dspace/bin/dspace harvest -r -c 123456789/123 -e harvest-user@dspace.org
Reemplaza el 123456789/123 con el identificador de tu colección, y el harvest-user@dspace.org con un usuario existente en DSpace que tenga los permisos necesarios para realizar la ingestión.
Una colección puede configurarse para recuperar su contenido desde una fuente externa. Esto puede hacerse desde la interfaz de "Editar colección" siguiendo los siguientes pasos.
1. Configura la colección para recolectar su contenido desde una fuente externa
Ve a la pestaña "Editar colección" > "Fuente de contenido". Marca la casilla "Esta colección recolecta su contenido desde una fuente externa".

2. Configura la fuente de recolección
Una vez marcada la casilla, se puede configurar el proveedor OAI, el identificador del set y el formato de metadatos. Un ejemplo de esta configuración se muestra en la imagen a continuación.

La configuración del servidor será verificada al hacer clic en el botón "Guardar".
3. Iniciar la recolección
Haz clic en el botón "Importar ahora" para iniciar la importación. Una vez iniciada, el botón indicará que la importación está en progreso; sin embargo, no es necesario permanecer en esta página, ya que la recolección continuará ejecutándose después de salir de ella.

Si más adelante necesitas volver a probar la configuración actual del servidor, puedes usar el botón "Probar configuración". Para restablecer completamente la colección eliminando todos los ítems y comenzar una nueva importación, haz clic en el botón "Restablecer e importar nuevamente".