Tag Archives: dspace

Estructura de los archivos de importación de items

A un repositorio normalmente le llega el momento de realizar una importación masiva de items, sin tener que recurrir al método de carga de uno en uno de la interfaz de usuario.  El método estándar de importación es mediante el formato simple de archivo  (simple archive format) y el uso por línea de comandos del import. El comando import tratará de importar una estructura de directorio-subdirectorios y ficheros con una estructura predeterminada (es decir la Simple archive format). Cada subdirectorio corresponde a un item final de nuestro Dspace y contiene una serie de ficheros para lograr la descripción completa del item.

Esta estructura es :

Realmente, los únicos ficheros importantes y/o necesarios son el dublin_core.xml y el contents. Aclaremos, normalmente tendremos ficheros de contenidos (bitstreams),  pero en sentido estricto, el fichero o ficheros de bitstreams podrían no existir en un item sólo con metadatos y en ese caso, el contents sería un fichero vacio. Extraño caso de uso del import, pero posible.

Contents
El fichero contents enumera los ficheros que van en el subdirectorio, junto con posibles indicaciones del bundle en el que deben ir.

Los bundles son agrupaciones de ficheros dentro del item, que separan los diversos tipos de ficheros de modo que DSpace pueda tratarlos de forma diferenciada. Los bundles más habituales son ORIGINAL, LICENSE, LICENSE_CC y THUMBNAIL de contenido obvio, pero pueden aparecer otros bundles como METADATA, ORE y TXT y seguro que me dejo alguno. De hecho, si en el fichero Contents se nombra un nuevo bundle, DSpace creará el objeto con el fichero correspondiente incluido en ese bundle. Queda luego la tarea de modificar DSpace para que incorpore tratamientos diferenciados a los ficheros del nuevo bundle así creado…porque, claro está, el usuario con permisos normales de DSPACE solo podrá ver los ficheros contenidos en el bundle ORIGINAL.

Un ejemplo de Contents (por ahí en medio hay tabuladores, ya que el fichero content está delimitado con tabuladores)

license.txt     bundle:LICENSE
Fichero1.pdf   bundle:ORIGINAL
Fichero2.pdf   bundle:ORIGINAL

Dublin_core.XML

A su vez el dublin_core.xml será algo similar a…

<dublin_core>
<dcvalue element="contributor" qualifier="author">Nombre</dcvalue>
<dcvalue element="language" qualifier="iso">es_ES</dcvalue>
<dcvalue element="title" qualifier="none">Título</dcvalue>
...
</dublin_core>

Bien, pues una vez tengamos esta super-estructura formada llega el momento de pelearse con el comando import. Pero eso es otra historia.

XMLUI o JSPUI??

Una cuestión que normalmente  surge en las nuevas instalaciones (o migraciones ) de DSpace es ¿qué interface usar?.

Anteriormente a Dspace 1.5, la interface única  de JSPUI simplificaba la elección :), y este es el motivo de la amplia difusión de los interfaces JSPUI, pero con la aparición de XMLUI es una pregunta recurrente. Intentaremos proporcionar alguna luz, o quizá simplemente alimentar el debate al respecto…  Empecemos:

XMLUI permite de forma extremadamente simple, mucho más que JSPUI, aplicar apariencias radicalmente diferentes a distintas colecciones, lo que resulta de especial relevancia en determinados ámbitos, pensemos en distintas tipologías de objetos por colección, o en diferenciación de la imagen institucional o… motivos diversos los hay, y en ocasiones son causas suficientes para decantarse por XMLUI…

Por otra parte, existe una sensación general de que los nuevos desarrollos de Dspace se alejan de JSPUI, pero nos gustaría confirmarlo con hechos. Algunas de las nuevas funcionalidades presentes en Dspace 1.8 están soportadas únicamente en XMLUI, como el Configurable Reviewer Workflow. De hecho, según se encarga de recordarnos la documentación del 1.8, la activación de esta función “deshabilita” el JSPUI. (realmente no lo deshabilita, simplemente deja de funcionar, pues se altera el esquema de la base de datos…). Y en versiones anteriores, recordamos el Authority Control en Dspace 1.6, la versión JSPUI nos produjo más quebraderos de cabeza que satisfacciones, hablando en plata. Y algunas de las características de un “tema” como Mirage, incluso considerando sus bugs pre-1.8, son inalcanzables, pensamos, para JSPUI.

Pero esto también pudiese ser cierto a la inversa. Al menos hasta la aparición de la versión 1.7, la interfaz de administración de XMLUI iba por detrás de la disponible en JSPUI. Y recordemos que la funcionalidad base para usuarios generales de JSPUI sigue siendo objetivo, a mi entender, aún no alcanzado, de los temas XMLUI como el “Classic”, sin efectuar desarrollos específicos. Lo cual nos lleva al siguiente punto, modificar y desarrollar la interfaz de usuario en una u otra interfaz.

