Nuestra solución no fue usar ese módulo, principalmente por descubrirlo un poco tarde, esto nos llevó a desarrollar un módulo que llamamos Service Provider. Antes de hablar del módulo en cuestión me tomaré dos o tres párrafos para explicar el protocolo OAI-PMH, para que se entienda mejor en que consistió el trabajo.
El protocolo OAI-PMH sirve para regir el intercambio de información Open Access entre repositorios o revistas científicas, es un simple mecanismo de preguntas y respuestas. La información viaja en formato XML y el estándar de metadatos en el que están descritos los documentos generalmente es el Dublin Core, aunque se puede usar cualquier otro estándar.
El protocolo incluye dos componentes fundamentales los proveedores de datos, encargados de recibir la petición y devolver el XML y el proveedor de servicios encargado de encuestar y recibir y procesar la respuesta. Si se desea saber más del protocolo pueden ir al sitio http://www.openarchives.org/pmh/
No hubo necesidad de implementar nada para el proveedor de datos, pues Drupal cuenta con el módulo OAI2forCCk que implementa perfectamente el proveedor de datos. El problema fue el proveedor de servicios.
Que se hizo: Sencillo, implementar un proveedor de servicio, para ello se uso xml2array (llamémosle librería de php, aunque es una simple página .php) que permitió dada la petición en forma de url retornar una estructura de arreglos con el contenido del XML. Luego esta estructura fue leída y convertida a nodos de drupal. Resumiendo en tres sencillos pasos:
- Hacer la petición URL.
- Pasar el resultado a xml2array.
- Obtener el resultado y convertir el contenido del arreglo en nodos de Drupal.
En realidad explicar todo el proceso es bastante largo, en el próximo artículo se explicará cada uno de los tres pasos. Espero que la idea haya quedado clara, en el próximo post se verá como concretarla.
No hay comentarios:
Publicar un comentario