Sistema colaborativo de gestión de referencias
Texto completo
(2) A mis padres Xiomara y Carlos. A mis abuelos. A Ronny. —Anne. A mis padres y abuelos. A Anne. —Ronny.
(3) AGRADECIMIENTOS. A través de estas sencillas pero sinceras líneas queremos expresar nuestra gratitud hacia todas aquellas personas que de una forma u otra han contribuido a la realización de este trabajo. A nuestra familia, en especial a nuestros padres y abuelos, a quienes está dedicado este trabajo, por el esfuerzo y sacrificio que ha significado para ellos todos estos años de estudios. A nuestros amigos y compañeros. A nuestros tutores Dr. José Rivero Díaz, Ing. Dannis Rivero Cañizares y Lic. Erick Olivera, por su asesoría y orientación. A los compañeros del CDICT, en especial a los trabajadores de la Editorial Samuel Feijóo, por la ayuda y apoyo brindado durante estos años de trabajo. A la comunidad Drupal, gracias a la cual Drupal se ha convertido en lo que es hoy..
(4) PENSAMIENTO. Todo lo que tiene valor en la sociedad humana depende de la oportunidad que le da al individuo para desarrollarse.. All that is valuable in human society depends upon the opportunity for development accorded the individual.. — Albert Einstein.
(5) RESUMEN La compartición de referencias bibliográficas es de gran importancia en una comunidad de investigadores. Con el desarrollo del paradigma de la “Web 2.0”,. las comunidades de. investigadores pueden usar la web para gestionar sus referencias bibliográficas a través de un proceso colaborativo. El presente trabajo consiste en el desarrollo de un prototipo de sistema colaborativo para la gestión de referencias bibliográficas en el Centro de Documentación e Información Científico-Técnica de la Universidad Central de Las Villas. El sistema se implementa como una aplicación web usando la plataforma de gestión de contenidos Drupal debido a las ventajas que ofrece para el desarrollo rápido, seguro, y extensible de este tipo de aplicación. El prototipo de sistema desarrollado se basa en estándares y ofrece facilidades para realizar el proceso de gestión de referencias en forma colaborativa y adecuada a las necesidades reales de los investigadores de nuestra Universidad y nuestro sistema educacional..
(6) ABSTRACT Sharing of bibliographic information is very important in a research community. With the development of the "Web 2.0" paradigm, communities of researchers can use the Web to manage their references through a collaborative process. This work is about the development of a prototype system for collaborative management of bibliographic references at the Center of Technical Scientific Documentation and Information from the Central University of Las Villas. The system is implemented as a web application using the Drupal content management platform due to the advantages it offers for the development of fast, secure, and extensible web applications. The prototype system was developed based on standards and provides facilities for conducting the process of managing references in a collaborative manner and appropriate to the real needs of researchers from our university and our educational system..
(7) CONTENIDO INTRODUCCIÓN............................................................................................................................................. 1 CAPÍTULO 1 - Descripción de los procesos de gestión de referencias ........................................................ 5 1.1. Referencias bibliográficas ............................................................................................................. 6. 1.2 Particularidades de los procesos investigativos con los sistemas de gestión bibliográfica actuales ..................................................................................................................................................... 7 1.3. Sistema colaborativo de gestión bibliográfica .............................................................................. 8. 1.3.1. Particularidades de un sistema colaborativo de gestión de referencias bibliográficas ........ 9. 1.3.2. Definición de conceptos...................................................................................................... 15. CAPÍTULO 2. Tecnologías y plataforma de desarrollo ................................................................................ 18 2.1. Esquema de metadatos y ontología ........................................................................................... 19. 2.2. Lenguaje para el formato de referencias bibliográficas ............................................................. 20. 2.3. Tecnología de notificación y redifusión ...................................................................................... 22. 2.4. Tipo de aplicación ....................................................................................................................... 24. 2.5. Plataforma de desarrollo ............................................................................................................ 24. 2.6. ¿Por qué Drupal como plataforma de desarrollo? ..................................................................... 25. 2.7. Plataforma de ejecución ............................................................................................................. 28. 2.8. Proyecto ...................................................................................................................................... 30. CAPÍTULO 3. Arquitectura e implementación del sistema ......................................................................... 31 3.1. Modelos del negocio ................................................................................................................... 32. 3.2. Modelos de casos de uso ............................................................................................................ 34. 3.2.1. Actores y casos de uso del sistema ..................................................................................... 35. 3.2.2. Descripción de los casos de uso generales de cada actor .................................................. 39. 3.3. Módulos del sistema ................................................................................................................... 42.
(8) 3.3.1. Descripción de los módulos ................................................................................................ 43. 3.3.2. Módulos de terceras partes (contrib modules) .................................................................. 44. 3.4. Diseño de la Base de Datos ......................................................................................................... 44. 3.4.1. Diseño ................................................................................................................................. 44. 3.4.2. Implementación .................................................................................................................. 45. 3.5. Modelo de implementación........................................................................................................ 47. 3.6. Detalles de la implementación ................................................................................................... 48. 3.6.1. Estructura de directorios .................................................................................................... 49. 3.6.2. Otras funciones ................................................................................................................... 50. 3.7. Modelo de despliegue ................................................................................................................ 52. CAPÍTULO 4. Gestión colaborativa de referencias bibliográficas usando RefColab ................................... 53 4.1. Solicitud de cuenta de usuario (registro) .................................................................................... 54. 4.2. Acceso al sistema ........................................................................................................................ 57. 4.2.1. Recuperación de contraseña .............................................................................................. 58. 4.3. Gestión de referencias ................................................................................................................ 59. 4.4. Gestión de colecciones ............................................................................................................... 60. 4.5. Etiquetado de referencias ........................................................................................................... 62. 4.6. Redifusión (Sindicación RSS) ....................................................................................................... 63. 4.7. Ayuda contextual ........................................................................................................................ 63. CONCLUSIONES ........................................................................................................................................... 64 RECOMENDACIONES ................................................................................................................................... 65 BIBLIOGRAFÍA.............................................................................................................................................. 66.
(9) INTRODUCCIÓN Durante un proceso investigativo generalmente se consultan y referencian grandes y diversos volúmenes de información. En las investigaciones actuales no solo se consultan libros, sino que una gran variedad de información es consultada y manejada, proveniente de varias fuentes como Internet o Intranets. Para gestionar y organizar las referencias y citas bibliográficas que consultan los investigadores durante un proceso investigativo, ya existen desde hace mucho tiempo los llamados “gestores bibliográficos”, que son programas para recolectar, ordenar, corregir, agrupar y exportar citas y referencias bibliográficas. La mayoría de los gestores bibliográficos que existen actualmente fueron diseñados para uso personal, para gestionar y mantener bibliotecas de referencias personales de un investigador o de una investigación específica. Sin embargo, en un proyecto de investigación colaborativo, donde participa un equipo de investigadores, cada uno. tiene la necesidad de compartir las referencias. bibliográficas que están siendo usadas y consultadas durante el proceso investigativo. Tradicionalmente, este intercambio de referencias se ha estado haciendo a través del correo electrónico, o a través de simples transferencias de archivos. Con el paradigma de la “Web 2.0”, en el cual las comunidades virtuales usan la web para generar información a través de un proceso colaborativo, ha cambiado el rol de los sistemas de gestión de referencias. Aunque los gestores bibliográficos han sido usados con éxito, su naturaleza de programas standalone o de uso personal, no permiten que se utilicen de forma efectiva en un proceso de investigación colaborativo. Un estudio de las herramientas de gestión de referencias usadas en la comunidad científica de nuestra universidad revela que los investigadores no disponen de una herramienta que favorezca la publicación y compartición de información sobre referencias bibliográficas. No existe una herramienta que permita compartir enlaces, referencias a publicaciones de interés, escribir sobre sus impresiones acerca de estos, así como compartir referencias bibliográficas y otros materiales usados durante una investigación..
(10) INTRODUCCIÓN. El “Sistema Colaborativo para la gestión de referencias” es un prototipo de sistema que les permitirá a los investigadores compartir informaciones bibliográficas,. una herramienta. personalizada y adecuada a las necesidades reales de los investigadores de nuestra Universidad y nuestro sistema educacional.. Objetivo general Desarrollar un prototipo de aplicación web colaborativa para la gestión de referencias bibliográficas y materiales de investigación que permita a la comunidad científica una fácil gestión, publicación y compartición de referencias durante un proceso investigativo, usando estándares que aseguren la compatibilidad e interoperabilidad del sistema con otros sistemas existentes.. Objetivos específicos 1. Diseñar un sistema que se adecue a las necesidades reales de los investigadores de la comunidad científica universitaria y del sistema educacional cubano. 2. Estudiar y seleccionar las tecnologías y plataformas de desarrollo más adecuadas para el desarrollo a largo plazo de la aplicación. 3. Desarrollar el núcleo de la aplicación y los mecanismos de extensión y actualización de esta. 4. Implementar los módulos básicos. 5. Documentar el uso del sistema. 6. Documentar las API y mecanismos de interoperabilidad con otras aplicaciones.. Preguntas de investigación 1. ¿Cuáles son los gestores bibliográficos más utilizados en la UCLV durante el desarrollo de una investigación? 2. ¿De qué facilidades carecen? 2.
(11) INTRODUCCIÓN. 3. ¿Es posible desarrollar una herramienta colaborativa en línea con las facilidades de los gestores bibliográficos y que, además, le permita a los investigadores intercambiar y compartir materiales de investigación de forma colaborativa? 4. ¿Qué tecnologías y plataformas de desarrollo son las más adecuadas para el desarrollo de la aplicación?. Justificación de la investigación La investigación tiene un carácter investigativo y práctico. Se ha desarrollado un estudio sobre los sistemas de gestión de referencias que se usan actualmente y las limitaciones que estos presentan. Además se han investigado los estándares y recomendaciones que se usan en los sistemas de gestión bibliográfica así como las principales herramientas y tecnologías adecuadas para el desarrollo de este sistema. Como resultado de este proyecto se ha desarrollado un prototipo de aplicación que permitirá acceder, recolectar, organizar, intercambiar y compartir referencias bibliográficas de forma colaborativa. La herramienta brindará la posibilidad de colaborar, comparar y compartir resultados con mayor facilidad durante un proceso investigativo. El proyecto tiene la posibilidad de convertirse en un potente sistema académico y educacional, personalizado a la medida de nuestro sistema de educación, pero extensible y adaptable con las nuevas tecnologías y estándares. Significa un importante aporte contar con una herramienta propia de este tipo con características similares a las de los sistemas propietarios que se usan actualmente, pero con las particularidades de ser un sistema colaborativo, de código abierto y siguiendo los estándares propuestos. Es viable desarrollar este proyecto porque se pueden garantizar los recursos materiales y humanos que el mismo requiere y los resultados a alcanzar posibilitan la obtención de una aplicación que podrá ser usada por la comunidad científica universitaria. Por lo anteriormente planteado, se comenzó el desarrollo del “Sistema Colaborativo de gestión de Referencias”. 3.
(12) INTRODUCCIÓN. Organización del documento CAPÍTULO 1. Descripción de los procesos de gestión de referencias: en este capítulo se describen los procesos actuales de gestión de referencias y las particularidades del sistema de gestión colaborativo que proponemos. CAPÍTULO 2. Tecnologías y plataforma de desarrollo: en este capítulo abordamos las principales características de las tecnologías y plataforma seleccionadas para el desarrollo. CAPÍTULO 3. Arquitectura e implementación del sistema: en este capítulo se presentan las diferentes vistas de los modelos fundamentales obtenidos a lo largo del proceso de desarrollo, que en su conjunto constituyen la descripción de la arquitectura del prototipo de aplicación. Se exponen, además, varios detalles de la implementación y aspectos que se han tenido en cuenta durante el desarrollo. CAPÍTULO 4. Gestión colaborativa de referencias bibliográficas usando RefColab: en este capítulo se describen las principales funcionalidades del sistema en el proceso de gestión colaborativa de referencias bibliográficas y la interacción con la interfaz de usuario.. 4.
(13) CAPÍTULO 1 — Descripción de los procesos de gestión de referencias.
(14) CAPÍTULO 1 - Descripción de los procesos de gestión de referencias. En el presente capítulo se abordan los aspectos fundamentales relacionados con los procesos de gestión de referencias bibliográficas. Primeramente se exponen las características básicas de estos procesos y de los sistemas especializados en organizar, referenciar y compartir información bibliográfica. Luego se plantean las características de un sistema de gestión en forma colaborativa, así como las tecnologías y herramientas que deben considerarse para desarrollar el sistema y el análisis en el que se basaron esas decisiones.. 1.1 Referencias bibliográficas Una referencia bibliográfica o cita bibliográfica es una referencia a un libro, artículo, página web, o cualquier otro recurso publicado, con suficientes detalles para que sea posible identificarlo de forma única y localizarlo. Actualmente son usados diferentes estilos y sistemas de citas bibliográficas en diferentes sectores e instituciones investigativas. El contenido de una cita o referencia bibliográfica puede incluir varios datos, por ejemplo: Libros: autor(es), título, editorial, fecha de publicación, números de las páginas referenciadas, etc. Publicación periódica: autor(es), título del artículo, título de la publicación, volumen y edición, etc. Recurso en la Web: URL, autor (es), título, fecha de publicación, etc. Además de esta información, las referencias deben incluir un único identificador dependiendo del tipo de trabajo referido, por ejemplo, los libros deben tener un ISBN (International Standard Book Number), las publicaciones periódicas deben tener asociado el identificador SICI (Serial Item and Contribution Identifier), los documentos electrónicos deben tener un identificador DOI (Digital Object Identifier), etc. Las referencias bibliográficas son gestionadas por los gestores bibliográficos. Generalmente existen varios sistemas y estilos de referencias bibliográficas.. 6.
(15) CAPÍTULO 1 - Descripción de los procesos de gestión de referencias. 1.2 Particularidades de los procesos investigativos con los sistemas de gestión bibliográfica actuales Durante un proceso investigativo generalmente se consultan grandes y diversos volúmenes de información. En las investigaciones actuales no solo se consulta gran cantidad de libros sino que una gran variedad de información es consultada y manejada, proveniente de varias fuentes como Internet e Intranets, etc. De esta forma son recolectados documentos electrónicos de todo tipo: enlaces a páginas, a blogs, datos de libros en formato electrónico, artículos, archivos PDF, imágenes, vídeos, notas y referencias… Durante la consulta de bibliografía y material de investigación, la mayoría de los investigadores toman notas de los recursos que consultan. Por ejemplo, cuando se está leyendo un libro se subrayan frases, se escriben comentarios, opiniones y puntos de vista con respecto al material consultado. Este proceso puede realizarse con la mayoría de los gestores bibliográficos disponibles en la actualidad. Existe gran variedad de dichos gestores, que en general son diseñados para asistir a los investigadores en las tareas siguientes: Catalogación manual de referencias bibliográficas relacionadas con áreas de estudio e investigación. Colección y organización automática de referencias desde bases de datos bibliográficas y catálogos. Búsqueda y recuperación de conjuntos bibliográficos. Integración con procesadores de textos para insertar y formatear citas y referencias de forma automática. Formateo de referencias de acuerdo con un estilo bibliográfico en particular. Exportación de los datos almacenados para que puedan ser usados en otros paquetes o gestores. 7.
(16) CAPÍTULO 1 - Descripción de los procesos de gestión de referencias. Sin embargo, la mayoría de estos sistemas de gestión bibliográfica que se ejecutan como aplicaciones de escritorio, no tienen facilidades para que se publique, comparta, y se colabore en procesos investigativos. Uno de los principales objetivos en una investigación, es que las anotaciones, referencias y recursos de investigación sean compartidos y consultados por otros investigadores del equipo que estén interesados en hacerlo. De esta forma, investigadores con intereses similares pueden intercambiar referencias bibliográficas, comentar sobre referencias bibliográficas consultadas por otros, etc. Otro aspecto importante es que la mayoría de los sistemas de gestión de referencias que se usan en nuestra Universidad son propietarios y no se dispone de su código fuente, lo que imposibilita totalmente que se extiendan con nuevas funcionalidades o se puedan integrar fácilmente con otras herramientas.. 1.3 Sistema colaborativo de gestión bibliográfica Los gestores bibliográficos standalone, como se ha explicado antes, funcionan perfectamente cuando se usan para la gestión de bibliotecas personales o de una investigación específica; sin embargo, cuando se quiere compartir las referencias bibliográficas entre investigadores que desean colaborar entre ellos se requiere un proceso adicional.. Las comunidades de. investigadores necesitan compartir información bibliográfica entre ellas, ya que la mayoría de las investigaciones dependen de un equipo y no de un investigador trabajando de forma individual. De esta forma se requiere una herramienta que además de gestionar la bibliografía permita comentar acerca de esta información, categorizarla de forma colaborativa y estar al tanto del desarrollo y crecimiento de la colección de referencias que estén relacionadas con su investigación. A continuación se explica como ejemplo un escenario donde se demuestra que los gestores bibliográficos carecen de ciertas funcionalidades que. permiten desarrollar una gestión. bibliográfica de forma colaborativa: Supongamos que un investigador A consulta un artículo en una revista científica de su interés y crea en su gestor bibliográfico una entrada referenciando el artículo. Con el uso de un gestor 8.
(17) CAPÍTULO 1 - Descripción de los procesos de gestión de referencias. bibliográfico puede tomar notas sobre el artículo, categorizarlo, y escribir comentarios sobre su punto de vista y almacenar esa información en su biblioteca de referencias personales. Un investigador B, que trabaja en otro departamento de investigación, pero con intereses de investigación similares al investigador A, también consulta el artículo científico mencionado y de igual forma crea una entrada en su gestor para referenciar dicha publicación. A los investigadores A y B les gustaría intercambiar sus notas y opiniones con respecto al artículo consultado, así como publicar sus impresiones para que puedan ser leídas por estudiantes y compañeros de investigación. Un investigador C que recién inicia investigaciones en los mismos temas que A y B está interesado en conocer la bibliografía que estos consultan, sus comentarios y notas públicas. Además, está interesado en ser notificado cada vez que A o B publique una nueva referencia bibliográfica, comentario o nota sobre temas de su interés. Por otra parte, es de su interés importar las referencias bibliográficas publicadas por A y B para su biblioteca de referencias. Las plataformas de gestión que están disponibles actualmente no pueden usarse de forma efectiva para realizar estos tipos de procesos que fueron descritos en el escenario de ejemplo. Aunque existen aplicaciones de gestión de referencias que están diseñadas para colaborar entre investigadores y compartir referencias bibliográficas, estas carecen de las facilidades necesarias para que puedan ser usadas por toda una comunidad de investigadores en un proceso colaborativo. Además, la mayoría de estos gestores bibliográficos no están disponibles bajo una licencia adecuada o son software propietario, los cuales no se pueden extender con nuevas funcionalidades o adaptarse a las necesidades específicas de nuestro sistema educacional. 1.3.1 Particularidades de un sistema colaborativo de gestión de referencias bibliográficas De forma general, un sistema de gestión de referencias colaborativo como el que proponemos debe considerar los aspectos siguientes: 9.
(18) CAPÍTULO 1 - Descripción de los procesos de gestión de referencias. Acceso al sistema Los usuarios deben tener acceso al sistema de una forma fácil, independientemente de su sistema operativo, nivel de permisos en su estación de trabajo, etc. A menudo los investigadores utilizan distintas estaciones de trabajo en distintos lugares, por lo que deben tener acceso a su biblioteca de referencias desde cualquier estación de trabajo. Costo El costo de instalación del sistema debe ser minimizado en aras de que pueda adecuarse a las características del sistema educacional y ser accedido por toda la comunidad. Debe considerarse una licencia abierta para que el sistema pueda ser extendido y mantenido a medida que avanza la tecnología. Creación de referencias bibliográficas El proceso de creación de referencias bibliográficas debe ser sencillo y fácil, de forma tal que no se necesiten conocimientos avanzados del sistema para poder usarlo. Debe permitir a los usuarios importar sus bibliotecas de referencias bibliográficas actuales sin necesidad de crearlas nuevamente. Compartición de referencias bibliográficas y otros materiales de investigación Para que el proceso de gestión sea colaborativo, los usuarios investigadores deben ser capaces de compartir sus referencias bibliográficas y otros materiales de investigación, como son anotaciones y comentarios sobre las publicaciones. Además, deben poder importar referencias publicadas por otros usuarios en sus bibliotecas personales. Organización y categorización de las referencias Mediante el uso de una jerarquía de colecciones se podrán organizar las referencias. Una colección es un conjunto de referencias que corresponden a un proyecto de investigación o un área de interés específica. Las referencias están contenidas en colecciones. Una colección es como una carpeta que contiene referencias relacionadas con un proyecto o investigación específica. Los investigadores deben ser capaces de crear, editar, eliminar y manejar sus colecciones de referencias. 10.
(19) CAPÍTULO 1 - Descripción de los procesos de gestión de referencias. Etiquetado colaborativo Mientras que las colecciones son usadas para organizar las referencias en una jerarquía, el etiquetado libre y colaborativo de recursos se ha convertido en uno de los pilares fundamentales de las comunidades en línea donde los miembros de la comunidad tienen la libertad de categorizar o etiquetar los recursos, generándose así un sistema de categorización conducido por los usuarios y no limitado a un árbol “fijo” de categorías. Las referencias pueden ser etiquetadas con palabras clave o términos (etiquetas). Este tipo de categorización es conocido como Folcsonomía: calco del inglés folksonomy, que es un neologismo que da nombre a la categorización colaborativa por medio de etiquetas simples en un espacio de nombres llano, sin jerarquías ni relaciones de parentesco predeterminadas. Se trata de una práctica que se produce en entornos de software social cuyos mejores exponentes son los sitios compartidos como del.icio.us. 1. (enlaces favoritos), Flickr. 2. (fotos), Tagzania. 3. (lugares), etc. En estos sitios, los propios usuarios construyen el sistema de categorización mediante el etiquetado libre (en inglés conocido como tagging), lo que consiste en agregar a cada recurso una o más palabras o frases claves que desde su punto de vista lo identifiquen. La ventaja de este sistema de categorización está en que abre la posibilidad inmediata de hacer búsquedas guiadas por la etiquetas y de que puedan re-usarse las palabras clave usadas para categorizar los recursos. La desventaja que presenta este método consiste básicamente en que al ser libre la categorización, no necesariamente tiene que ser correcta, por ejemplo, una referencia etiquetada por un usuario como “Ajax” puede que no signifique nada o que pueda parecer incorrecta para otro usuario. Esta desventaja puede afrontarse, y para eso existen las nubes de etiquetas (tag clouds), donde las etiquetas que más predominan se muestran con un mayor tamaño.. 1. http:// del.icio.us. 2. http://flickr.com. 3. http://tagzania.com. 11.
(20) CAPÍTULO 1 - Descripción de los procesos de gestión de referencias. Una nube de etiquetas (tag cloud en inglés) es una representación visual de las “etiquetas” o palabras. Ajax, CGI, CMS, CCS, DOM,. clave usadas en un sistema de categorización libre.. drupal, FormAPI, google,. Generalmente este listado de palabras se ordena. humor, javascript, jquery,. alfabéticamente; las etiquetas más utilizadas se. JSON, licensing, OOP, performance,. representan con un tipo de letra de tamaño mayor. RSS, W3C, XML. que el resto.. Figura 1.3-1 – Nube de etiquetas. En un sistema colaborativo de gestión de referencias, los usuarios pueden etiquetar sus referencias y notas, así como las referencias y notas públicas de otros; formando así un potente sistema de categorización colaborativo conducido por los propios usuarios. A medida que crezca la librería de referencias, seguramente aparecerán nuevas categorías y nuevos temas, lo que es extremadamente costoso de mantener con una jerarquía o vocabulario limitado (taxonomías vs folcsonomías).. Las folcsonomías surgen cuando varios usuarios. colaboran en el etiquetado de las mismas referencias; aquellas que aparezcan con más frecuencia, o que coincidan, tendrán un mayor peso en la categorización de la referencia. El etiquetado libre fue popularizado por sitios Web 2.0 y es una importante característica de muchos servicios. Ahora es también parte de algunas aplicaciones de escritorio. Anotaciones Los investigadores generalmente hacen anotaciones sobre las publicaciones que consultan. Un sistema colaborativo debe permitir que los usuarios publiquen sus notas sobre las referencias bibliográficas, referencien notas de otros y tengan acceso a la información generada por otros usuarios en relación con las referencias bibliográficas. Las anotaciones podrían etiquetarse libremente al igual que las notas. Comentarios Otros de los pilares fundamentales de las comunidades en línea de la actualidad es la posibilidad de debatir, comentar y expresar criterios sobre la información disponible. En un sistema colaborativo de gestión de referencias, los miembros de la comunidad deben tener la 12.
(21) CAPÍTULO 1 - Descripción de los procesos de gestión de referencias. posibilidad de comentar y expresar sus puntos de vista en relación con una referencia bibliográfica específica o con criterios o comentarios de otros. La posibilidad de comentar y revisar críticamente una referencia bibliográfica genera nuevos contenidos y fuentes de información conducidas por usuarios. En general, un sistema colaborativo debe considerar que los usuarios comenten sobre las referencias y respondan a los comentarios de otros. Votaciones y evaluaciones En un sistema colaborativo conducido por usuarios no puede esperarse que todas las referencias bibliográficas agregadas tengan la calidad requerida. Lo mismo se aplica a los comentarios y notas. Un proceso de votación o evaluación de los recursos dará una medida de la calidad de una referencia, comentario o nota. Actualmente se usan varios sistemas de votación o evaluación, por ejemplo, que los usuarios puedan evaluar una referencia en una escala del 1 al 10; otro sistema mucho más sencillo es que simplemente puedan decidir asignándole un valor positivo o negativo a una referencia, comentario o nota. Independientemente del método de evaluación que sea usado, un sistema colaborativo guiado por usuarios debe considerar esta característica y ordenar los recursos de acuerdo con la evaluación que hayan recibido de los propios usuarios. De esta forma, recursos con bajas calificaciones tendrán menos significancia lo que contribuirá a que la información recolectada tenga la calidad requerida por la comunidad. Proceso de revisión En un sistema colaborativo, los usuarios que tengan permisos pueden publicar directamente información, no solo las propias referencias, sino como se ha explicado antes, los demás contenidos que se generan relacionados con las referencias. Para garantizar la exactitud y corrección de las referencias que sean añadidas, los usuarios pueden proponer revisiones a información que han agregado otros. En lugar de crear duplicados de lo que otro usuario suponga que sea la información correcta, debe proponerse una revisión a la referencia actual, en la cual pueden participar colaborativamente todos los miembros de la comunidad.. 13.
(22) CAPÍTULO 1 - Descripción de los procesos de gestión de referencias. Recursos adjuntos Como los gestores bibliográficos de escritorio, un sistema colaborativo debe considerar la posibilidad de que se adjunten recursos a las referencias, y que estos puedan ser utilizados por otros colaboradores, creándose así un repositorio abierto de información. Está claro que no todas las referencias pueden tener recursos adjuntos, y que esto depende del tipo de trabajo y de las licencias del mismo, pero sí existe una gran variedad de documentos que son compartidos por los investigadores con el objetivo de obtener revisiones y comentarios de otros investigadores con intereses similares. Grupos de trabajo y control de acceso Aunque en este trabajo se está considerando un sistema colaborativo abierto, de libre acceso, es de utilidad considerar la posibilidad de crear grupos de trabajo restringidos y controlar el acceso a los recursos del grupo (referencias, comentarios, archivos, etc.), de tal forma que solo los miembros del grupo puedan acceder. Esta característica está pendiente a debate en el momento en que se escribe este trabajo, por lo que se consideró inicialmente desarrollar un sistema que sea completamente sin restricciones. Notificaciones y redifusión A medida que crezca la comunidad, crecerá la biblioteca de referencias, por lo que debe considerarse un sistema de notificación y redifusión del contenido agregado. Los investigadores pueden estar interesados en recibir notificaciones cuando se hayan agregado referencias bibliográficas relacionadas con su investigación o áreas de interés, cuando se haya etiquetado una referencia con una etiqueta específica o cuando se haya creado un comentario en una de sus entradas referenciadas. Por otra parte, algunos investigadores, por ejemplo, estudiantes, tendrán la necesidad de estar al tanto de las nuevas referencias que agreguen sus profesores, de los comentarios que escriben o de las notas que publican. En general, en el sistema colaborativo debe considerarse un sistema de notificación que permita a los miembros de la comunidad estar al tanto de la evolución del sistema, de nuevas entradas que se agregan, de las repuestas a sus comentarios y del trabajo de otros investigadores con intereses o áreas de investigación similares. 14.
(23) CAPÍTULO 1 - Descripción de los procesos de gestión de referencias. Búsquedas Como los gestores bibliográficos de escritorio, un sistema colaborativo debe considerar la posibilidad de que se realicen búsquedas avanzadas en las bibliotecas de referencias públicas considerando varios criterios de búsquedas. Importación y Exportación Es importante que los nuevos usuarios no tengan que comenzar a crear sus bibliotecas desde cero, sino que puedan importar sus bibliotecas de referencias creadas en otros gestores bibliográficos no colaborativos. Además, los investigadores pueden estar interesados en exportar sus bibliotecas de referencias para su uso posterior en un contexto ajeno al sistema. Creación de bibliografías A menudo un investigador necesita crear una bibliografía a partir de las referencias que ha recolectado en el sistema, ya sean creadas por él o de las bibliotecas de otros miembros de la comunidad. El sistema colaborativo debe permitir la creación de bibliografías usando los diferentes estilos de citas que haya disponible. Debe considerarse que se puedan añadir nuevos estilos de referencias bibliográficas. Proceso de gestión El proceso de gestión es similar a los procesos de gestión de referencias que se realizan en cualquier otro gestor bibliográfico. Si se tiene la posibilidad de importar y exportar referencias en cualquier momento, el proceso de gestión se puede hacer usando cualquiera de los sistemas que el usuario disponga y que sea capaz de inter-operar con el sistema en línea.. Estas son un conjunto de las particularidades que diferencian a un sistema colaborativo de los sistemas de gestión standalone actuales. 1.3.2 Definición de conceptos Basados en las particularidades descritas anteriormente para el sistema colaborativo de gestión de referencias que proponemos, podemos definir los conceptos siguientes: 15.
(24) CAPÍTULO 1 - Descripción de los procesos de gestión de referencias. Referencia bibliográfica: Las referencias bibliográficas son los elementos principales del sistema. Llamamos referencia a cualquier referencia a un recurso que se consulta durante un proceso de investigación. Es evidente que puede referenciarse una gran variedad de recursos, cada uno de ellos con diferentes características. Entre los principales recursos que se pueden referenciar se encuentran: libros, secciones de libros, conferencias, artículos de enciclopedias, entradas blogs, página webs, materiales audiovisuales, etc. A cada uno de estos lo llamamos tipo de referencia. Tipo de referencia: Los tipos de referencia son los distintos tipos de recursos que pueden referenciarse, cada uno con características específicas. Una referencia a un libro es diferente de una referencia a una página web. Mientras que para referenciar un libro se necesita el título del libro, los autores, ISBN, etc., para referenciar una página web se necesita la URL de la página, autores, etc. Colección: Las colecciones son conjuntos de referencias agrupadas, por ejemplo correspondientes a un proyecto de investigación o a un área de interés específica. Las referencias están contenidas en colecciones. Una colección es como una carpeta que contiene referencias relacionadas. Etiquetas o palabras clave (tags): Las etiquetas o palabras clave (en inglés tags) son las marcas que asignan los investigadores a los recursos con el objetivo de categorizarlos. Véase Etiquetado colaborativo en el epígrafe anterior. Una etiqueta es una organización no-jerárquica, palabra clave o término asignado a una pieza de información (por ejemplo, una referencia, comentario, o archivo adjunto). Las etiquetas son elegidas informal y personalmente por el usuario. A medida que crezca la cantidad de referencias y que se etiqueten colaborativamente las referencias, esta colección de etiquetas se convierte en una folcsonomía. Notas: La mayoría de los investigadores toman notas de los recursos que consultan. Por ejemplo, cuando se está leyendo un libro se subrayan frases, se escriben comentarios, etc. Las notas 16.
(25) CAPÍTULO 1 - Descripción de los procesos de gestión de referencias. están relacionadas con las referencias y son creadas por los investigadores. Estas pueden ser privadas del investigador o estar publicadas para los demás miembros de la comunidad. Relaciones: Las referencias se relacionan entre sí, formando una red de referencias interrelacionadas. Comentarios: Los investigadores comentan y debaten sobre las referencias publicadas formando un hilo de discusión acerca de una referencia. Recursos adjuntos: A las referencias se les puede adjuntar recursos. Pueden adjuntarse ficheros imágenes, audio, documentos, etc., así como una foto instantánea (snapshot) de la página visitada, etc. Basados en estos conceptos, se obtuvieron diferentes modelos, resultantes de las sucesivas iteraciones de cada una de las fases de desarrollo del sistema.. 17.
(26) CAPÍTULO 2 — Tecnologías y plataforma de desarrollo.
(27) CAPÍTULO 2 – Tecnologías y plataforma de desarrollo. En este capítulo abordamos las principales características de las tecnologías y plataforma seleccionadas para el desarrollo de un sistema colaborativo de gestión de referencias, así como las ventajas que ofrece para el desarrollo, implementación, implantación, despliegue y explotación del sistema. La selección de las tecnologías y la plataforma se hizo teniendo en cuenta las particularidades del sistema que se propone y que fueron descritas en el capítulo anterior.. 2.1 Esquema de metadatos y ontología Un problema real en los sistemas de gestión bibliográfica actuales es la ausencia de modelos de datos consistentes y que cumplan con los requerimientos de las tecnologías actuales. Formatos estándares tales como BibTeX4, RIS 5y Refer6 fueron creados antes de la aparición de la WWW (World Wide Web), antes del amplio uso de fuentes electrónicas y de la aparición de tecnologías potentes de modelado como lo son RDF 7 y las bases de datos relacionales. Para el desarrollo de este proyecto se decidió usar la Ontología Bibliográfica8, la cual describe un modelo de datos general para referencias bibliográficas. Este vocabulario contiene las clases primarias: eventos, agentes y los tipos de referencias bibliográficas. Ha sido diseñado para ofrecer un modelo relacional sólido para los metadatos de las referencias y además provee un súper conjunto específico de tipos de referencias en formatos estándares como BibTeX, RIS, etc. La Ontología Bibliográfica proporciona los principales conceptos y propiedades para describir las citas y referencias bibliográficas (es decir, citas, libros, artículos, etc.) sobre la Web Semántica. Esta ontología puede ser utilizada como una ontología de referencias, como un 4. http://es.wikipedia.org/wiki/BibTeX. 5. http://en.wikipedia.org/wiki/RIS_%28file_format%29. 6. http://en.wikipedia.org/wiki/Refer_%28software%29. 7. http://www.w3.org/RDF/. 8. http://bibliontology.com/. 19.
(28) CAPÍTULO 2 – Tecnologías y plataforma de desarrollo. documento de clasificación, o simplemente como una manera de describir cualquier tipo de documento en RDF. Para su desarrollo se han inspirado en varios documentos existentes de descripción de formatos de metadatos, y puede ser usada como una base común para la conversión de otras fuentes de datos bibliográficos. La ontología apoya las necesidades más exigentes en las ciencias sociales, humanidades y derecho. Los usuarios pueden ser muchas personas o sistemas. Entre los usuarios actuales de la ontología se encuentran: sistema de referencias bibliográfica de OpenDocument y OpenOffice9, Zotero10, Zitgist11, portales de ventas de libros tales como Amazon12, Albiris. 13. y Abebooks14,. además de editores de libros y revistas, etc.. 2.2 Lenguaje para el formato de referencias bibliográficas El lenguaje utilizado para formatear las referencias bibliográficas es el CSL (Citation Style Language)15. CSL provee varias facilidades además de que es un potente lenguaje basado en XML para describir bibliografías y formatear referencias bibliográficas. Ha sido diseñado y desarrollado conjuntamente con CiteProc16. CSL es de código abierto y diseñado sobre una base sólida, lo que produce un lenguaje fácil de usar y que pueda utilizarse de un modo fiable para generar bibliografías y referencias formateadas en una amplia variedad de estilos usados en diferentes campos de investigación. El lenguaje está escrito basado en un lenguaje de esquemas que ofrece un incomparable poder y flexibilidad en la validación. El esquema explota. 9. http://wiki.services.openoffice.org/wiki/Bibliographic_Software_and_Standards_Information. 10. http://zotero.org. 11. http://www.zitgist.com. 12. http://amazon.com. 13. http://albiris.com. 14. http://abebooks.com. 15. http://xbiblio.sourceforge.net/csl/. 16. http://xbiblio.sourceforge.net/cite. 20.
(29) CAPÍTULO 2 – Tecnologías y plataforma de desarrollo. esta funcionalidad para proporcionar una validación exacta siempre que sea posible, pero manteniendo la flexibilidad, lo que tiene varios beneficios: primero, es más fácil desarrollar con el lenguaje usando editores/validadores de XML, y segundo la validación estricta hace el desarrollo de software más fácil. Se basa en una noción de clases o tipos de referencias, en torno a la cual toda la validación es estructurada. Además, los tipos de referencia (libro, artículo, etc.) se agrupan en clases estructurales de referencias. Esta clase basada en la estructura se utiliza para proporcionar un sólido sistema de repliegue para el formato bibliográfico. Para obtener una lista de bibliografía, por ejemplo, las definiciones son necesarias para cada uno de los tipos de referencia entre cada clase: libro, capítulo y artículo. Si se presenta con una entrada para la que no existe una definición específica, entonces, se utiliza la clase por defecto. Esto permite que se desarrolle un sistema que sea flexible, así como fiable.. 21.
(30) CAPÍTULO 2 – Tecnologías y plataforma de desarrollo. A continuación se muestra un fragmento de un archivo CSL: <bibliography author-as-sort-order="first-author"> <reftype name="book"> <creator> <names/> <role> <prefix> </prefix> </role> </creator> <date> <year> <prefix> (</prefix> <suffix>) </suffix> </year> </date> <title font-style="italic"> <suffix>, </suffix> </title> <origin> <place/> <publisher> <prefix>:</prefix> </publisher> </origin> <genre> <suffix>, </suffix> </genre> <medium> <prefix>(</prefix> <suffix>)</suffix> </medium> <availability> <physicalLocation> <suffix>, </suffix> </physicalLocation> <url> <prefix>, </prefix> </url> </availability> </reftype>. Figura 2.2-1 – Fragmento de archivo CSL. 2.3 Tecnología de notificación y redifusión La redifusión o sindicación web es una forma de redifusión (distribución) de información mediante la cual parte de una página web se pone a disposición para su uso desde otras páginas. Esto puede ser simplemente licenciando el contenido para que puedan usarlo otras personas; sin embargo, en general, la sindicación web se refiere a ofrecer una fuente web 22.
(31) CAPÍTULO 2 – Tecnologías y plataforma de desarrollo. desde una página web para proporcionar a otras personas una lista actualizada de su contenido (por ejemplo, noticias, los últimos comentarios en un foro, etc.). La sindicación web tuvo su origen en las páginas de noticias y los web logs, (bitácoras), pero cada vez se utiliza más para redifundir cualquier tipo de información. La sindicación web también gana importancia, ya que no es necesario proveer información personal como el correo electrónico y en cambio permite la posibilidad de suscribirse a una fuente de sindicación. El término sindicación web aunque es una traducción incorrecta, se continuará usando ya que el uso de este término se ha extendido y es muy común entre los expertos del tema. Las fuentes suelen codificarse en XML aunque el formato puede ser cualquier cosa que pueda transportarse a través de HTTP, como HTML o Javascript. Las dos principales familias de formatos de sindicación web son el RSS y el Atom. Recientemente el término RSS (Sindicación Realmente Simple) se ha usado indistintamente para referirse a cualquiera de los formatos, RSS o Atom. El sistema colaborativo que proponemos ofrece varias fuentes de sindicación, que pueden usar los usuarios como mecanismo de notificación de los procesos de interés descritos. La sindicación de contenido es una de las principales características de este sistema, ya que permitirá a investigadores y usuarios en general estar actualizados y recibir sindicación de referencias bibliográficas y otros contenidos de interés. Como tecnología de sindicación se usará RSS, ya que esta se ha convertido en un estándar de facto. RSS es un sencillo formato de datos que se utiliza para re-difundir contenidos a suscriptores de un sitio web. El formato permite distribuir contenido sin necesidad de un navegador, utilizando un software diseñado para leer estos contenidos RSS (agregador). A pesar de eso, es posible utilizar el mismo navegador para ver los contenidos RSS. Las últimas versiones de los principales navegadores permiten leer los RSS sin necesidad de software adicional. RSS es parte de la familia de los formatos XML desarrollado específicamente para todo tipo de sitios que se 23.
(32) CAPÍTULO 2 – Tecnologías y plataforma de desarrollo. actualicen con frecuencia y por medio del cual se puede compartir la información y usarla en otros sitios web o programas. Para leer una fuente de sindicación es necesario suscribirse mediante un agregador, una aplicación (de escritorio o basada en web) que muestra los contenidos nuevos publicados por el proveedor de la fuente suscrita. Otro mecanismo de notificación a considerar es el uso del correo electrónico para enviar mensajes de notificación a los usuarios. Este mecanismo puede funcionar perfectamente bien para nuestros requerimientos y se considerará su implementación próximamente. Hemos considerado dar un mayor uso a la sindicación RSS ya que es un mecanismo más sencillo y no requiere de un procesamiento adicional (por ejemplo, enviar los correos, no todos los servidores están configurados para que puedan enviar correos electrónicos y generalmente tienen limitaciones en la cantidad que pueden enviar, etc.). 2.4 Tipo de aplicación Después de un análisis preliminar de las particularidades que debe tener el sistema colaborativo propuesto, se llega a la conclusión de que los sistemas standalone, aunque funcionan muy bien para uso personal, no cumplen con los requerimientos impuestos para este tipo de sistema. Para implementar un sistema colaborativo es importante que los datos estén centralizados, lo que implica que el acceso a estos sea remoto. Por esta razón y para poder hacer uso de las tecnologías descritas anteriormente, la única solución posible con las tecnologías actuales es el desarrollo de una aplicación web. Con una aplicación web es tecnológicamente posible implementar las particularidades del sistema, las cuales plantean que los usuarios deben tener acceso al sistema de una forma fácil, independientemente de su sistema operativo, nivel de permisos en su estación de trabajo, etc.. 2.5 Plataforma de desarrollo Para el desarrollo de la herramienta colaborativa como una aplicación web se decidió usar una plataforma de gestión de contenido que cumpliera con los requerimientos del sistema previsto 24.
(33) CAPÍTULO 2 – Tecnologías y plataforma de desarrollo. y que proporcionara una plataforma base para el desarrollo de este tipo de aplicaciones. La plataforma usada es Drupal17, debido a las ventajas que ofrece para el desarrollo rápido, seguro, y extensible de la aplicación.. 2.6 ¿Por qué Drupal como plataforma de desarrollo? Drupal es una plataforma social de gestión y publicación de contenido, con énfasis en la colaboración, que es activamente mantenido y desarrollado por una comunidad de más de cien mil usuarios alrededor del mundo. Drupal es Open Source, liberado bajo una licencia GPL versión 2 o superior. Es altamente modular, extensible y basado en estándares. Desde el punto de vista del desarrollador Drupal presenta varias características que lo hacen una potente plataforma para un desarrollo web rápido, seguro, extensible y adaptable a los requerimientos. Además, presenta un amplio repositorio de extensiones adicionales que se pueden habilitar instalando otros módulos que son también activamente mantenidos y actualizados. Cuenta con un API bien documentado. Drupal está siendo utilizado con éxito en diferentes aplicaciones como: Portales web para comunidades Sitios de discusión Portales colaborativos Aplicaciones de intranet Blogs personales Directorios de recursos Redes sociales. 17. http://drupal.org. 25.
(34) CAPÍTULO 2 – Tecnologías y plataforma de desarrollo. Drupal provee varias formas para estructurar la información a través de la presentación, navegación y estilos. Al permitir desarrollar módulos independientes que interactúen con el núcleo de la plataforma sin necesidad de modificarlo, el desarrollo puede separarse en módulos y separar las capas de presentación y funcionalidad. Entre las principales características de Drupal se encuentran: Gestión de usuarios Provee un sistema integrado de gestión de usuarios que permite: Autenticación: Los usuarios pueden registrarse y autenticarse localmente o usando una fuente externa de autenticación como Jabber, Blogger, LiveJournal u otro sitio Drupal que provea el servicio. Para el uso en una intranet, Drupal puede integrarse con un servidor LDAP. Proceso de aprobación: Diferentes modos de registro que permiten a los administradores aceptar o denegar registros, así como activar o bloquear cuentas de usuario. Perfiles: Para cada usuario registrado en el sitio se crea un perfil de usuario. En general el módulo de usuarios permite que estos se registren, inicien y cierren sesión. El sistema de usuarios soporta roles, el cual puede ser configurado para solo permitir a cada rol ciertos permisos en el sistema. Cada usuario es asignado a uno o más roles. Los usuarios pueden usar su propio nombre de usuario y pueden editar sus preferencias y opciones de configuración en su perfil de usuario. Gestión de contenido Provee varias herramientas y APIs para que puedan implementarse procesos de gestión de contenido y creación, actualización, recuperación y eliminación de contenidos.. 26.
(35) CAPÍTULO 2 – Tecnologías y plataforma de desarrollo. Control de versiones: El sistema de control de versiones rastrea los detalles de cada una de las actualizaciones al contenido, incluyendo quién lo modificó, qué se modificó, y la fecha y hora de la modificación. Permite recuperar y restaurar versiones anteriores de los contenidos. Rendimiento y escalabilidad EL mecanismo de caché elimina la necesidad de ejecutar consultas a la base de datos incrementando así el rendimiento de la aplicación y reduciendo la carga en el servidor. El sistema de caché es totalmente extensible lo que permite instalar mecanismos de caché avanzados e integrarlos con la aplicación.. Administración y análisis Análisis, rastreo y estadísticas: el sistema provee reportes sobre la popularidad del contenido, cantidad de visitas, etc. Registro de sucesos: todas las actividades importantes y eventos del sistema son capturados y almacenados para que puedan ser revisados por el administrador y puedan ser detectados posibles fallos en el sistema y tomar medidas para impedir estos. Administración web: Drupal puede ser administrado completamente usando un navegador web y no requiere la instalación de una aplicación adicional para la administración del sistema. Características generales de la plataforma URL limpios y amigables: Drupal usa el mod_rewrite de Apache para posibilitar el uso de URLs adaptables, que son fáciles de leer y recordar, así como bien aceptadas por los motores de búsqueda. Ayuda integrada en línea: El sistema proporciona ayuda integrada y contextual, lo que permite a los usuarios tener mensajes de ayuda integrados en la interfaz.. 27.
(36) CAPÍTULO 2 – Tecnologías y plataforma de desarrollo. Personalización: El núcleo de la plataforma presenta un ambiente robusto de personalización. Ambos, el contenido y la presentación pueden ser personalizados basándose en las preferencias definidas por los usuarios. Sistema de permisos basado en roles: Los administradores de las aplicaciones no tienen que definir tediosamente permisos para cada usuario. En lugar de eso, asignan permisos a roles y agrupan los usuarios en roles. Cada usuario puede pertenecer a varios roles y obtener permisos en dependencia de los roles a que pertenezca. Búsquedas: Todo el contenido es completamente indexado y puede ser buscado por los usuarios usando el módulo de búsquedas del núcleo. Sistema de plantillas: El sistema de temas de Drupal permite separar el contenido de la presentación, permitiendo que el desarrollador tenga control sobre el aspecto y la presentación del sitio y que no se requiera modificar la funcionalidad cuando se necesite modificar el diseño. Las plantillas son creadas usando HTML estándar, por lo que no se necesita conocer un sistema de plantillas de terceras partes. Una lista completa de todas las características y funcionalidades de Drupal puede encontrarse en: http://drupal.org/features. 2.7 Plataforma de ejecución La plataforma de desarrollo usada requiere un servidor web que sea capaz de ejecutar PHP 18 4 (4.3.5 o superior) o PHP 5, aunque PHP 5 recomendado. Entre los servidores web que pueden usarse están Apache o IIS, sobre Unix / Linux / BSD / Solaris / Windows / Mac OS X, ya que Drupal está diseñado para ser multiplataforma. Como gestor de bases de datos pueden usarse. MySQL19 o PostgreSQL20, ya Drupal es. independiente de la base de datos. Drupal está construido sobre una capa de abstracción de la. 18. http://www.php.net/. 28.
(37) CAPÍTULO 2 – Tecnologías y plataforma de desarrollo. base de datos que permite usar cualquiera de estos sistemas sin necesidad de tener que reescribir ninguna consulta ni el esquema de datos. Otros requerimientos adicionales son: Para usar servicios basados en XML tales como la sindicación RSS debe estar instalada la extensión XML de PHP. Esta extensión está habilitada por defecto en las versiones actuales de PHP. Para usar la funcionalidad de URLs limpios sobre el servidor web Apache se necesita el mod_rewrite y la posibilidad de usar archivos .htaccess Varias funcionalidades requieren que. se inicien conexiones por HTTP a servicios. externos por lo que el servidor web debe permitir realizar dichas conexiones. Esto es necesario para funcionalidades como la actualización automática, autenticación remota, y otros servicios dependientes de la red. El siguiente diagrama muestra las capas de tecnologías soportadas:. Lenguaje de programación. Base de datos. Servidor Web Sistema Operativo. 19. http://www.mysql.com/. 20. http://www.postgresql.org/. PHP. Capa de abstracción de datos. MySQL, PostgreSQL, o cualquier otro que sea implementado Apache, lighttpd, IIS Linux, BSD, Mac OS X, Windows, Solaris, etc.. 29.
(38) CAPÍTULO 2 – Tecnologías y plataforma de desarrollo. La mayoría de los servidores web pueden cumplir fácilmente con estos requerimientos, por lo que se considera que los requerimientos técnicos del sistema son los mínimos y el coste de instalación muy bajo.. 2.8 Proyecto El proyecto está basado en estándares abiertos y en una plataforma de desarrollo de código abierto, por lo que decidimos publicar el código fuente del proyecto en el sitio web de Drupal y así recibir el apoyo de la comunidad de usuarios y desarrolladores. Ya que el proyecto será un trabajo derivado de Drupal, este debe mantener la misma licencia GPL versión 2 o superior. El nombre de proyecto es RefColab, el cual es un paquete de módulos Drupal que permite organizar, almacenar y compartir referencias en línea, en un ambiente colaborativo. Los detalles del proyecto Drupal pueden consultarse en la página del proyecto en el sitio oficial21.. 21. http://drupal.org/project/refcolab. 30.
(39) CAPÍTULO 3 — Arquitectura e implementación del sistema.
(40) CAPÍTULO 3 – Arquitectura e implementación del sistema. En el presente capítulo se abordan los aspectos relacionados con la arquitectura y la implementación del sistema. Se presentan los modelos resultantes de algunos de los flujos de trabajo, obtenidos a lo largo de las sucesivas iteraciones de cada una de las fases del proceso de desarrollo del prototipo de aplicación. Aquí se describe el modelo del negocio y varias vistas del modelo del sistema que en su conjunto conforman una descripción de la arquitectura del sistema, destacando en cada caso los aspectos esenciales de cada una de ellas desde el punto de vista arquitectónico. Se exponen, además, varios detalles de la implementación y aspectos que se han tenido en cuenta durante el desarrollo.. 3.1 Modelos del negocio A partir de la identificación de los diferentes flujos de trabajo que se pueden presentar durante el proceso de gestión colaborativa de referencias bibliográficas, hemos modelado el negocio según las actividades y los actores propios de cada uno de ellos. Las figuras Figura 3.1-1 y Figura 3.1-2 muestran los diagramas de actividades y los actores responsables de esta para cada flujo de trabajo.. 32.
(41) CAPÍTULO 3 – Arquitectura e implementación del sistema. Figura 3.1-1 - Diagrama de actividad del negocio. Registro y autenticación. 33.
(42) CAPÍTULO 3 – Arquitectura e implementación del sistema. Figura 3.1-2 - Diagrama de actividad del negocio. Creación e importación de referencias. 3.2 Modelos de casos de uso A partir del modelado del negocio para los diferentes flujos de actividades se elaboró el modelo de casos de uso como parte del proceso de captura de requisitos, identificando los actores que intervienen en cada flujo de actividades y definiendo sus casos de uso según los roles que desempeñan en estas actividades.. 34.
(43) CAPÍTULO 3 – Arquitectura e implementación del sistema. 3.2.1 Actores y casos de uso del sistema Los actores del sistema, como se puede apreciar en las figuras Figura 3.1-1 y Figura 3.1-2 son el moderador, encargado de la administración del sistema y el investigador, que es el usuario final del sistema y el que explotará al máximo sus facilidades. A estos se le agrega un tercer actor que es el visitante que tendrá acceso limitado a algunas vistas públicas del sistema.. Figura 3.2-1 - Actores del sistema. Los casos de uso del moderador se muestran en la figura siguiente:. Figura 3.2-2 - Casos de uso del actor moderador. 35.
(44) CAPÍTULO 3 – Arquitectura e implementación del sistema. A continuación en la figura se muestran los casos de uso del actor visitante. Figura 3.2-3 - Casos de uso del actor Visitante. El investigador puede tener diferentes casos de uso según los diferentes flujos de trabajo analizados en el epígrafe 3.1, por lo que en las siguientes figuras se muestran los casos de uso del actor investigador agrupados según estos flujos de trabajo.. Figura 3.2-4 – Casos de uso del investigador durante el proceso de autenticación. 36.
(45) CAPÍTULO 3 – Arquitectura e implementación del sistema. Figura 3.2-5 - Casos de uso del investigador durante la gestión de referencias. Figura 3.2-6 - Casos de uso del investigador durante la gestión de notas y colecciones. 37.
(46) CAPÍTULO 3 – Arquitectura e implementación del sistema. Figura 3.2-7 - Casos de uso del investigador relacionados con el etiquetado de referencias Luego de realizar el refinamiento de los casos de uso del actor investigador obtenemos los diagramas siguientes:. Figura 3.2-8 - Refinamiento de los casos de uso del actor investigador 38.
(47) CAPÍTULO 3 – Arquitectura e implementación del sistema. 3.2.2 Descripción de los casos de uso generales de cada actor A continuación se presenta la descripción de cada uno de los casos de uso del actor Moderador Caso de uso. Descripción. Revisar solicitud. El “Moderador” recibe los datos de la solicitud y los revisa para ver si el usuario puede tener su cuenta de investigador.. Aceptar solicitud. Si el “Moderador” decide que los datos del formulario de registro están correctos, entonces aprueba la cuenta del usuario y le informa sobre su nueva cuenta en el sistema.. Denegar solicitud. Si por alguna razón el “Moderador” decide que no puede crear la cuenta de usuario solicitada, le informa al usuario sobre el porqué le ha sido denegada la cuenta y lo que debe hacer para la próxima solicitud si fuera el caso.. Gestionar cuentas de usuario. El “Moderador” puede gestionar las cuentas de los usuarios y las características específicas de la cuenta según el tipo de usuario.. Moderar referencias. El “Moderador” decide si las referencia se pueden o no publicar o si pueden ser eliminadas.. Moderar notas. El “Moderador” revisa. las notas que se le hacen a las. referencias y decide si las notas pueden estar públicas o no, así como agregarle comentarios a las notas. Moderar comentarios. El “Moderador” revisa los comentarios que se le hacen a las notas y las referencias y decide si estos pueden estar públicos o no.. 39.
(48) CAPÍTULO 3 – Arquitectura e implementación del sistema. Seguidamente se presenta la descripción de cada uno de los casos del actor visitante. Caso de uso. Descripción. Ver referencias publicadas. El “Visitante” puede ver las referencias publicadas por los investigadores.. Realizar búsquedas. El “Visitante” puede realizar búsquedas dentro del sistema.. Ver notas publicadas de El “Visitante” puede ver las notas publicadas por los referencias públicas. investigadores sobre las referencias que son públicas.. Descripción de los casos de uso del investigador Caso de uso. Descripción. Solicitar cuenta de investigador. El “Investigador” puede solicitar una nueva cuenta de investigador en el sistema.. Autenticación. El “Investigador” se autentifica en el sistema con su cuenta de investigador.. Importar. referencias El “Investigador” puede importar sus referencias previas o. compartidas. agregar a su biblioteca referencias públicas de otros investigadores.. Crear referencia. El “Investigador” puede crear una nueva referencia especificando los diferentes datos según el tipo de recurso.. Gestionar referencias. El “Investigador” puede crear, editar, agrupar en colecciones o eliminar sus referencias.. Adjuntar recursos a referencia. El “Investigador” puede adjuntar diferentes recursos a sus referencias, dígase imágenes, videos, etc. 40.
(49) CAPÍTULO 3 – Arquitectura e implementación del sistema. Referenciar recurso. El “Investigador” guarda una referencia a un recurso, especificando diferentes datos según el tipo específico de recurso.. Crear colección. El “Investigador” crea una nueva colección dentro de su biblioteca.. Gestionar colección. El “Investigador” puede crear, editar, reordenar o borrar sus colecciones, así como modificar las relaciones entre ellas.. Relacionar referencia. El “Investigador” puede relacionar sus referencias con otras referencias dentro del sistema.. Buscar referencia. El “Investigador” puede realizar búsquedas avanzadas en sus referencias o en otras bibliotecas de referencias públicas.. Gestionar notas de referencias. El “Investigador” puede crear, editar, reordenar o borrar sus notas a referencias públicas, así como ver notas públicas de otros investigadores sobre esa misma referencia.. Etiquetar referencias. El “Investigador” puede agregar etiquetas de palabras clave a sus referencias.. Ver referencias relacionadas con El “Investigador” puede buscar todas las referencias etiquetas. etiquetadas con palabras clave específicas.. Ver etiquetas relacionadas. El “Investigador” puede ver las etiquetas que pueden estar relacionadas con un tema específico. 41.
(50) CAPÍTULO 3 – Arquitectura e implementación del sistema. 3.3 Módulos del sistema Para el desarrollo del sistema, este se dividió en varios módulos, cada uno implementando un conjunto de funcionalidades específicas e interactuando entre sí. Estos módulos se definen a partir de los distintos casos de usos, obtenidos a su vez de las particularidades del sistema descrito. Drupal es una plataforma completamente modular. La funcionalidad es incluida en módulos los cuales se habilitan para agregar funcionalidad al sistema base. Un módulo Drupal es un conjunto de funciones que se enlazan con el núcleo de la plataforma para proveer funcionalidad adicional. La figura muestra el directorio de módulos que se habían incluido en el momento que fue escrito este capítulo:. Figura 3.3-1 – Vista del directorio de módulos que habían implementados hasta el momento 42.
Figure
Outline
Documento similar
TALLER “ “REFERENCIAS Y CITAS BIBLIOGRAF REFERENCIAS Y CITAS BIBLIOGRAFÍ ÍCAS CAS” ”..
El primero que se me hace interesante que muestran a parejas del mismo sexo en este tipo de contenidos porque pues a pesar de que se haya intentado hacer campaña y todo, pues
Como se ha comentado, el olivicultor de montaña presenta diversas opciones para mejorar su desempeño respecto del BPp Balance de GEI. Estas opciones pasan fundamentalmente
(1999), “Zero-Coupon Yield Curve Estimation from a Central Bank Perspective”, NBH Working paper, Economics and Research Department, , National Bank of Hungary.. (1991), Métodos
Abarca el desarrollo de teorías sobre el aprendizaje colaborativo, que posteriormente se utilizan como referencias para establecer objetivos y criterios de evaluación en
Este trabajo de investigación se centra en la revisión de la literatura producida alrededor de la interrelación entre ciencias, comunicación y sociedad (en adelante
Platelet function in calves: a study of adhesion, aggregation, release, clotting factor activity and life span.. Beagle puppy model of intraventricular hemorrhage:
Brislin (Eds.). Handbook for Intercultural Training: Issues in Training Methodology vol. New York: Pergamon. Evaluación y optimización de los diseños de intervención. Diseños