Desarrollar en XMLUI es sustancialmente más complejo que en JSPUI, para funcionalidades “estándar” si es que eso existe. La curva de aprendizaje de XMLUI es mucho más costosa y esforzada, sinceramente. La mezcla de funciones java, seguido de una cadena de transformaciones XSL, todo embutido en un framework Apache Cocoon, resulta compleja de entender. XMLUI no funciona bajo una lógica “una plantilla-una página”, sino bajo una lógica “diversas plantillas- una página” y, simultáneamente “una plantilla- diversas páginas”. Lo cual complica la concepción del sistema así creado…

Bien, existen más diferencias, y sobre todo más opiniones sobre las mismas, que las planteadas en la breves líneas anteriores

¿y Vds, que opinan?.

Probando DSpace 1.8.0

El 4 de noviembre de 2011 se liberó la versión 1.8.0 del software DSpace.

Las características más reseñables de esta versión figuran aquí: https://wiki.duraspace.org/display/DSPACE/DSpace+Release+1.8.0+Notes

Pero conviene advertir de los cambios sustanciales respecto a las versiones 1.7.x y anteriores: La más importante es la separación de la configuración en múltiples ficheros. Recordemos que hasta ahora TODA la configuración residía en el fichero “dspace.cfg”, bien, pues a partir de la versión 1.8.0, este fichero se disgrega y separa la configuración de cada módulo. Así pues, tendremos:

Otro factor importante a destacar es el CAMBIO DE COMPORTAMIENTO en el despliegue al realizar el “ant“. Hasta ahora el comportamiento por defecto era no aplicar los cambios en la configuración. Ahora pasa al contrario. Por defecto se sobreescribe el/los ficheros de configuración.

Algunas de las nuevas características en esta versión son

  • Herramientas y plugins de curación/preservación – tanto en la interfaz de usuario como a través de la línea de comandos.
  • Cliente SWORD y nueva versión del servidor SWORD
  • Mejoras en el acceso y conexión a las licencias CREATIVE COMMONS, en el buscador Discovery, etc
  • Un nuevo sistema de workflows configurables (solo para interfaz XMLUI)
  • Nuevas funcionalidades a través de la edición masiva de metadatos

 

Configurar thumbnails de PDF en DSpace

Con esta entrada veremos cómo visualizar miniaturas de los ítems cargados en nuestras colecciones de una DSpace en sus versiones 1.6.x y superiores.

La previsualización de ítems es automática ( sin instalar ningún paquete adicional)  para las imágenes:

PREVISUALIZACIÓN DE IMÁGENES pero NO para los pdfs.

Para documentos PDF se requiere usar el software XPDF y aplicar en el maven unas librerías java de tratamiento de imágenes.En la documentación oficial hemos encontrado algún error al seguir las instrucciones así que procederé a detallar nuestro proceso.

  1. Instalar xpdf: en el caso de Ubuntu: apt-get install xpdf  Con ello se instalan 3 binarios necesarios pdftotext , pdftoppm
  2. Comprobar el destino de estos binarios: find / -name pdftotext . En ubuntu se instalan en /usr/bin
  3. Añadir 3 líneas a dspace.cfg con el directorio de instalación de los binarios de xpdf
  4. Descargas las librerías java necesarias: “jai_core”  y  “jai_imageio”. Para ello se puede usar curl , wget, o descarga directa a través del navegador. Al final son necesarios los .jar de ambas librerías.

Java Advanced Imaging Downloads contiene jai-core

Java Advanced Imaging-Image I/O Tools Downloads contiene jai_imageio

Por tanto por el medio que sea hay que descargarse el tar.gz, descomprimirlo y comprobar que dentro de la carpeta lib existen ambos .jar

  1. Aplicamos ambos el archivo .jar al maven: (OJO porque aunque pueda parecer correcta su aplicación ya que no dará error )
  2. Procederemos como habitualmente a realizar un maven de nuestro dspace source
  3. y el despliegue mediante ant -Dconfig=dspace.cfg update
  4. Ejecutamos media-filter

Para mas información de como realizar este proceso consultar las instrucciones oficiales aqui

Activar thumbnails de imágenes en DSpace

Los thumbnails son versiones reducidas de imágenes, usadas para ayudar a su organización y reconocimiento.

Con las siguientes instrucciones se van a poder observar thumbnails de los formatos jpg , png y gif.

DSpace incluye por defecto un filtro para el rastreo de éstos formatos, éste es: “JPEGFilter”

“JPEGFilter creates thumbnail images of GIF, JPEG and PNG files”

El resto de formatos ( por ejemplo pdf, doc, odt ) no serán visibles con los cambios descritos a continuación.

Para activarlo tenemos que activar las siguientes líneas en el dspace.cfg, ubicado en [dspace]/config/dspace.cfg

webui.browse.thumbnail.show
webui.browse.thumbnail.max.height
webui.browse.thumbnail.max.width
webui.item.thumbnail.show
webui.browse.thumbnail.linkbehaviour
thumbnail.maxwidth
thumbnail.maxheight

