Tag Archives: sword

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.

SWORD

¿Qué es?
Sword es un protocolo usado en repositorios para poder realizar envios de contenidos desde otras aplicaciones. Sus siglas corresponde a Simple Web-service Offering Repository Deposit, es decir un Servicio Web simple que ofrece sevicios de depósito en un repositorio.

¿Para qué sirve?
Activar el protocolo Sword en el repositorio DSpace nos puede permitir acceder, mediante un servicio web, a realizar envíos directos al repositorio. Lo interesante de esta práctica es que se puede configurar el servicio de envío para poder simplificar u omitir pasos del proceso de envíos y que cualquier usuario registrado o no registrado en el repositorio pueda insertar sus contenidos de forma simple.
Poniendo un ejemplo, en un repositorio sólo los usuarios definidos pueden dar de alta contenidos. Si en este repositorio se quisiese ampliar el servicio de envíos, tendríamos que definir una cuenta por usuario, proceso realmente tedioso, complicado por el proceso de establecimiento de permisos, la correcta definición de colecciones destino, etc… El otro problema de este modelo de registro previo es que a priori no sepamos qué usuarios van a subir información.
En este escenario, una opción a valorar es habilitar el protocolo SWORD y habilitarlo en una Web en la cuál, cualquier usuario pueda subir información directamente al repositorio sin necesidad de registrarse. De esta forma no nos preocuparía el número de usuarios o si tenemos que darles permisos, ya que ese proceso se gestionaría por la apliación web. Posteriormente al depósito, un usuario cualificado del repositorio, p.ej. bibliotecario, se encargaría de validar y complementar los datos recibidos.

Clientes SWORD
easydeposit: http://easydeposit.swordapp.org/
BibApp: http://bibapp.org/
Open Journal System:  http://pkp.sfu.ca/?q=ojs
Microsoft Word: http://research.microsoft.com/en-us/projects/authoring/

Repositorios que aceptan el protocolo SWORD
arXiv: http://arxiv.org/
Dspace: http://www.dspace.org/
EPrints: http://www.eprints.org/
Fedora: http://fedoraproject.org/es/
Intralibrary: http://www.intrallect.com/
Microsoft Zentity: http://research.microsoft.com/en-us/projects/zentity/

Instalación de Easydeposit

Easydeposit es un cliente SWORD, extremadamente configurable,  capaz de efectuar depósitos en un repositorio DSpace. Mediante las instrucciones siguientes se va a explicar el procedimiento para instalar esta aplicación y poder usarlo.

Estas instrucciones solo se componen de la instalación de la herramienta, no incluye la configuración del DSpace ni la configuración detallada de Easydeposit. Para ajustar la configuración de DSpace, consultad otro artículo de este blog.

INSTALACIÓN DEL EASYDEPOSIT

Requisitos previos:

Instalación:

  • Descargamos la aplicacion de la siguiente dirección: http://easydeposit.swordapp.org/download/ y la descomprimimos en nuestro directorio que soporte PHP, por lo general suele ser /var/www/, en windows depende de donde lo hayamos guardado, pero por lo general un programa apache siempre tiene una carpeta www en donde colocar los archivos.
  • Una vez copiado la aplicación en el directorio, cerciorarse de que easydeposit tiene todos los permisos de acceso, lectura  y escritura, sino aplicamos un chmod 777 -R a la carpeta easydeposit
  • Abrir el fichero /easydeposit/application/config/config.php. Alli cambiar la linea $config['base_url'] =’’  por esto:

$config['base_url']    = ‘http://localhost/easydeposit/’; (si no está en localhost introducir la dirección en la que está localizada)

  • Una vez hecho localizamos la linea $config['index_page'] = ‘’;  y la modificamos por la siguiente:

$config['index_page'] = ‘index.php’;

Esto hará que las redirecciones del programa las haga correctamente.

  • Por último borramos el fichero .htaccess ubicado en /easydeposit/. Si no lo vemos con el navegador de carpetas habilitamos la función de ver archivos ocultos, ya que por lo general los .htaccess son ficheros ocultos.
  • Una vez hecho esto, accedemos a nuestro easydeposit para probarlo. Pra ello abrimos un navegador e introducimos la dirección que introducimos en $config[‘base_url’].  En nuestro caso:

http://localhost/easydeposit

 

Para más información sobre easydeposit acudí a la página oficial o al blog de Stuart Lewis, el padre de la criatura.

http://blog.stuartlewis.com/2010/02/03/easydeposit-sword-deposit-tool-creator/

http://easydeposit.swordapp.org

Un Manual de uso:

http://repositorynews.wordpress.com/2010/06/04/easydeposit-the-sword-client-creation-toolkit/

 

 

 

Configurar SWORD en DSpace

Uno de los módulos que incluye DSpace es el soporte del protocolo SWORD, de hecho,  viene instalado por defecto en DSpace. Los usuarios que les interese adaptar su repositorio con esta tecnología lo pueden hacer de forma simple.

Para ello he elaborado una pequeña guía para poder configurar correctamente el SWORD en nuestro DSpace, por lo que con una serie de pasos podamos activarlo y poder hacer uso de él.

INSTRUCCIONES

Modificar las lineas del fichero de configuración dspace.cfg ubicado en /[directorio de despliegue]/config/

Buscamos las lineas: # sword.deposit.url = http://www.myu.ac.uk/sword/deposit

Ahí quitamos el comentario (#) y ponemos la direccion web donde se encuentra DSpace, finalizando la url en     /sword/deposit por ejemplo (aunque esté en local, usar mejor la dirección IP de la máquina, y no olvidarse de especificar el puerto):

sword.deposit.url = http://192.168.1.100:8080/sword/deposit

La otra linea a cambiar es ésta:

# sword.servicedocument.url = http://www.myu.ac.uk/sword/servicedocument

Ahí quitamos el comentario y como antes, ponemos nuestra url de DSpace

sword.servicedocument.url = http://192.168.1.100:8080/sword/servicedocument

NOTA: Es muy importante acordarse que después de la dirección del DSpace hay que introducir la ruta /sword/deposit , /sword/servicedocument. Y también, no usar localhost como dirección ya que si el dspace está en una máquina diferente al  cliente no funcionará el envío.

Como último paso hay que configurar las URLs que usarán los enlaces a los items depositados via SWORD.  Si DSPACE no está como aplicación raiz en el servidor de aplicaciones Tomcat,  deberemos cambiar el parámetro por defecto de la configuración, en nuestro caso:

sword.media-link.url = http://192.168.1.100:8080/sword/media-link

Para probarlo. reiniciamos el tomcat y escribimos en un navegador la dirección del DSpace seguido de /sword/servicedocument

Ejemplo: http://localhost:8080/sword/servicedocument

La primera indicación de que todo va bien es que un cuadro de diálogo pedirá un usuario y contraseña. Introduciendo uno que tenga privilegios de submisión en DSpace,  podrás descargar el fichero xml correspondiente al servicedocument, comprobación de que tenemos DSpace correctamente configurado y listo para aceptar depósitos…..

Probando SWORD en el taller del OR2010

La presentación de SWORD por Stuart Lewis, aunque se realizó el viernes por la tarde, tuvo un aforo completo.  El  reclamo era ” Have you heard about SWORD but are unsure of why or how you should use it?” que es algo así como “todo lo que siempre quiso saber sobre SWORD pero nunca se atrevió a preguntar”. Y como somos curiosos, allí que aparecimos.

El workshop,  que instaba a aparecer con un portátil para un entendimiento efectivo de las explicaciones, tras una explicación general del protocolo SWORD, qué hace y cómo funciona, se adentró enseguida en lo práctico:

  • Prueba de diferentes clientes
  • Configuración y uso del toolkit de Easydeposit
  • Realización de depósitos a diferentes repositorios
  • Demostración para añadir nuevos pasos en el envío al repositorio

El objetivo del workshop, plenamente cumplido. Os recomendamos la consulta del blog de Stuart

http://blog.stuartlewis.com/

http://easydeposit.swordapp.org