Warning: Constant WP_MEMORY_LIMIT already defined in /home/elorenzo/domains/arvo.es/public_html/dspace/wp-config.php on line 94
Adán Román | Hablando de DSpace - Part 2

Author Archives: Adán Román - Paginas 2

Activar tareas de Curation. Parte 1

Las tareas de Curación (Curation tasks) son básicamente programas desarrollados en Java para añadir una funcionalidad adicional, relacionada con la gestión de los objetos del repositorio, de ahí el término Curación o Preservación, a la que nos da la instalación base repositorio.

Manual Dspace 1.8: The goal of the curation system (‘CS’) is to provide a simple, extensible way to manage routine content operations on a repository. …The DSpace core distribution will provide a number of useful tasks, but the system is designed to encourage local extension – tasks can be written for any purpose, and placed in any java package. This gives DSpace sites the ability to customize the behavior of their repository without having to alter – and therefore manage synchronization with – the DSpace source code.

El soporte a las tareas de curación aparece en la versión 1.7 y se mejora sustancialmente en la versión 1.8, principalmente con la adición de un marco bastante completo de creación de nuevas tareas.

Las tareas de curación son programas java con detección del contexto de invocación, es decir se aplican al nivel de colección, subcolección o ítem,  en el contexto en el que se esté. Además pueden ser invocadas desde el Command line interface, CLI, con lo que pueden ser programadas mediante rutinas nocturnas,  y también desde la UI del administrador (sólo interface XMLUI).
Las tareas que pueden ser apropiadas serían, p.ej :

  • Escaneado antivirus de los ficheros, asegurar la legibilidad de los ficheros…
  • Mejora de los ficheros, p.ej aplicación de marcas de agua o páginas iniciales a los pdfs…
  • Comprobación de la completitud de metadatos, valores límite de los metadatos, adherencia a determinados perfiles de uso de los mismos..
  • Conexión con servicios externos a Dspace para mejorar los metadatos, como authority controlled…

Las tareas de curación nos permiten complementar Dspace e incorporar funciones adicionales, pero debemos considerar las implicaciones ante una migración de versiones. El poder implementar cualquier función tiene la desventaja de que esa libertad puede hacer que a la hora de desarrollar una tarea estemos usando versiones de la API de DSpace que en un momento dado se abandone o entren en desuso. Por ejemplo,  programamos una tarea de curation en la cual modificamos un metadato de DSpace usando la API del DSpace 1.7.2, luego al  migrar esta tarea de curación a una versión superior,  descubrimos que la API DSpace 1.8.2 no soporta lo que hemos programado.

No obstante esta precaución, he de decir que a partir de la versión 1.6.0 y futuras API’s no parece haber muchos cambios importantes a la hora de programar, por lo que una tarea de curación programada para la API 1.6.0 seguramente funcione para la 1.8.2.

Una vez hecha esta introducción ahora vuestra pregunta será, ¿cómo programo y cómo activo una tarea de curación?

La respuesta a la primera pregunta mejor lo dejamos para otro futuro post  (nos quedaría este muy pesado) y nos centramos es la segunda cuestión.

Como aspecto curioso de señalar,  DSpace tiene de por sí mas tareas de curación programadas de las que aparecen en el UI, lo que pasa es que no las tiene instaladas. Por ello nos centraremos en este caso  para aclarar cómo se instala una tarea de curación.

Para que el Curation System pueda ejecutar una tarea, se deben dar dos condiciones, que el código de la tarea se incluya con el resto del código,  p.ej. en [dspace]/lib, WAR, etc, y que además se le declare y asigne un nombre en el fichero de configuración [dspace]/config/modules/curate.cfg.  Notar que este fichero se localiza en el subdirectorio config/modules/. La intención es que las tareas sean add-ons de la configuración base del sistema, sin que añadir o retirar tareas impacte en dspace.cfg (esto cambión en la v1.8 respecto la v1.7)

En este fichero hemos de introducir las tareas de curación para que el interfaz gráfico de DSpace las detecte. Para cada tarea se debe añadir un par key-value. La Key es el nombre completo cualificado de la clase java y el Value es el nombre de la tarea usado en el resto del CS para referirse a la tarea,  de tal forma que luego el usuario las pueda seleccionar.