Estas líneas vienen descomentadas por defecto y con unos valores predefinidos, salvo la primera de ellas que hay que descomentarla y poner el valor a true.

Una vez editado el fichero,  reiniciamos el tomcat para aplicar los cambios.

Ahora será necesario ejecutar  una herramienta para el rastreo y generación de las miniaturas de todos los archivos adjuntos que dispongamos en DSpace, por lo que es recomendable ajustar esta tarea a un cronjob para que se ejecute cada cierto tiempo, si nó, no podremos visualizar ningún thumbnail de los ítems añadidos posteriormente.

Comprobar antes de ejecutar el plugin que esta linea esta activada y bien referenciada en el dspace config:

plugin.sequence.org.dspace.app.mediafilter.MediaFilter = org.dspace.app.mediafilter.PDFFilter, org.dspace.app.mediafilter.HTMLFilter

Para ejecutar los media filters, tenemos que introducir en un terminal lo siguiente

[dspace]/bin/dspace filter-media

Si lo queremos meter en un cronjob será algo del estilo:

0 2 * * * ''dspace''/bin/filter-media

Integración con redes sociales

La alta capacidad de customización de DSpace permite la inclusión de nuevos elementos en la interfaz de usuario. Uno puede ser la inclusión de una barra que conecte con las famosas redes sociales, por ejemplo “addthis“:

Se trata de un código que se incrusta en el de DSpace para que aparezcan los iconos de las redes sociales deseadas.

En el caso concreto de las instancias cuya interfaz sea XMLUI el proceso es el siguiente:

  • Editar “structural.xsl” para añadir el siguiente código:
<xsl:template match="dri:options">
        <div id="ds-options">

            <h3 id="ds-share-option-head"><xsl:text>Share</xsl:text></h3>
            <div id="ds-share-option" style="text-align: center">
                <a>
                    <xsl:attribute name="href">
                        <xsl:text>http://www.addthis.com/bookmark.php?v=250&amp;pub=xa-4a848ff246b1eec7</xsl:text>
                    </xsl:attribute>
                    <xsl:attribute name="class">
                        <xsl:text>addthis_button</xsl:text>
                    </xsl:attribute>
                    <img>
                        <xsl:attribute name="src">
                            <xsl:text>http://s7.addthis.com/static/btn/lg-share-en.gif</xsl:text>
                        </xsl:attribute>
                        <xsl:attribute name="width">
                            <xsl:text>125</xsl:text>
                        </xsl:attribute>
                        <xsl:attribute name="height">
                            <xsl:text>16</xsl:text>
                        </xsl:attribute>
                        <xsl:attribute name="style">
                            <xsl:text>border:0</xsl:text>
                        </xsl:attribute>
                    </img>
                </a>

                <script type="text/javascript">
                    <xsl:attribute name="src">
                        <xsl:text>http://s7.addthis.com/js/250/addthis_widget.js?pub=xa-4a848ff246b1eec7</xsl:text>
                    </xsl:attribute>
                    <xsl:text>// Empty comment</xsl:text>
                </script>
            </div>

ARVO contribuye a la comunidad: Mensajes para XMLUI en español para DSpace

La mayoría de nuestros clientes utiliza la interfaz XMLUI para DSpace. Los mensajes de dicha interfaz se encuentra en el fichero messages_xx.xml donde xx es el código del idioma. ARVO ha traducido los nuevos mensajes que aparecen en las versiones 1.6 y 1.7 al español y lo ha puesto a disposición de la comunidad DSpace proporcionando el fichero “messages_es.xml”. Este fichero lo podemos encontrar en:

[dspace_installation]/webapps/xmlui/i18n/messages_es.xml

El procedimiento se resume en:

  • Registro en JIRA de DSpace: https://jira.duraspace.org/
  • Añadir un nuevo “Issue” como “improvement” (es decir notificar una mejora)
  • Rellenar con las versiones afectadas, ficheros adjuntos, documentación etc…( si procede )
  • Se crea automáticamente un ticket: en nuestro caso fue el 837 https://jira.duraspace.org/browse/DS-837
  • Pasa a un estado de “pendiente de revisión”
  • Cuando una persona se lo asigna, lo revisa: “Updated”
  • y cuando lo termina: “Resolved”

Todas estas notificaciones se informan en la lista de correo de los desarrolladores: [dspace-devel] de manera que en todo momento estamos informados de la situación de nuestra contribución.

Agradecer desde aquí a:

  • Bram Luyten de @mire por los consejos para desarrolladores
  • Claudia Juergen de la Universitaetsbibliothek Dortmund quien resolvió el track de JIRA
  • Francisco Javier Herrero de la Universitat Jaume I de Castellón, autor de la traducción base de DSpace 1.5

ARVO en “Service Provider Program” de DSpace

Desde el 15 de Marzo del 2011 ARVO forma parte del “Service Provider Program”, reconocimiento de la organización de DSpace.org a los proyectos realizados.

Esto significa que entre otras cosas ARVO se dedica a implantar repositorios digitales con DSpace,  proveyendo soluciones a nuestros clientes.