Archivos de Tags: correo

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.