Por ejemplo, si queremos activar el antivirus ClamScan debemos de añadir en el parámetro plugin.named.org.dspace.curate.CurationTask, el nombre de la clase Java correspondiente a la tarea de curation y luego un nombre que le queramos dar a la tarea de curación. Nuestra clase java se llama ClamScan y queremos darle el nombre vscan, y entonces la línea quedaría así:

plugin.named.org.dspace.curate.CurationTask =
org.dspace.ctask.general.ClamScan = vscan

Como tendremos mas tareas activas, este parámetro tendrá más bien este aspecto:

plugin.named.org.dspace.curate.CurationTask = \
org.dspace.ctask.general.ProfileFormats = profileformats, \
org.dspace.ctask.general..RequiredMetadata = requiredmetadata, \
org.dspace.ctask.general.ClamScan = vscan

y obviamente si quisiésemos insertar otra tarea de curación, por ejemplo un fichero java llamado MiJava y de nombre mitarea sería así

plugin.named.org.dspace.curate.CurationTask = \
org.dspace.ctask.general.ProfileFormats = profileformats, \ 
org.dspace.ctask.general..RequiredMetadata = requiredmetadata, \ 
org.dspace.ctask.general.ClamScan = vscan \
org.dspace.ctask.general.MiJava = mitarea

Ahora solo queda reiniciar el tomcat y ya tenemos disponible nuestra tarea de curación en la UI. Con los privilegios de administrador (en la 1.8 también pueden ejecutar tareas de curación los administradores de comunidad, en su contexto de administración, claro) en los paneles de edición de comunidad o colección o item, deberemos seleccionar la pestaña de curar. En el desplegable que aparece seleccionamos la tarea que queremos ejecutar, y una vez seleccionada le damos al botón de realizar.

Bueno espero que os haya abierto el gusanillo de la curiosidad, y os de por experimentar un poco con tareas de curación. En siguientes entregas explicaremos como codificar nuevas tareas de curación.

Cómo instalar varios DSpace en paralelo

Durante los procesos de desarrollo e instalación de DSpace, surge la necesidad de tener varios DSpace (varias versiones diferentes, p.ej) ya que a veces nos interesa no ensuciar mucho nuestro instalación base y probar código nuevo, ….

Pues bien las siguientes instrucciones os van a dar una idea de como hay que hacer para tener varias versiones de DSpace funcionando a la vez para que luego cambiando una dirección del tomcat podamos acceder de uno a otro.

Vamos a suponer que queremos instalar un DSpace versión 1.x.x (se hace igual en todas las versiones) llamado dspace_1, con Postgresql en el cual crearemos una base de datos llamada dspace_1

En primer lugar descargamos el codigo fuente de un DSpace y hacemos el proceso de compilación mediante un maven.

Una vez hecho tenemos que tocar el fichero de configuración dspace.cfg y ahí tenemos que modificar un par de líneas con el siguiente contenido (modificar paths y puertos según instalación):

dspace.dir = /dspace_1

db.url = jdbc:postgresql://localhost:5432/dspace_1

Lo que hemos hecho es especificar una instalación de DSpace en el raiz, en una carpeta llamada dspace_1 y el segundo parámetro (db.url) que modificamos indica que estamos usando la base de datos dspace_1 mediante un conector postgresql.

Claramente en el proceso de instalación tenemos que crear una base de datos con el nombre acorde a lo especificado en db.url (en nuestro caso la base de datos se llama dspace_1).

Una vez creada la base de datos y guardado los cambios del dspace.cfg tenemos que hacer un ant fresh-install. Cuando acabe el proceso y obtengamos un success, antes de rearrancar el tomcat tenemos que modificar el fichero server.xml del tomcat para que apunte a nuestra instalación DSpace.

<Host name=»localhost»  appBase=»/dspace_1/webapps»
unpackWARs=»true» autoDeploy=»true»
xmlValidation=»false» xmlNamespaceAware=»false»>

 

Rearrancamos el tomcat y tenemos nuestro primer DSpace operativo con su propia base de datos asociada.

Ahora, si queremos otra versión de DSpace funcionando paralelamente a esta, tenemos que hacer el mismo proceso que antes, cambiando los nombres que de nuestra base de datos y la dirección de instalación del DSpace.  Suponiendo que quiero instalar un DSpace en el directorio raíz de nombre dspace_2, el proceso resumido sería el siguiente:

1- Hacer un maven

2- Modificar dspace.cfg de la carpeta target

