DSpace Workshop
Joan Caparrós
Técnico líder de proyectos en la Unidad de Cálculo y Aplicaciones en
Consorcio de Servicios Universitarios de Cataluña (CSUC)
Arequipa, Perú 18/07/2018
Sobre mí
Joan Caparrós es licenciado en Ingeniería Informática y máster
en Seguridad de las Tecnologías de la Información y de las
Comunicaciones (2015) y en Diseño y Programación de Apps
(2017).
Desde 2009 trabaja en el Consorcio de Servicios
Universitarios de Cataluña (CSUC), donde es técnico líder de
proyectos en la Unidad de Cálculo y Aplicaciones.
El CSUC es un consorcio público integrado por 10 universidades
catalanas y el Gobierno de Cataluña con la misión de compartir
o mancomunar servicios académicos, bibliotecarios, de
transferencia del conocimiento y de gestión de las entidades
consorciadas para potenciar sinergias y mejorar la eficiencia.
Miguel Loayza (1960) Juan Seminario (1964)
Hugo Sotil (1973) Pedro Aicart (1973)
Consorcio de Servicios
Universitarios de Cataluña
CSUC
El Consorcio de Servicios Universitarios de Cataluña (CSUC)
● Generalitat de Catalunya
● Universitat de Barcelona (UB)
● Universitat Autònoma de Barcelona
(UAB)
● Universitat Politècnica de Catalunya
(UPC)
● Universitat Pompeu Fabra (UPF)
● Universitat de Girona (UdG)
● Universitat Rovira i Virgili (URV)
● Universitat de Lleida (UdL)
● Universitat Oberta de Catalunya (UOC)
● Universitat Ramon Llull (URL)
● Universitat de Vic (UVic)
Nuestros servicios
Repositorios cooperativos
Repositorios digitales
TDX RECERCAT RACO PADICAT
RECYT MDC MDX PADICYT
CALAIX FILMOTECA SCIENTIA MACBA
17 años de repositorios...
2001 2005 2006 2006
2006 2006 2009 2009
2010 2012 2015 2015
Contenido
Tesis TFG Revistas Websites
Colecciones Materiales
Revistas Websites
patrimoniales didácticos
Patrimonio Patrimonio
Dept. Cultura Dept. Salud
cinematográfico artístico
Formatos: Texto, imagen, vídeo...
Texto (PDF) Texto (PDF) Texto (PDF) WARCs
Texto (PDF) Imagen Texto (PDF) WARCs
Texto, Texto, Texto, Texto,
imagen, imagen, imagen, imagen,
audiovisual audiovisual audiovisual audiovisual
Programas: DSpace, OJS...
DSpace DSpace OJS Heritrix, etc.
OJS CONTENTdm DSpace Heritrix, etc.
DSpace DSpace DSpace DSpace
Programas: DSpace, OJS...
TDX www.tdx.cat
RECERCAT www.recercat.cat
RACO www.raco.cat
PADICAT www.padicat.cat
RECYT http://recyt.fecyt.es
MDC http://mdc.cbuc.cat
MDX www.mdx.cat
PADICYT http://padicyt.es
CALAIX http://calaix.gencat.cat
Filmoteca de Catalunya http:://repositori.filmoteca.cat
SCIENTIA http://scientiasalut.gencat.cat
MACBA http://repositori.macba.cat
PRC https://portalrecerca.csuc.cat
Índice
● Introducción a DSpace
○ Qué es DSpace
○ Las últimas versiones y la nueva versión DSpace 7
○ XMLUI y JSPUI: comparación
○ Requisitos
○ Maven & Cocoon
○ Primera instalación de DSpace
● Configuraciones
○ Configuraciones básicas
○ Emails
○ Internacionalización
○ Autenticación
○ Media Filters
○ Curation Tasks
○ Proceso de envío (Workflows)
○ Formularios / Vocabularios controlados
○ Discovery, Search, and Browse
○ Estadísticas
Índice
● Personalización
○ Personalización de cabecera/pie de página
○ Personalización de la vista del Ítem
○ Añadir búsquedas facetadas
○ Configuración de un OAI crosswalk personalizado
● Mantenimiento de DSpace
○ Calendario de releases de DSpace
○ Estrategias para migrar versiones
○ Estrategias para backups
Introducción a
DSpace
¿Qué es DSpace?
Inicialmente creado entre HP y MIT. Ahora soportado por DuraSpace. Software
especializado en preservación digital, catalogación, indexación.
¿Qué es DSpace?
A destacar:
● Código abierto
● Provee herramientas para la administración de colecciones digitales
● Soporta una gran variedad de datos, (libros, tesis, fotografías, films, vídeo,
datos de investigación..)
● Los datos son organizados como ítems que pertenecen a una colección;
cada colección pertenece a una comunidad.
● Es liberado bajo una licencia BSD permitiendo extender y personalizar
Ampliamente utilizado a nivel mundial para archivo o almacenamiento digital:
● Repositorios institucionales
● Repositorios de objetos de aprendizaje
● Tesis electrónicas (eTheses)
● Administración de Registros Electrónicos
● Preservación digital
● Publicaciones
● ...
¿Qué es DSpace?
Arquitectura
¿Qué es DSpace?
Arquitectura
Capa de Capa de lógica de Capa de aplicación
almacenamiento negocios
Interacción con la base Administración Aplicación web: JSPUI y
de datos Búsqueda XMLUI
Almacenamiento de Exploración OAI-PMH Data Provider
bitstreams Gestión de usuarios y Estadísticas
grupos Importar/Exportar
Autorización MediaFilter
Carga de documentos
Workflow
Handle manager
Abstracción en
Comunidades,
Colecciones e Items
¿Qué es DSpace?
Capa de almacenamiento
Almacenamiento de bitstreams (ficheros):
● Local: el almacenamiento se realiza en el sistema de
archivos local al servidor en el que funciona la
aplicación
● Storage Resource Broker (SRB): permite tener un
sistema de archivos distribuido
¿Qué es DSpace?
Capa de aplicación
XMLUI (MANAKIN)
COCOON
XSLT CSS API
XMLUI JSPUI
rdf solr rest sword sword2 oai
¿Qué es DSpace?
Capa de aplicación - Contextos:
xmlui Interfaz de usuario basada en
XML (XMLUI)
jspui Interfaz de usuario basada en
JSP (JSPUI)
solr (obligatorio) Motor de búsqueda y
navegación
oai Motor para exportación y
recolección de Metadatos y
Bitstream (OAI-PMH y
OAI-ORE)
rdf Interfaz DSpace RDF (admite
Linked Open Data).
rest API REST de DSpace
sword Interfaz DSpace SWORDv1.
swordv2 Interfaz DSpace SWORDv2.
¿Qué es DSpace?
Capa de lógica de negocio
"Comunidad" es una agrupación de
colecciones y / o "Subcomunidades".
Comunidad
"Colección" es un grupo de elementos
relacionados en un archivo.
Colección
Los "elementos/ítems" son registros que
describen los archivos que se archivan,
Elemento Registro Dublin utilizando el esquema de metadatos Dublin
core Core.
"Bundle" es una agrupación de archivos
asociados con un elemento.
"Bitstreams" son los archivos individuales
Formato
Bitstream agrupados en un paquete y asociados con
un elemento (por ejemplo, texto de
licencia, jpegs, tiffs, pdfs, doc, xml).
¿Qué es DSpace?
Jerarquía
https://wiki.duraspace.org/display/DSDOC6x/Functional+Overview
Las últimas versiones y la nueva versión DSpace 7
1.5.0 1.7.0 3.0 5.0
Mar 2008 Dec 2010 Nov 2012 Jan 2015 7.0
1.5.2 1.7.3 3.6 5.9 2018
Apr 2009 Jul 2013 Mar 2016 Jun 2018
END OF LIFE / UNSUPPORTED
2006 2008 2010 2010 2011 2012 2013 2015 2016 20018
1.4.0 1.6.0 1.8.0 4.0 6.0
July 2006 Mar 2010 Nov 2011 Dec 2013 Oct 2016
1.4.2 1.6.2 1.8.3 4.9 6.3
May 2007 Jun 2010 Jul 2013 Jun 2018 Jun 2018
DSpace 6.3 - La versión estable actual
Esta versión estable y corregida de errores se lanzó en junio de 2018. Esta es la versión
recomendada para usar.
DSpace 7.0 - El próximo lanzamiento importante.
El Grupo de trabajo DSpace 7 ha comenzado a desarrollar esta versión, que incluye una nueva
interfaz de usuario (UI Angular) y una API REST.
El objetivo de lanzamiento es para una versión beta a mediados de 2018, con una versión final
más adelante en el año.
Las últimas versiones y la nueva versión Dspace 7
XMLUI y JSPUI: comparación
¿Qué interfaz usar?
XMLUI o JSPUI
● JSPUI es la versión más extendida ya que está presente desde las primeras versiones de
DSpace.
● XMLUI permite de forma extremadamente simple, mucho más que JSPUI, aplicar apariencias
radicalmente diferentes a distintas colecciones.
● Algunas de las nuevas funcionalidades presentes en DSpace están soportadas únicamente en
XMLUI, como la configuración de un Workflow avanzado.
● Desarrollar en XMLUI es sustancialmente más complejo que en JSPUI.
La elección dependerá siempre de sus necesidades.
Requisitos
UNIX OS o Microsoft Windows.
Java JDK 7 o 8 (OpenJDK o Oracle JDK).
Apache Maven 3.0.5 o superior (3.3.9+)*
Acceso a internet.
Apache Ant 1.8 o posterior.
Base de datos relacional (PostgreSQL o Oracle)
● PostgreSQL 9.4 o posterior (con pgcrypto
instalado).
● Oracle 10g o posterior.
Servlet Engine (Apache Tomcat 7 o posterior, Jetty,
Caucho Resin o equivalente).
Git (control de versiones de código).
Maven & Cocoon
● Herramienta de compilación y empaquetado (jar / war).
● Gestiona las dependencias de otras librerías fácilmente.
● Tiene diferentes plugins con diferentes funcionalidades dependiendo de si es un
proyecto EJB, web, etc.
● Puede comunicarse con controles de versión de código.
● Gestiona los diferentes proyectos de DSpace mediante las definiciones de los distintos
POM (Project Object Model).
Maven & Cocoon
● Herramienta de Apache encargada de hacer las transformaciones XSLT.
● Se basa en el concepto de “Pipeline”.
○ Primero se genera el XML.
○ Después se determina el tipo de transformación a aplicar.
○ Por último se serializa hacia un html, pdf, etc.
Maven & Cocoon
Pipeline
Primera instalación de DSpace
1. Añadir el usuario DSpace al sistema
$ useradd -m dspace
2. Descargar la última versión estable del software
$ git clone https://github.com/DSpace/DSpace.git
$ cd Dspace
$ git checkout dspace-6_x
3. Preparación de la base de datos
PostgreSQL
$ createuser --username=postgres --no-superuser --pwprompt dspace
$ createdb --username=postgres --owner=dspace --encoding=UNICODE dspace
# Como superusuario, habilitar la extensión pgcrypto extensión
$ psql --username=postgres dspace -c "CREATE EXTENSION pgcrypto;"
Oracle
$ mvn install:install-file -Dfile=ojdbc6.jar -DgroupId=com.oracle
-DartifactId=ojdbc6 -Dversion=11.2.0.4.0 -Dpackaging=jar -DgeneratePom=true
Primera instalación de DSpace
Modificar
[dspace-source] / pom.xml
#Añadir con la librería correspondiente de nuestra versión de Oracle
com.oracle
ojdbc6
11.2.0.4.0
4. Configurar DSpace mediante la edición del fichero
[dspace-source] / config / local.cfg
5. Compilar DSpace (usuario tomcat)
$ mvn package
o
$ mvn package -Dmirage2.on=true (para temas responsive basados en Mirage2)
Primera instalación de DSpace
6. Parar tomcat (usuario root)
$ /etc/init.d/tomcat8 stop
7. Instalar DSpace (usuario tomcat)
$ cd[dspace-source]/dspace/target/dspace-installer
$ ant fresh_install
8. Encender tomcat (usuario root)
$ /etc/init.d/tomcat8 start
Primera instalación de DSpace
Práctica
Acceso web repositorio local
http://localhost:8081
DSpace
http://localhost:8081/login
● Usuario administrador:
demo@dspace.org
● Contraseña: dspace
SSH puerto 9022
● Usuario: dspace
● Contraseña: dspace
$ ssh -p 9022 dspace@localhost
Práctica
Objetivo:
● Creación de una Comunidad
● Creación de una Colección
Configurando DSpace
Configuraciones básicas
Configuración inicial (local.cfg): cree su propio archivo de configuración
[dspace-source] / dspace / config / local.cfg
Los ajustes seguidos con un asterisco (*) son muy recomendables, mientras que los demás son
opcionales durante la instalación inicial y pueden personalizarse en otro momento
dspace.dir* La ruta a [dspace-bin].
dspace.hostname Nombre de dominio del servidor web.
dspace.baseUrl* URL completa del servidor incluyendo el puerto.
dspace.name Nombre de la instancia del proyecto.
solr.server* URL completa hacia el servidor Solr.
default.language Lenguaje por defecto de todos los metadatos.
db.url* La URL JDBC completa de su base de datos.
db.driver* Driver asociado a la base de datos PostgreSQL o Oracle.
db.dialect* Dialecto asociado a la base de datos PostgreSQL o Oracle.
Configuraciones básicas
db.username* Usuario de la base de datos.
db.password* Contraseña de la base de datos.
db.schema* Nombre del schema a utilizar.
mail.server Nombre de dominio de su servidor de correo saliente.
mail.from.address la dirección "From:" indicada en los correos electrónicos enviados por
DSpace.
mail.feedback.recipient Dirección de correo para comentarios.
mail.admin Dirección de correo del administrador del sitio DSpace.
mail.alert.recipient Dirección de correo para envio de errors/alerts del servidor.
mail.registration.notify Dirección de correo para notificaciones de registros de usuario.
Emails
[dspace-source] / dspace / config / emails /
bte_batch_import_error doi_maintenance_error
change_password export_success
export_error flowtask_notify
feedback healthcheck
harvesting_error internal_error register
registration_notify request_item.admin
request_item.author submit_archive
submit_reject subscription submit_task
bte_batch_import_success suggest
Emails
[dspace-source] / dspace / config / emails / register
# E-mail sent to DSpace users when they register for an account
#
# Parameters: {0} is expanded to a special registration URL
#
# See org.dspace.core.Email for information on the format of this file.
#
Subject: DSpace Account Registration
To complete registration for a DSpace account, please click the link
below:
{0}
If you need assistance with your account, please email
dspace-help@myu.edu or call us at xxx-555-xxxx.
The DSpace Team
Internacionalización
Instalación multilenguaje
Para implementar una versión multilingüe de DSpace, debe configurar dos parámetros en
[dspace-source] / dspace / config / local.cfg
default.locale = es
webui.supported.locales = es, en
Los Locales pueden tener el formato country, country_language, country_language_variant.
De acuerdo con los idiomas que desea admitir, debe asegurarse de que todos los archivos
relacionados con i18n estén disponibles.
Diccionarios
Ubicación:
[dspace-source] / dspace / modules / xmlui / src / main / webapp / i18n
● messages.xml
● messages_es.xml
Estructura:
Principal
Internacionalización
[dspace-source] / dspace / modules / xmlui / src / main / webapp / i18n / messages_es.xml
Autenticación
[dspace-source] / config / modules / authentication.cfg
Authentication by Password (DEFAULT)
plugin.sequence.org.dspace.authenticate.AuthenticationMethod = org.dspace.authenticate.PasswordAuthentication
[dspace-source] / config / modules / authentication-password.cfg
authentication-password.domain.value = @mit.edu, .ac.uk
authentication-password.login.specialgroup = My DSpace Group
authentication-password.digestAlgorithm = SHA-512
IP Address based Authentication
plugin.sequence.org.dspace.authenticate.AuthenticationMethod = org.dspace.authenticate.IPAuthentication
Archivo de configuraciones:
[dspace-source] / config / modules / authentication-ip.cfg
authentication-ip.GROUPNAME = 10.1.2.3, \
13.5, \
11.3.4.5/24, \
12.7.8.9/255.255.128.0
Autenticación
[dspace-source] / config / modules / authentication.cfg
LDAP Authentication
plugin.sequence.org.dspace.authenticate.AuthenticationMethod = org.dspace.authenticate.LDAPAuthentication
[dspace-source] / config / modules / authentication-ldap.cfg
Shibboleth Authentication
plugin.sequence.org.dspace.authenticate.AuthenticationMethod = org.dspace.authenticate.ShibAuthentication
[dspace-source] / config / modules / authentication-shibboleth.cfg
X.509 Certificate Authentication
plugin.sequence.org.dspace.authenticate.AuthenticationMethod = org.dspace.authenticate.X509Authentication
plugin.sequence.org.dspace.authenticate.AuthenticationMethod =
org.dspace.authenticate.PasswordAuthentication
Archivo de configuraciones:
[dspace-source] / config / modules / authentication-x509.cfg
Métodos propios
Pueden crear sus propios métodos de autenticación personalizado y agregarlo a la pila. Se recomienda utilizar
el método existente más similar como modelo.
Media Filters
Transformando el contenido de DSpace
● DSpace puede aplicar filtros o transformaciones a archivos, creando contenido nuevo.
● Se incluyen filtros que extraen texto para la búsqueda de texto completo y crean miniaturas para
elementos que contienen imágenes.
● Los mediafilters están controlados por el script DSpace filter-media desde los binarios de DSpace.
https://wiki.duraspace.org/display/DSDOC6x/Mediafilters+for+Transforming+DSpace+Content
Media Filters
Media Filters disponibles
PDF Text Extractor extrae el texto completo de los documentos PDF (texto o ocr
- PDFBox).
HTML Text Extractor extrae el texto completo de documentos HTML (HTML de
Swing).
Word Text Extractor extrae el texto completo de los documentos XML de
Microsoft Word y Microsoft Word. (Apache POI).
Excel Text Extractor extrae el texto completo de los documentos de Microsoft
Excel. (Apache POI).
PowerPoint Text Extractor extrae el texto completo de diapositivas y Microsoft
PowerPoint (Apache POI).
PDFBox JPEG Thumbnail crea imágenes en miniatura de la primera página de archivos
PDF.
JPEG Thumbnail crea imágenes en miniatura de archivos GIF, JPEG y PNG.
Branded Preview JPEG crea una imagen de vista previa de marca para archivos GIF,
JPEG y PNG.
ImageMagick Image Thumbnail Generator crea miniaturas de archivos de imágenes
(ImageMagick).
ImageMagick PDF Thumbnail Generator crea imágenes en miniatura de la primera página de archivos
PDF (ImageMagick y Ghostscript).
https://wiki.duraspace.org/display/DSDOC6x/Mediafilters+for+Transforming+DSpace+Content
Media Filters
Generando las miniaturas / Ejecutar media filters
JPEG Thumbnail crea imágenes en miniatura de archivos GIF,
JPEG y PNG
Activamos algunas configuraciones de visualización dentro del fichero
[dspace-source] / dspace / config / dspace.cfg
webui.browse.thumbnail.show = true
xmlui.theme.mirage.item-list.emphasis = file
$ /proyectos/dspace/bin/dspace filter-media -p "JPEG Thumbnail" -v
Media Filters
Añadiendo media filters personalizados
Imagen Visor crea imágenes a resolución personalizada dentro
del Bundle VISOR - ficheros JPEG i TIFF
1- Copiamos media filter de ejemplo
$ cd /proyectos/src/DSpace
$ cp /proyectos/materiales/FilterMedias/ImgFilter.java
dspace/modules/additions/src/main/java/org/dspace/app/mediafilter/
Añadimos algunas configuraciones de visualización dentro del fichero
[dspace-source] / dspace / config / dspace.cfg
filter.plugins = Imagen Visor
plugin.named.org.dspace.app.mediafilter.FormatFilter = org.dspace.app.mediafilter.ImgFilter = Imagen Visor
filter.org.dspace.app.mediafilter.ImgFilter.inputFormats = JPEG, TIFF
filter.tempfile.config = ${filter.tempfile.config}
filter.exec.convert = convert -layers flatten
filter.ImgFilter.thumbnail.config = -format jpg -resize 300
filter.ImgFilter.visor.config = -format jpg -resize 800 -density 72
Media Filters
2- Compilamos DSpace (usuario tomcat)
$ su – tomcat
$ cd /proyectos/src/DSpace
$ mvn package -Dmirage2.on=true -o
3- Actualizamos versión de los binarios (usuario tomcat)
$ cd dspace/target/dspace-installer
$ ant update
4- Lanzamos proceso media filter (usuario tomcat)
$ /proyectos/dspace/bin/dspace filter-media -i -p "Imagen Visor"
Curation Tasks
● El objetivo del sistema de curación es proporcionar una forma simple y extensible
para administrar las operaciones rutinarias sobre el contenido de un repositorio.
● Cada una de las operaciones es conocida como “tasks” (tareas).
● Las tareas pueden operar en cualquier objeto DSpace (comunidades, colecciones,
elementos).
● DSpace proporciona tareas base y son extensibles para generar nuestras propias
tareas.
Algunos ejemplos de curation tasks podrían ser:
aplicar un escaneo de virus a archivos dentro de elementos
actualizar valores de metadatos basados en fechas actuales (copyright)
comprobar valores de metadatos, presencia y valores de estos
comprobar integridad de los ficheros asociados al elemento
https://wiki.duraspace.org/display/DSDOC6x/Curation+System
Curation Tasks
Curation Tasks disponibles
NoOpCurationTask Ninguna operación (Ejemplo) No UI
ProfileFormats crea una tabla de formatos Bitstream para su distribución UI
RequiredMetadata verifica los campos obligatorios según UI
submission-forms.xml.
ClamScan conjunto de métodos para escanear ficheros usando el No UI
daemon clamav
MicrosoftTranslator traduce los campos de metadatos utilizando Microsoft No UI
Translation API v2
MetadataValueLinkChecker comprueba los enlaces indicados en todos los campos de UI
metadatos ^http: // o ^https: //
[dspace-source] / config / modules / curate.cfg
### Task Class implementations
plugin.named.org.dspace.curate.CurationTask = org.dspace.ctask.general.NoOpCurationTask = noop
plugin.named.org.dspace.curate.CurationTask = org.dspace.ctask.general.ProfileFormats = profileformats
plugin.named.org.dspace.curate.CurationTask = org.dspace.ctask.general.RequiredMetadata = requiredmetadata
plugin.named.org.dspace.curate.CurationTask = org.dspace.ctask.general.ClamScan = vscan
plugin.named.org.dspace.curate.CurationTask = org.dspace.ctask.general.MicrosoftTranslator = translate
plugin.hnattmpesd:.o//rwg.diskpia.dceu.cruarastep.Caucraeti.oonrTgas/kd =is oprgl.adsyp/aDceS.cDtasOk.gCe6nexra/Cl.MuetraadtaitoaVna+luSeLyinsktCehmecker = checklinks
https://wiki.duraspace.org/display/DSDOC6x/Curation+System
Curation Tasks
Añadiendo curation tasks personalizados
ActualizarDCRights actualiza el metadato dc.rights buscando y reemplazando UI
cadenas similares a “© UCSP, 2017”
1- Copiamos media filter de ejemplo
$ cp /proyectos/materiales/curation_tasks_java/ActualizarDCRights.java
dspace/modules/additions/src/main/java/org/dspace/ctask/general/
2- Añadimos las referencias a la nueva tarea accesible desde UI
[dspace-source] / config / modules / curate.cfg
# add new tasks here (or in additional config files)
plugin.named.org.dspace.curate.CurationTask = org.dspace.ctask.general.ActualizarDCRights =
actualitzarrights
curate.ui.tasknames = actualizarrights = Actualizar DCRights
Curation Tasks
3- Compilamos DSpace (usuario tomcat)
$ su – tomcat
$ cd /proyectos/src/DSpace
$ mvn package -Dmirage2.on=true -o
$ cd dspace/target/dspace-installer
4- Actualizamos versión de los binarios (usuario tomcat)
$ cd dspace/target/dspace-installer
$ ant update
Curation Tasks
Ejecutar curation task (usuario tomcat)
Mediante comandos
[dspace-bin]/dspace curate -h
usage: CurationCli
-e,--eperson email address of curating eperson
-h,--help help
-i,--id Id (handle) of object to perform task on, or 'all'
to perform on whole repository
-q,--queue name of task queue to process
-r,--reporter reporter to manage results - use '-' to report to
console. If absent, no reporting
-s,--scope transaction scope to impose: use 'object',
'curation', or 'open'. If absent, 'open' applies
-t,--task curation task name
-T,--taskfile file containing curation task names
-v,--verbose report activity to stdout
whole repo: CurationCli -t estimate -i all
single item: CurationCli -t generate -i itemId
task queue: CurationCli -q monthly
$ /proyectos/dspace/bin/dspace curate -i -t actualitzarrights
Curation Tasks
Ejecutar curation task
Mediante interfaz gráfica
Proceso de envío (Workflows)
https://wiki.duraspace.org/display/DSDOC6x/Functional+Overview
Proceso de envío (Workflows)
Roles BasicWorkflow:
● Publicadores
Usuarios y grupos que tienen permiso de envío de ítems nuevos a esta colección.
● Editores Revisores Etapa Aceptar/Rechazar
Las personas responsables de este paso podrán aceptar o rechazar envíos pendientes. Sin
embargo, no podrán editar los metadatos del envío.
● Revisores/Editores Etapa Aceptar/Rechazar/Editar
Las personas responsables de este paso podrán editar los metadatos de los envíos
pendientes y aceptar o rechazar los envíos.
● Etapa Editores2 editar metadatos
Las personas responsables de este paso podrán editar los metadatos de los envíos
pendientes pero no podrán rechazar los envíos.
Ejemplo de Workflow:
https://wiki.duraspace.org/display/DSDOC6x/Configurable+Workflow
Proceso de envío (Workflows)
Proceso de envío (Workflows)
Workflow avanzado
● Los flujos de trabajo configurables son una función opcional que puede habilitarse para su
uso solo dentro de DSpace XMLUI.
● El objetivo principal del marco de trabajo es crear una solución más flexible para que el
administrador configure, e incluso permitir que un desarrollador de aplicaciones
implemente pasos personalizados, que pueden configurarse en el flujo de trabajo para la
colección a través de un archivo de configuración simple.
[dspace-source] / config / modules / workflow.cfg
Proceso de envío
Mediante formulario
http://localhost:8081/submissions
Proceso de envío
El proceso de envío de DSpace consiste en una serie de "pasos", donde
cada "paso" corresponde a una o más páginas de UI.
De forma predeterminada, el proceso de envío de DSpace incluye los
siguientes pasos, en este orden:
● Paso "Seleccionar colección"
● Paso "Describir"
● Paso de "carga"
● Paso de "revisión"
● Paso de "licencia"
● Paso "Completar"
Para modificar o reorganizar estos pasos de envío, simplemente
modifique el archivo
[dspace-source] / dspace / config / item-submission.xml
https://wiki.duraspace.org/display/DSDOC6x/Submission+User+Interface
Proceso de envío
Dentro de una definición específica de encontraremos cada “paso”, estos
pueden ser omitidos o bien reordenados según la definición en el fichero.
....
submit.progressbar.license
org.dspace.submit.step.LicenseStep
org.dspace.app.webui.submit.step.JSPLicenseStep
org.dspace.app.xmlui.aspect.submission.submit.LicenseStep
false
...[otros pasos]...
Esta implementación permite crear pasos personalizados si el repositorio lo requiriera.
https://wiki.duraspace.org/display/DSDOC6x/Submission+User+Interface
Proceso de envío
Envío masivo
SAFBuilder
CSV
https://github.com/DSpace-Labs/SAFBuilder
https://wiki.duraspace.org/display/DSPACE/Simple+Archive+Format+Packager
Formularios / Vocabularios controlados
Formularios
Configuración del tipo de entradas en el formulario
[dspace-source] / dspace / config / input-forms.xml
SCHEMA
ELEMENT
[QUALIFIER]
FIELD_TYPE
HINT
REQUIRED MESSAGE
[(workflow|submit)]
CSV_DC_TYPE_VALUES
[]
● El elemento contiene la sugerencia textual mostrada al remitente sobre por qué se requiere el
campo. Eliminar la etiqueta convierte el campo en opcional.
● El elemento es opcional. Permite especificar el vocabulario controlado donde seleccionar
valores. Este campo también tiene un atributo cerrado opcional. Si se cierra a verdadero, un usuario solo
puede seleccionar valores del vocabulario controlado.
srsc
Formularios / Vocabularios controlados
● onebox: caja de texto simple.
● twobox: un par de onebox de texto simples, utilizados para valores repetibles. En
XMLUI este formato se renderiza igual que el onebox.
● textarea: bloque de texto largo que se puede ingresar en varias líneas.
● name - Nombre personal, con campos separados para el apellido y el nombre.
Cuando se guardan, se anexan en el formato 'Apellido, Nombre'.
Formularios / Vocabularios controlados
● date - Fecha del calendario. Cuando sea necesario, exige que se ingrese al menos el año.
● list - Elija valores de una casilla de verificación o lista de botones de opción. Si el atributo
repetible se establece en verdadero, se muestra una lista de casillas de verificación. Si el
atributo repetible se establece en falso, se muestra una lista de botones de radio.
No repetible Repetible
Formularios / Vocabularios controlados
● series - Serie / nombre y número de informe. Se proporcionan campos separados para el
nombre de la serie y el número de serie, pero se anexan (con un punto y coma entre) cuando
se guardan.
● dropdown - Elija valores de una lista de menú "desplegable". Requiere de la especificación de
value-pairs-name.
● qualdrop_value - Ingrese un "valor calificado", que incluye tanto un calificador de un menú
desplegable como un valor de texto libre. Requiere de la especificación de value-pairs-name.
Formularios / Vocabularios controlados
Vocabularios Controlados
Durante el proceso de publicación es posible limitar la captura de ciertos metadatos. Esta funcionalidad es
importante ya que acota la ambigüedad en un sistema de descripción libre
Ficheros:
[dspace-source] / dspace / config / controlled-vocabularies /
[dspace-source] / dspace / config / dspace.cfg
[dspace-source] / dspace / config / input-forms.xml
Formularios / Vocabularios controlados
Vocabularios Controlados
Pasos:
1- Comprobar que el módulo de vocabularios controlados esté activo (true) dentro del fichero
[dspace-source] / dspace / config / dspace.cfg
webui.controlledvocabulary.enable = true
2- Construir el vocabulario, utilizando una estructura basada en nodos, tal que:
...
...
3- Introducir dentro del campo la referencia a nuestro vocabulario creado
nombre_fichero_sin_extensión
Discovery, Search, y Browse
El módulo Discovery permite la búsqueda y búsqueda con facetas en el repositorio.
Desde la versión 6.0, Discovery es la única infraestructura lista para realizar búsquedas en DSpace.
Sidebar Facet
● La búsqueda facetada divide los resultados de búsqueda en múltiples categorías, mostrando recuentos
permitiendo restringir los resultados de búsqueda en esas facetas.
Facetas por defecto
Autor (dc.creator, dc.contributor.author)
Materia (dc.subject.*)
Fecha (dc.date.issued)
ContentInOriginalBundle
https://wiki.duraspace.org/display/DSDOC6x/Discovery
Discovery, Search, y Browse
Filtros de búsqueda (Search Filters)
● En una operación de búsqueda estándar, un usuario especifica su consulta completa
antes de iniciar la operación. Si los resultados no son satisfactorios, el usuario comienza
de nuevo con una consulta (ligeramente) alterada.
Filtros de búsqueda por defecto
Autor (dc.creator, dc.contributor.author)
Materia (dc.subject.*)
Fecha (dc.date.issued)
ContentInOriginalBundle
FileNameInOriginalBundle
FileDescriptionInOriginalBundle
https://wiki.duraspace.org/display/DSDOC6x/Discovery
Discovery, Search, y Browse
Añadiendo Sidebar Facets y Filtros personalizados
● Objectivo: Añadir nuevo Filtro y Faceta Type (dc.type)
Para añadir o modificar las Facetas, debemos modificar el siguiente fichero:
[dspace-source] / dspace / config / spring / api / discovery.xml
1- Buscamos los nodos property name "sidebarFacets" y “searchFilters” en los bean
id="defaultConfiguration" y “homepageConfiguration” y añadimos una nueva referencia al
bean searchFilterType
...
....
...
https://wiki.duraspace.org/display/DSDOC6x/Discovery
Discovery, Search, y Browse
2- Añadimos la definición del bean searchFilterType
dc.type
3- Actualizamos ficheros de configuración de los binarios de DSpace
4- Reindexamos el contenido del repositorio.
$ /proyectos/dspace/bin/dspace index-discovery -b
https://wiki.duraspace.org/display/DSDOC6x/Discovery
Discovery, Search, y Browse
Browse
● Navegación (browse) por sus contenidos, los usuarios revisan un índice p.ej. de títulos
para ver si encuentran contenidos de su interés.
Campos de búsqueda por defecto
Por fecha de publicación
Autores
Títulos
Materias
Discovery, Search, y Browse
Añadiendo índices de búsqueda personalizados
● Objectivo: Añadir nuevo índice Type (dc.type)
Para añadir o modificar los índices por defecto, debemos modificar el siguiente fichero:
[dspace-source] / dspace / config / dspace.cfg
1- Buscamos y añadimos el nuevo índice como un nuevo elemento del webui.browse
webui.browse.index.1 = dateissued:item:dateissued
webui.browse.index.2 = author:metadata:dc.contributor.*\,dc.creator:text
webui.browse.index.3 = title:item:title
webui.browse.index.4 = subject:metadata:dc.subject.*:text
webui.browse.index.5 = subject:metadata:dc.type:text
Notación:
webui.browse.index. = : item : : (asc | desc)
webui.browse.index. = : metadata : .[.|.*] : (date | title | text) : (asc | desc) :
https://wiki.duraspace.org/display/DSDOC6x/Discovery
Discovery, Search, y Browse
2- Actualizamos ficheros de configuración de los binarios de DSpace
3- Reindexamos el contenido del repositorio.
$ /proyectos/dspace/bin/dspace index-discovery -b
https://wiki.duraspace.org/display/DSDOC6x/Discovery
Configuración de un OAI crosswalk personalizado
Interfaz OAI
Configuración de un OAI crosswalk personalizado
Interfaz OAI
Configuración de un OAI crosswalk personalizado
Lista de Formatos disponibles
oaidc http://www.openarchives.org/OAI/2.0/oai_dc.xsd
mets http://www.loc.gov/standards/mets/mets.xsd
xoai http://www.lyncode.com/schemas/xoai.xsd
didl http://standards.iso.org/ittf/PubliclyAvailableStandards/MPEG-21_schema_file
s/did/didl.xsd
dim http://www.dspace.org/schema/dim.xsd
ore http://tweety.lanl.gov/public/schemas/2008-06/atom-tron.sch
rdf http://www.openarchives.org/OAI/2.0/rdf.xsd
etdms http://www.ndltd.org/standards/metadata/etdms/1.0/etdms.xsd
mods http://www.loc.gov/standards/mods/v3/mods-3-1.xsd
qdc http://dublincore.org/schemas/xmls/qdc/2006/01/06/dcterms.xsd
marc http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd
uketd_dc http://naca.central.cranfield.ac.uk/ethos-oai/2.0/uketd_dc.xsd
Configuración de un OAI crosswalk personalizado
Añadiendo un OAI crosswalk personalizado
● Objectivo: Añadir nuevo OAI crosswalk lido
Para añadir o modificar los OAI crosswalks por defecto, debemos modificar el siguiente fichero:
[dspace-source] / dspace / config / crosswalks / oai / xoai.xml
1- Buscamos y añadimos la nueva referencia al OAI crosswalk lido dentro del contexto default
...
This is the default context of the DSpace OAI-PMH data provider.
Configuración de un OAI crosswalk personalizado
2- Añadimos la definición del Formato
lido
metadataFormats/lido.xsl
http://www.lido-schema.org
http://www.lido-schema.org/schema/v1.0/lido-v1.0.xsd
3- Añadimos nuestro fichero xsl con las correspondientes transformaciones del esquema XOAI
$ cp /proyectos/materiales/OAICroswalks/lido.xsl
/proyectos/src/DSpace/dspace/config/crosswalks/oai/metadataFormats/
4- Reindexamos los índices OAI.
$ /proyectos/dspace/bin/dspace oai import
$ /proyectos/dspace/bin/dspace oai clean-cache
5- Reiniciamos el servicio de tomcat.
Estadísticas
● Estadísticas SOLR
○ Estadísticas de uso
○ Estadísticas de búsquedas
○ Estadísticas del flujo de trabajo
● Estadísticas DSpace Google Analytics
https://wiki.duraspace.org/display/DSDOC6x/Statistics+and+Metrics
Estadísticas
Estadísticas de uso
https://wiki.duraspace.org/display/DSDOC6x/Statistics+and+Metrics
Estadísticas
Estadísticas de uso (Ítem)
https://wiki.duraspace.org/display/DSDOC6x/Statistics+and+Metrics
Estadísticas
Estadísticas de búsquedas
https://wiki.duraspace.org/display/DSDOC6x/Statistics+and+Metrics
Estadísticas
Estadísticas de flujo de trabajo
https://wiki.duraspace.org/display/DSDOC6x/Statistics+and+Metrics
Estadísticas
Estadísticas DSpace Google Analytics
● Registra el tráfico de los usuarios así como las visitas y descargas de
documentos en nuestro DSpace.
● A partir de la versión 6.0 no solo se registran los datos provenientes
del uso de la Interfaz gráfica de DSpace sinó que también registra
descargas directas mediante el uso de búsquedas a través de Google.
https://wiki.duraspace.org/display/DSDOC5x/DSpace+Google+Analytics+Statistics
Estadísticas
Estadísticas DSpace Google Analytics
Para activar el seguimiento debemos introducir un identificador válido de
seguimiento dentro del fichero de configuración dspace.cfg
[dspace-source] / dspace / config / dspace.cfg
google.analytics.key=UA-XXXXXX-X
A partir de la versión 5.0 es posible también visualizar los datos capturados
por Google Analytics dentro de la interfaz de DSpace, mediante la
utilización de la API de Google y una vista preparada para tal propósito.
https://wiki.duraspace.org/display/DSDOC5x/DSpace+Google+Analytics+Statistics
Estadísticas
Estadísticas DSpace Google Analytics
https://wiki.duraspace.org/display/DSDOC5x/DSpace+Google+Analytics+Statistics
Personalización de
nuestro DSpace
Conceptos de personalización: XSLT
XSLT (Extensible Stylesheet Language Transformations) es un estandar del W3C
Conceptos de personalización: Manakin
Conceptos de personalización: Manakin
Conceptos de personalización: Manakin
Conceptos de personalización: Manakin
Conceptos de personalización: Manakin
buildHeader
dri:trail
dri:body
dri:options
buildFooter
Conceptos de personalización: Manakin
http://localhost:8081?XML
Conceptos de personalización: Manakin
http://localhost:8081?XML
Recomendación
+
Chrome Extensión XML TREE
Conceptos de personalización: Manakin
XMLUI, Mirage XMLUI, Mirage2
Personalización de cabecera / pie de página
Creación de un tema partiendo del tema responsive
Mirage2 (UCSP)
Pasos:
1- Creamos la estructura de directorios para el nuevo tema
$ cd /proyectos/src/Dspace/dspace/modules/xmlui-mirage2/src/main/webapp/themes/
$ mkdir UCSP/
$ mkdir UCSP/lib
$ mkdir UCSP/lib/css
$ mkdir UCSP/lib/js
$ mkdir UCSP/styles
$ mkdir UCSP/xsl
$ mkdir UCSP/xsl/core
$ mkdir UCSP/images
Personalización de cabecera/pie de página
2- Copiamos los recursos a utilizar (logotipos)
$ cp /proyectos/materiales/ThemeUCSP/images/*
dspace/modules/xmlui-mirage2/src/main/webapp/themes/UCSP/images/
3- Copiamos la base del tema original y ficheros encargados del
procesado de las reglas para la renderización de la cabecera y el pie de
página
$ cp /proyectos/src/Dspace/dspace-xmlui-mirage2/src/main/webapp/xsl/theme.xsl
dspace/modules/xmlui-mirage2/src/main/webapp/themes/UCSP/xsl/
cp
/proyectos/src/DSpace/dspace-xmlui-mirage2/src/main/webapp/xsl/core/page-structure.x
sl dspace/modules/xmlui-mirage2/src/main/webapp/themes/UCSP/xsl/core/
4- Creamos el fichero _styles.scss para la personalización de estilos
$ vim
/proyectos/src/Dspace/dspace/modules/xmlui-mirage2/src/main/webapp/themes/UCSP/style
s/_styles.scss
Personalización de cabecera/pie de página
5- Copiamos fichero con las variables globales de Bootstrap para proceder a su
personalización
$ mkdir
dspace/modules/xmlui-mirage2/src/main/webapp/themes/UCSP/styles/classic_mirage_color
_scheme
$ cp
/proyectos/src/DSpace/dspace-xmlui-mirage2/src/main/webapp/styles/classic_mirage_col
or_scheme/_bootstrap_variables.scss
dspace/modules/xmlui-mirage2/src/main/webapp/themes/UCSP/styles/
6- Editamos los valores de las variables globales de Bootstrap
[dspace-source] / dspace / modules / xmlui-mirage2 / src / main / webapp / themes /
UCSP / styles / classic_mirage_color_scheme / _bootstrap_variables.scss
//Color links y fondo botones
$brand-primary: #607890 !default;
//Color àrea barra superior
$navbar-inverse-bg: #FFF !default;
//Color enlaces barra superior (idioma/conexión)
$navbar-inverse-link-color: #eee !default;
Personalización de cabecera/pie de página
7- Localizamos y editamos la sección encargada de renderizar la
cabecera
8- Localizamos y editamos la sección encargada de renderizar el
pie de página
Personalización de la vista del Ítem
Pasos:
1- Copiamos la base del tema original y ficheros encargados del procesado
de las reglas para la renderización de la vista del ítem
$ mkdir -p
/proyectos/src/DSpace/dspace/modules/xmlui-mirage2/src/main/webapp/themes/UCSP/xsl/a
spect/artifactbrowser/
$ cp
/proyectos/src/DSpace/dspace-xmlui-mirage2/src/main/webapp/xsl/aspect/artifactbrowse
r/item-view.xsl
/proyectos/src/Dspace/dspace/modules/xmlui-mirage2/src/main/webapp/themes/UCSP/xsl/a
spect/artifactbrowser/
2- Buscamos y editamos la sección encargada de renderizar los metadatos
mostrados en la página
Personalización de la vista del Ítem
3- Establecemos nuestro tema como tema principal
[dspace-source] / dspace / config / xmlui.xconf
4- Buscamos y editamos la sección encargada de establecer el tema por
defecto
Notación del fichero xmlui.xconf
regex=".*" Tema base para todo el repositorio
handle="123456789/1" Tema base para una comunidad o colección
regex="community-list" Tema específico para una página
Personalización de la vista del Ítem
Para pruebas rápidas podemos editar directamente
los xsl ubicados en los binarios del repositorio
/ proyectos / dspace / webapps / xmlui / themes / / xsl /
Personalización de la vista del Ítem
Algunos ejemplos de personalización de la
vista del Ítem
Visualizadores de los diferentes tipos de documentos
● Visor de documentos (FlowPaper)
https://flowpaper.com/
Visualizadores de los diferentes tipos de documentos
● Visor de Imágenes (OpenSeadragon)
https://openseadragon.github.io/
Visualizadores de los diferentes tipos de documentos
● Visor de Vídeos
https://www.jwplayer.com/
Visualizadores de los diferentes tipos de documentos
● Visor de Panorámicas (Imágenes 360º)
https://krpano.com/
Visualizadores de los diferentes tipos de documentos
● Visor de GigaImágenes
http://www.zoomify.com/
Personalización
● Personalización UCSP
http://www.zoomify.com/
Personalización
● Personalización UCSP
Mantenimiento de
DSpace
Calendario de releases de DSpace
1.5.0 1.7.0 3.0 5.0
Mar 2008 Dec 2010 Nov 2012 Jan 2015 7.0
1.5.2 1.7.3 3.6 5.9 2018
Apr 2009 Jul 2013 Mar 2016 Jun 2018
END OF LIFE / UNSUPPORTED
2006 2008 2010 2010 2011 2012 2013 2015 2016 20018
1.4.0 1.6.0 1.8.0 4.0 6.0
July 2006 Mar 2010 Nov 2011 Dec 2013 Oct 2016
1.4.2 1.6.2 1.8.3 4.9 6.3
May 2007 Jun 2010 Jul 2013 Jun 2018 Jun 2018
Estrategias para migrar versiones
Estrategias para migrar
Estrategias para backups
Preservación a largo plazo
La infraestructura debe garantizar el acceso a datos a largo plazo, sin fallas.
Para tener éxito, debe tenerse en cuenta:
● Replicación (más de una copia)
● Actualización de medios
● Migración de formato
● Integridad de datos (checksums)
● Plan de contingencia y recuperación
● Plan de preservación
joan.caparros@csuc.cat
https://es.linkedin.com/in/joancaparros
¡Muchas gracias!