dspace.dir = /dspace_2

db.url = jdbc:postgresql://localhost:5432/dspace_2

3- Crear una base de datos llamada dspace_2

4 – ant fresh-install

Con esto ya tenemos dos DSpace en nuestro ordenador, con dos bases de datos distintas

Ahora si queremos cambiar de una versión a otra tenemos que modificar el fichero server.xml haciendo que apunte el webapps de dspace_1 a dspace_2 o viceversa.

 

 

5as Jornadas OS-Repositorios

Estuvimos en las 5as Jornadas OS-Repositorios que se celebraron, del 23 al 25 de mayo, en la E.T.S. Ingeniería de la Universidad del País Vasco, en Bilbao

En la conferencia inicial del evento, realizada por Reme Melero, se aportaron datos sobre el estado del acceso abierto en España en el período 2006-2012, un interesante ranking nacional y sobre el uso de los diferentes software de repositorios institucionales, con DSpace como el más usado en instalaciones nacionales.

image

Como aspecto recurrente durante toda la conferencia, se estudiaron y discutieron los repositorios de datos de investigación, siguiente frontera de los repositorios institucionales. Los retos principales fueron desmenuzados por Keith Jeffery, Presidente de EuroCRIS, en la conferencia invitada.

Durante los tres días del congreso, sucesivas presentaciones por parte de responsables de repositorios institucionales nos muestran las líneas de trabajo y evolución activas en sus instituciones. Nos interesaron especialmente (y seguro que me dejo alguno, perdón):

  • El workshop que Pedro Príncipe, Universidade do Minho, ofreció sobre las Nuevas directrices OpenAIRE y OpenAIREplus.
  • La presentación de Toni Prieto Jiménez y Jordi Serrano, de la Politècnica de Catalunya sobre los múltiples flujos de trabajo e integraciones en la gestión de su repositorio institucional, UPCommons. Apretando las interfaces DSpace hasta el límite.
  • La adaptación de DSpace para la visualización de objetos digitales complejos en la Universitat de València, que realizaron José Manuel Barrueco y José Angel Navalón.
  • La ponencia de Miquel Termens (Universitat de Barcelona) sobre los retos técnicos para la preservación de los repositorios institucionales.

image

En general, nos pareció que determinadas presentaciones (se adoptó el modelo de 6 minutos pechakucha) se quedaron cortas. Nos quedamos con ganas de una explicación un poco más amplia de las siguientes sesiones:

  • Linked Open Data en el repositorio de la Universidad de Salamanca, por Tránsito Ferreras
  • El Archivo Digital para la Docencia y la Investigación de la UPV/EHU: por Alcira Macías y Pablo de Castro
  • La presentación de Javier Gómez sobre el autoarchivo en el repositorio institucional de la Universidad de Alicante. Y los interesantes comentarios sobre las dificultades del autoarchivo en la mayoría de los repositorios representados, que nos debería llevar a todos a una reflexión…
  • Los retos, evolución y mecanismos de introducción de contenidos en Dadun, Universidad de Navarra, por Rocío Serrano-Vicente.
  • y la sesión de Leticia Barrionuevo sobre el Control de Autoridades en Buleria, el repositorio de la Universidad de León

Y por supuesto, el resto de ponencias, conferencias y sesiones..Un agradecimiento especial a la Universidad del País Vasco por acogernos y nos veremos en la próxima.

Activar Mirage y Discovery

Una de las principales propuestas de DSpace 1.7 fue la funcionalidad de búsquedas Discovery. Desarrollado, y cedido a la comunidad DSpace, por la empresa AtMire, el sistema de búsquedas por facetas (faceted search) es de indudable atractivo para las nuevas instalaciones y posiblemente imprescindible en instalaciones con un número de items elevado, pues las facilidades de búsqueda en esos entornos necesitan ser «reforzadas».

Faceted search, also called faceted navigation or faceted browsing, is a technique for accessing information organized according to a faceted classification system, allowing users to explore a collection of information by applying multiple filters (wikipedia)

Para poder manejar correctamente el nuevo sistema de búsquedas, se distribuye conjuntamente con la release, el tema Mirage (y ahora debe quedar claro que hablamos de XMLUI, no de JSPUI) como complemento visual de la funcionalidad Discovery.

En este post va a proceder a explicar como se hace para activar Mirage y Discovery en nuestro Dspace 1.7 o 1.8.

ACTIVACION DE MIRAGE

Tendremos que ir al fichero xmlui.xconf ubicado en [dspace-instalación]/conf/xmlui.xconf

Ahí vamos a quitar los comentarios referentes a la linea

<!–<theme name=»Atmire Mirage Theme» regex=».*» path=»Mirage/» />–>

Por lo que nos quedaría de la siguiente forma

<theme name=»Atmire Mirage Theme» regex=».*» path=»Mirage/» />

Una vez hecho esto, debemos comentar el tema que se estuviese usando, normalmente el tema Reference, es decir:

<theme name=»Default Reference Theme» regex=».*» path=»Reference/» />

y añadirle los comentarios, dejándola así.

<!– <theme name=»Default Reference Theme» regex=».*» path=»Reference/» /> –>

Por ahora no hemos hecho mas que cambiar un tema por otro. Llega ahora la hora de la verdad, activar el faceted search.

ACTIVACIÓN DE DISCOVERY

Activar Discovery supone en primer lugar sustituir las transformaciones (aspects) relacionadas con la búsqueda de XMLUI por las nuevas transformaciones que supone Discovery. Para ello, en el fichero xmlui.xconf ubicado en la ruta [dspace-instalación]/conf/xmlui.xconf tenemos que desactivar la linea referente al uso del SearchArtifact, y activar la correspondiente al Discovery. Así, hay que comentar la linea siguiente:

<aspect name=»Searching Artifacts» path=»resource://aspects/SearchArtifacts/» />

quedando la línea de la siguiente forma

<!–<aspect name=»Searching Artifacts» path=»resource://aspects/SearchArtifacts/» />–>

y siendo consecuentes, descomentar la línea de Discovery:

<!–<aspect name=»Discovery» path=»resource://aspects/Discovery/» />–>

quedando la línea de la siguiente forma

<aspect name=»Discovery» path=»resource://aspects/Discovery/» />

El siguiente paso que tenemos que modificar el fichero dspace.cfg, cambiando un par de parámetros:

event.dispatcher.default.consumers

y añadirle a la derecha el parámetro discovery quedando de la siguiente forma.

event.dispatcher.default.consumers = search, browse, discovery, eperson, harvester

La siguiente línea a tocar es la siguiente:

recent.submissions.count

En este caso pondremos el parámetro a cero quedando así la línea:

recent.submissions.count=0

Ya estamos finalizando. El último fichero que debemos comprobar es el dspace-sorl-search.cfg, ubicado en la misma carpeta que los anteriores ficheros. Simplemente chequear que la dirección de nuestro dspace/solr coincide con la especificada en el fichero ¿aún no habíamos dicho que Discovery se apoya en SOLR?… Aseguraros que SOLR está desplegado y funcionando en vuestro Tomcat.

Bien, buscamos la línea:

solr.search.server = http://localhost:8080/solr/search

y ahí debemos comprobar que el puerto de acceso es correcto, lo cambiamos al nuestro, 8180, 8888, el que usemos:

solr.search.server = http://localhost:8180/solr/search

Cuidado, que hay una serie de problemas reportados en JIRA respecto el uso de 127.0.0.1 y el uso de localhost, por lo que quizá se tenga que tantear. (CORREGIDO gracias a la aportación de Javier, de la Universidad de Piura, Perú)

Una vez editados estos ficheros, hay que reiniciar el tomcat para que se apliquen los cambios y ejecutar en línea de comandos el programa update-discovery-index para que se actualicen los índices del Discovery.

[dspace-instalación]/bin/dspace update-discovery-index

Una vez ejecutada, podemos ver los cambios en nuestro Dspace, un magnífico DSPace con búsqueda por facetas:

Ah, un último punto… las etiquetas/textos que usa Discovery no están traducidas, pues no se incluyen en el messages-es.xml del núcleo de Dspace. La opción más razonable es localizar su messages.xml en las fuentes de dspace-discovery y copiarlas, es decir añadirlas, al messages_es.xml que usemos de forma habitual (una vez traducidas, claro..)

Suerte (y gracias a Atmire…)

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

 

Instalar un servidor de handle en Dspace

A continuación se van a mostrar los pasos para poder instalar un servidor de handle en un DSpace.

1- Seguridad perimetral: Apertura de puertos 2641 y 8000 TCP/UDP para poder realizar el proceso de registro con la entidad que proporciona el handle: CNRI.

2- Solicitud de un handle a handle.net por lo que tendremos que rellenar un cuestionario y realizar el registro de un usuario (previo pago) para así obtener un número de handle que luego lo usaremos en DSpace.
http://www.handle.net/registration_agreement.html?
3- Con el número en nuestro poder tenemos que crear el servidor de handle, para ello ejecutamos la siguiente orden en un terminal

[dspace]/bin/dspace make-handle-config [dspace]/handle-server


NOTA: En las preguntas formuladas por el script existe una relativa a la encriptación de las contraseñas. En nuestro caso una respuesta afirmativa produjo un error posterior por lo que en un segunda ejecución modificamos esta respuesta a NO. Es decir, SIN encriptación.

4- Una vez creado el server en la carpeta del handle-server tenemos un fichero .zip que se ha de enviar por mail para que sea validado.

Asunto: Número de handle que hemos comprado Ejemplo 1000

Attach: sitebndl.zip

Cuerpo del mensaje: «Saludarla porque es una persona y siempre sienta bien que te saluden, además un gracias ayuda siempre de mucho»
4.1- mientas esperas que te validen el servidor podemos ir modificando los siguiente ficheros:

dspace.cfg

Ubicación: [dspace-dir]/dspace/config/dspace.cfg

Ahí tenemos que cambiar en la propiedad handle.prefix por el número que nos dieron (suponiendo que fuera el 100000 sería así)

handle.prefix= 100000
config.dct


Añadir las siguientes líneas al fichero. Hay que insertarlas al final despues del ultimo texto escrito y manteniendo las comillas dobles

"storage_type" = "CUSTOM"
"storage_class"="org.dspace.handle.HandlePlugin"

5- Al poco tiempo, si hay suerte en 1 hora te mandan la confirmación por lo tanto solo queda arrancar el servidor handle:
(Antes de ello por si acaso reiniciamos el tomcat aunque no suele ser necesario)

[dspace_dir]/bin/start-handle-server

NOTA: Es recomendable incluir la rutina anterior en un cronjob dado que si se reinicia la máquina está bien no tener que acordarse de arrancar este proceso.

Posibles fallos

  • Sino arranca comprobar que los puertos 8000 y 2642 estén correctamente abiertos
  • Encriptación de las claves.
  • Una vez arrancado el servidor de handle comprobar en el fichero error.log (ubicado en la carpeta handle-server) si hay algun problema.

6- Actualizar los handle antiguos (Solo en caso de tener items con el antiguo handle)

Se puede dar el caso de que apliquemos nuestro nuevo handle y que ya haya items con el handle antiguo, es decir, que los nuevos items que ya introducimos vendrán con el nuevo handle mientras que los items antiguos tendrán el que viene por defecto es decir el 123456789.
Para actualizar el antiguo handle al nuevo hay que ejecutar la siguiente línea en un terminal:

[dspace]/bin/dspace update-handle-prefix antiguo_handle nuevo_handle

EJ (suponiendo que el nuevo handle sea 10000):

[dspace]/bin/dspace update-handle-prefix 123456789 10000 


Más información en:
https://wiki.duraspace.org/display/DSDOC/Installation#Installation-TheHandleServer

 

 

Métodos apilados de autenticación

Con esta entrada veremos cómo apilar consecutivamente distintos métodos de autenticación que ofrece DSpace.

Posiblemente durante nuestra configuración del sistema DSpace nos hemos encontrado con que queremos activar el sistema de autenticación LDAP y, una vez configurado y activado, vemos que desaparece nuestra antigua forma de acceso al DSpace.

Es por ello que DSpace ha creado un sistema de pila, métodos stackables de autenticación para que pueda convivir más de un tipo, de forma que si uno falla pasa al siguiente.

Si queremos activar ambos sistemas de autentificación, es decir el que viene por defecto, la autenticación interna,  en Dspace y el sistema por LDAP no hay más que editar el fichero dspace.cfg ubicado en el directorio siguiente:

[dspace-dir]/dspace/config/dspace.cfg

y  buscamos el plugin correspondiente para activarlo:

plugin.sequence.org.dspace.authenticate.AuthenticationMethod

Ahí cambiamos su valor por lo siguiente:

plugin.sequence.org.dspace.authenticate.AuthenticationMethod = \       
org.dspace.authenticate.LDAPHierarchicalAuthentication,\       
org.dspace.authenticate.PasswordAuthentication

De tal forma que ahora al identificarnos en dspace nos aparecerá una nueva ventana en la que nos indicará si queremos usar el LDAP como medio de autentificación o el que venía por defecto.

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

Depositando items mediante emails

Una opción a valorar cuando requerimos que una comunidad amplia, esporádica y posiblemente indefinida de usuarios depositen objetos en nuestro repositorio es no usar la UI de Dspace (registro de usuario y unas cuantas pantallas de definción del objeto, bastante intimidatorias en ocasiones) sino usar otro tipo de aplicaciones, más sencillas o simplemente más conocidas y habituales.

Ya hemos comentado en este blog el uso de aplicaciones como EasyDeposit, escrita en PHP y usando el protocolo SWORD, pero hoy, del blog de Stuart Lewis (siempre sorprendiéndonos) os traemos un sistema más deconstruido, si cabe, basado en el envío de correos electrónicos…

  1. Por parte del usuario, simplemente se necesita un cliente de correo para poder realizar los envíos a una cuenta de correo predefinida por el administrador de Dspace.

En el lado de Dspace, una serie de elementos más:

  1. la cuenta de correo a donde nos envían los archivos
  2. un programa PHP de comprobación del buzón de dicha cuenta, empaquetado y envío a DSpace
  3. Dspace con protocolo SWORD activado
  4. (y el tratamiento posterior de completar metadatos, aprobar envío, etc, del flujo de tratamiento de envíos normal)

Aquí os contamos los pasos para poder usar instalar y configurar una aplicación de este estilo, a modo de mini-guía.

La aplicación básicamente consiste en un programa PHP que comprueba los email llegados al INBOX, chequea los correos sin leer y los empaqueta y envía a nuestro repositorio Dspace. Esto significa que no es una aplicación ejecutándose contínuamente en modo servidor, sino que el usuario administrador de Dspace debe de ejecutar esta aplicación cada vez que hay que leer los mails. Se podría activar un procedimiento que se repitiera cada cierto periodo de tiempo, como por ejemplo mediante los cronjobs de Unix o las tareas programadas de Windows.

Explicando lo que hay que hacer para que configurar la aplicación de modo básico:

  • Configurar dspace para que acepte aplicaciónes sword. Para ello consultad este post sobre cómo hacerlo.
  • Instalar un cliente php capaz de ejecutar la aplicación en línea de comandos.  (PHP5)
  • Seguir los pasos de esta página para instalar php mailparse. Prestad atención si usáis Ubuntu en una versión superior a la 9.10, hay comentarios en los foros que explican como hacer que funcione para estas versiones.
  • Si no estamos usando Ubuntu, podemos seguir los pasos en la siguiente página http://wiki.cerb4.com/wiki/Installing_PHP_Mailparse.
  • Tener una cuenta de correo con cualquier servidor de correo que soporte IMAP. p.ej gmail, pero acordarse de activarlo en las opciones del correo.
  • Descargarse la aplicación de esta dirección http://php.swordapp.org. Una vez descomprimida y con la aplicación en la carpeta examples/imap-email, vemos que contiene unas librerías para el tratamiento de los mensajes de correo.
  • Configurar el fichero examples/imap-email/configuration.php con vuestros datos

Ejemplo de configuración para gmail:

$imaphost = ‘{imap.gmail.com:993/imap/ssl}INBOX’;

$mailuser = ‘mi_correo_al_que_van_los_depositos@gmail.com’;

$mailpassword = «contraseña_del_correo»;

$swordurl = ‘http://192.168.1.1:8080/sword/deposit/123456789/1’;

(es decir dirección ip o nombre donde está dspace, incluyendo el puerto, a continuación el directorio donde está desplegado el SWORD y por último la colección a la cual van a ir los depósitos)

$sworduser = ‘usuario_administrador@arvo.es’;

(usuario con privilegios de inserción)

$swordpassword = ‘contraseña_usuario_dspace’;

 

La prueba de que todo está correctamente configurado, es simple, enviamos desde cualquier usuario un correo a la cuenta de gmail con datos de prueba, es decir con el fichero a depositar como atachment. Una vez hecho,  ejecutar la aplicación en linea de comandos, imap-email.php. Veréis como marca los correos como leidos y a continuación los envia a la colección que le indicamos en la configuración.