GEDOLI : gestión de documentos lingüísticos
Abstract
El repositorio GEDOLI (Gestión de Documentos Lingüísticos), es una aplicación Web cuyo principal objetivo es facilitar el acceso a distintos materiales, según una clasificación y organización taxonómica. Este repositorio tiene como ventaja que son los propios usuarios registrados y activos, los encargados de mantener, actualizar y controlar los contenidos clasificados. Se ha creado una aplicación fácil de usar y que gestiona de manera adecuada un repositorio digital.
Full text
GEDOLI Gestión de Documentos Lingüísticos Ana Victoria Gordo Garrosa Berta Lerín Rodríguez Antonio Muñoz Robles GRADO EN INGENIERÍA DEL SOFTWARE UNIVERSIDAD COMPLUTENSE DE MADRID TRABAJO DE FIN DE GRADO Madrid, 21 de Junio de 2013 Director: Antonio Sarasa Cabezuelo
II
Autorización de difusión y utilización Se autoriza a la Universidad Complutense de Madrid a difundir y utilizar con fines académicos, no comerciales y mencionando expresamente a sus autores, tanto la memoria como el código, la documentación y/o el prototipo desarrollado. Berta Lerín Rodríguez Ana Victoria Gordo Garrosa Antonio Muñoz Robles Madrid, 21 de Junio de 2013
III
IV Índice 1. Introducción .................................................................................................................. 1 2. Objetivos del proyecto .............................................................................................. 3 3. Estado del Arte ......................................................................................................... 5 3.1. Repositorios Digitales .......................................................................................... 5 3.1.1. DSPACE [3] ........................................................................................................... 5 3.1.2. FEDORA [4] .......................................................................................................... 6 3.1.3. DURASPACE [5] ................................................................................................... 7 3.1.4. AGREGA [6] .......................................................................................................... 7 3.2. Sistemas de clasificación ...................................................................................... 7 3.3. Tecnologías de representación de sistemas de clasificación ................................ 9 3.3.1. IMS-VDEX (Vocabulary Definition and Exchange) ............................................. 9 3.3.2. SKOS (Simple Knowledge Organization System ) .............................................. 10 4. La taxonomía lingüística ........................................................................................ 13 5. Tecnologías usadas ................................................................................................. 15 5.1. PHP [10] ............................................................................................................. 15 5.2. MySQL [11] ....................................................................................................... 15 5.3. APACHE [12] .................................................................................................... 16 6. Arquitectura de la aplicación .................................................................................. 17 7. Funcionalidades del sistema ................................................................................... 21 7.1. Casos de uso usuario aplicación ......................................................................... 23 7.1.1. Caso 0. “Consultar Perfil” ............................................................................. 23 7.1.2. Caso 1. “Editar perfil propio” ......................................................................... 23 7.1.3. Caso 2. “Añadir objeto” ................................................................................ 24 7.1.4. Caso 3. “Realizar búsqueda” ......................................................................... 25 7.1.5. Caso 4. “Realizar búsqueda taxonómica”...................................................... 26 7.1.6. Caso 5. “Realizar búsqueda por campos” ...................................................... 27 7.1.7. Caso 6. “Realizar consulta de objeto” ........................................................... 28 7.2. Casos de uso Administrador: .............................................................................. 29 7.2.1. Caso 7. “Gestión taxonómica”....................................................................... 29 7.2.2. Caso 8. “Gestión de usuarios pendientes” ..................................................... 31 7.2.3. Caso 9. “Gestión de usuarios activos” ........................................................... 33 7.2.4. Caso 10. “Administrar Objetos” ..................................................................... 35 7.2.5. Caso 11. Ver Historial de cambios: ................................................................ 37 8. Conclusiones, dificultades y trabajo futuro ............................................................ 39 8.1. Dificultades ......................................................................................................... 39 8.2. Contribuciones de este trabajo ............................................................................ 39 8.3. Líneas de trabajo futuro ...................................................................................... 39 Bibliografía y Glosario de Términos ............................................................................. 41 Anexo I ........................................................................................................................... 45 Anexo II .......................................................................................................................... 49 Anexo III ........................................................................................................................ 67
V
VI Resumen El repositorio GEDOLI (Gestión de Documentos Lingüísticos), es una aplicación Web cuyo principal objetivo es facilitar el acceso a distintos materiales, según una clasificación y organización taxonómica. Este repositorio tiene como ventaja que son los propios usuarios registrados y activos, los encargados de mantener, actualizar y controlar los contenidos clasificados. Se ha creado una aplicación fácil de usar y que gestiona de manera adecuada un repositorio digital. Palabras clave: repositorio, digital, web, taxonomía, materiales, objetos, recursos.
VII Abstract The GEDOLI (Linguistic Document Management) repository is a web application whose main purpose is to facilitate access to different materials, according to a taxonomic classification and organization. This repository has the advantage that active users are able to maintain, update and manage the classified content. It has created an easy-to-use application, which properly manages a digital repository. Keywords: repository, digital, web, taxonomy, objects, resources, tags.
1 1. Introducción La digitalización de la documentación en formatos físicos supone uno de los nuevos retos que se están realizando en la actualidad. Sin embargo en este proceso surgen dificultades con respecto a la búsqueda y recuperación de información. GEDOLI es una aplicación web que pretende facilitar la búsqueda y recuperación de documentos, en el ámbito de la lingüística, a través de la clasificación de documentos mediante una clasificación taxonómica. Para representar la taxonomía usada para realizar la clasificación se ha optado por representarla de una manera estándar usando la especificación IMS-VDEX [1]. Las principales características de GEDOLI son: Disponer de un interfaz amigable y fácil de usar. Permite realizar y participar en la gestión de la digitalización de documentos. La digitalización de documentos facilita llevar a cabo la gestión y administración de toda la información que en otros formatos físicos sería más complejo. Otras ventajas de la digitalización de documentos son: Disminuye el costo de impresión, papel, fotocopiado, distribución y publicado. Facilidad de acceso a la documentación por parte de profesionales, almacenamiento y consulta, Reduce el tiempo de trabajo empleado en la búsqueda de documentos. Permite preservar el valor del contenido e información de los documentos, evitando los riesgos derivados y propios de los documentos que solo se encuentran en soportes físicos.
8 Los tipos de sistemas de clasificación, se diferencian en tres grupos; Tesauros: Es una relación de palabras o términos organizada en torno a unas determinadas características y que pretende cumplir con la indización para representar conceptos, permitiendo la clasificación y la interrelación de los términos entre ellos de manera que las relaciones conceptuales se establezcan de un modo que permita la posterior recuperación del contenido. El fin u objeto de la clasificación en tesauros es facilitar el acceso a las personas de la información. Los tesauros se ordenan de manera alfabética, temática y jerárquica, e interrelacionan entre ellos por medio de enlaces de asociación o equivalencia. Como ejemplos de sistemas organizados en tesauros, se pueden consultar las siguientes aplicaciones: a. Artlex [7] b. Getty Vocabularies [8] Taxonomías: Es un conjunto de términos que permiten ordenar y organizar en grupos, elementos que tienen unas características comunes. Se emplea este término para determinar la división y clasificación en taxones, entendiendo por taxón el elemento único que comparte cualidades con otros elementos. Los taxones se anidan unos dentro de otros y permitiendo una división y una clasificación que facilita la búsqueda en la agrupación y clasificación de objetos, los cuales se agrupan entorno a otros objetos con iguales características y propiedades. Vocabularios controlados: El vocabulario controlado es un conjunto de unidades léxicas. Un vocabulario que ha sido seleccionado con fines didácticos. Su objetivo es favorecer la selección y gradación de vocabulario en el área de la clasificación a partir de criterios sistemáticos. Con este fin consta de un conjunto de términos, entendiendo como términos una o más palabras que representan un concepto, y de reglas para guardar la información indexada de modo que permita la recuperación. La clasificación de la información es utilizada para facilitar una búsqueda rápida del documento apropiado, delimitando el área de búsqueda y el tiempo empleado en la misma.
9 3.3. Tecnologías de representación de sistemas de clasificación Algunas de las tecnologías para representar sistemas de clasificación son: 3.3.1. IMS-VDEX (Vocabulary Definition and Exchange) Define una gramática para el intercambio de listas de valores o vocabularios, que puedan ser procesables automáticamente y entendibles por las personas. IMS-VDEX, es una especificación propuesta por el IMS Global Consortium, que define un lenguaje de marcado para representar vocabularios controlados, taxonomías y tesauros. El vocabulario estructurado dispone de un título y una lista de términos que vienen identificados por el título, de este modo cada término es una clave única que permite identificar otros títulos y otras descripciones. Los valores de la lista, los términos son denominados vocabulario. La estructura de los documentos IMS-VDEX se realiza de la siguiente manera (figura 0) Figura 1. Estructura de los documentos IMS-VDEX Como se puede observar en la figura 0, un vocabulario identificado se divide en una serie de términos identificados, términos con valores concretos y metadatos, que forman el vocabulario. Cada término a su vez contiene información agrupada y estructurada de manera similar. Vocabulario Términos Descripción Metadatos Término Términos Descripción Metadatos Término Términos Descripción Metadatos
10 3.3.2. SKOS (Simple Knowledge Organization System) SKOS Core (Simple Knowledge Organization System) [9]: Es un modelo que permite representar esquemas conceptuales en formato de listas, taxonomías, tesauros y en cualquier formato de vocabulario controlado, se trata de una ontología definida en OWL_Full, basada en RDF, que permite representar la estructura y contenido de sistemas de clasificación, abarcando taxonomías, esquemas de clasificación, tesauros y otros tipos de vocabularios controlados. Expresa de manera formal estructuras de clasificación y conocimiento, al tiempo que permite construir y realizar un modelo de datos que se ajuste al nivel de formalización necesario para que un tesauro forme parte del modelo de datos. Los elementos del modelo son principalmente propiedades y clases, y la integridad del modelo se define por las relaciones entre estas. Los SKOS, identifican a través de etiquetas, conceptos y esquemas de conceptos, marcan léxicos, relaciones semánticas, documentación, agrupan colecciones de conceptos y propiedades de mapeado. Las etiquetas utilizadas para esto son las siguientes: Conceptos y esquemas de conceptos: Etiquetas léxicas: Relaciones semánticas: Documentación: skos: Concept skos: ConceptScheme skos: inScheme skos: hasTopConcept skos: narrowerTransitive skos: related skos: narrower skos: broader skos: semanticRelation skos: prefLabel skos: altLabel skos: hiddenLabel skos: editorialNote skos: example skos: definition skos: historyNote skos: scopeNote
11 Colecciones de conceptos Propiedades de mapeado En la figura 2 se muestra un ejemplo de uso de SKOS. Figura 2. Ejemplo de uso de SKOS skos: member skos: memberList skos: Collection skos: OrderedCollection skos: mappingRelation skos: exactMatch skos: broadMatch skos: narrowerMatch skos: relatedMatch
12
13 4. La taxonomía lingüística Para clasificar los documentos digitales que gestiona la aplicación se ha utilizado una taxonomía específica para el área de lingüística que se muestra en la figura 3. Figura 3. Taxonomía de lingüística. 1. Lingüística 1.1Concepto y Objetivos de la Lingüística General 1.2Lingüística Teórica y Lingüística Aplicada 1.3Historia de la Lingüística 1.3.1Antigüedad Clásica 1.3.2Edad Media y Renacimiento 1.3.3S. XVII-XVIII 1.3.4S. XIX 1.3.5S. XX 1.4Modelos lingüísticos actuales 2. Lenguaje 2.1Naturaleza y constitución del lenguaje humano 2.2La comunicación lingüística 2.3Lenguaje, mente y cerebro 3. Lenguas 3.1Unidad y diversidad lingüística 3.2Clasificación de las lenguas 3.3Cambio lingüístico 4. Principios teóricos generales 4.1Niveles: definición y relaciones (interfaces 4.2Unidades y procesos 5. Fonética y fonología 5.1Fundamentos de fonética articulatoria y representación de sonidos 5.2Fundamentos de fonética acústica 5.3Fundamentos de fonética perceptiva 5.4Construcción de los sistemas fonológicos 5.5Procesos fonológicos (reglas vs. Restricciones 5.6Fonología autosegmental. Estructura silábica 6. Semántica 6.1Tipos de significados. Tipos de semántica 6.2Semántica léxica 6.3Semántica oracional 7. Morfología 7.1Unidades morfológicas: morfemas, temas, raíces y palabras. Categorías gramaticales 7.2Procesos morfológicos 7.3Morfología derivativa 7.4Morfología flexiva 8. Sintaxis 8.1Principios básicos de sintaxis 8.2Construcciones sintagmáticas 8.3La oración: simple y compleja 9. Pragmática 9.1Dominio y objetivos de la pragmática 9.2Actos de Habla 9.3Lógica conversacional: cooperación, cortesía, relevancia 10. Sociolingüística 10.1Contacto de lenguas 10.2La variación intralingüística 10.3Funciones sociales y lenguaje 11. Análisis del discurso 11.1Tipos de discursos 11.2Coherencia y cohesión 11.3Análisis de la conversación 12. Obras de carácter general
14 Para gestionar la taxonomía desde la aplicación, se ha representado usando la especificación IMS-VDEX. Para ello se ha creado un documento XML que contiene la descripción de la taxonomía (Figura 4) Figura 4. Estructura de los documentos IMS-VDEX El documento IMS-VDEX está ordenado de forma jerárquica, añadiendo términos anidados unos dentro de otros. Para describir cada término de la taxonomía, seguimos el siguiente formato de etiquetas: <term> <termIdentifier> </termIdentifier> <caption> <langstring> </langstring> </caption> </term> En la etiqueta termIdentifier identificamos el nivel del término en la taxonomía, y entre la etiqueta de apertura y de cierre langstring su descripción. Para añadir un sub-término se seguiría el mismo formato antes del cierre de la etiqueta <term>, de esta forma se irán clasificando unos elementos dentro de otros. <<term> <termIdentifier>1</termIdentifier> - <caption> <langstring>Lingüística</langstring> </caption> - <term> <termIdentifier>1.1</termIdentifier> - <caption> <langstring>Concepto y Objetivos de la Lingüística General</langstring> </caption> </term> - <term> <termIdentifier>1.2</termIdentifier> - <caption> <langstring>Lingüística Teórica y Lingüística Aplicada</langstring> </caption> </term> - <term> <termIdentifier>1.3</termIdentifier> - <caption> <langstring>Historia de la Lingüística</langstring> </caption> - <term> <termIdentifier>1.3.1</termIdentifier> - <caption> <langstring>Antigüedad Clásica</langstring> </caption>
15 5. Tecnologías usadas En esta sección se describe brevemente las tecnologías utilizadas en el desarrollo de la aplicación. 5.1. PHP [10] PHP es un lenguaje de programación de uso general que se ejecuta en servidores de aplicaciones web y permite crear paginas HTML dinámicas. PHP permite ser incluido directamente en documentos HTML aportando a la Web el carácter dinámico por el cual destaca. PHP propone soporte conjunto con MySQL y con casi todo el conjunto de bases de datos relacionales. Se ha utilizado en el proyecto debido a las siguientes características: Sistema Multiplataforma. Es libre. Permite el manejo de Excepciones. Integración con MySQL Existe una amplia documentación sobre el leguaje. El aprendizaje del lenguaje es rápido. Diseñado especialmente para aplicaciones web. Sin embargo, su uso en el proyecto ha planteado algunas dificultades: Es difícil de optimizar. El mantenimiento es complejo. 5.2. MySQL [11] Es un sistema de gestión de bases de datos relacional, multihilo y multiusuario. Una base de datos es un conjunto de tablas que contienen datos y el ser relacional quiere decir que archiva datos en tablas distintas en lugar de introducir toda la información en un único archivo de gran tamaño. Se ofrece bajo una licencia de GNU GPL aunque la mayor parte de su código está gestionado por una empresa privada. Es un sistema que funciona sobre múltiples plataformas y destaca por haber incluido numerosas características como integridad referencial, transacciones, clave foránea, conectividad segura, replicación, indexación… Se ha utilizado en el proyecto debido a las siguientes características: Tiene un buen rendimiento, es rápido. Es gratuito. Integración con PHP Fácil de configurar e instalar Soporte en SO como Linux y Windows.
16 Sin embargo, su uso en el proyecto ha planteado algunas dificultades: Son necesarios conocimientos previos de BBDD. No es intuitivo. 5.3. APACHE [12] Es un servidor de aplicaciones, con soporte de servlets, JSPs, .PHP, el cual mantiene y gestiona las funciones de acceso a los datos de una paliación y la lógica de las funciones y procedimientos del negocio. El uso del servidor Apache aporta una centralización y facilidad en el desarrollo de aplicaciones. Se ha utilizado en el proyecto debido a las siguientes características: Fácil configuración. Documentación amplia sobre el servidor de aplicaciones. Licencia freeware Extendido en el uso conjunto con PHP y MySQL Sin embargo, su uso en el proyecto ha planteado algunas dificultades: La administración del servidor no es intuitiva.
17 6. Arquitectura de la aplicación GEDOLI se trata de una aplicación web en la que se distinguen tres capas: la vista, la lógica de control, y la persistencia de datos. Figura 5: Esquema aplicación web Para realizar la persistencia de datos se ha definido un modelo de datos usando una base de datos relacional sobre MySQL. Se han definido las siguientes tablas con los siguientes atributos: Tabla usuarios En esta tabla se gestionan datos referentes a los usuarios del sistema. Comprende los siguientes atributos: registro: identificador numérico de tipo entero. Se asigna automáticamente al usuario en el momento de su registro y es único para cada usuario. nombre: nombre del usuario, de tipo varchar. apellido1: primer apellido del usuario, de tipo varchar. apellido2: segundo apellido del usuario, de tipo varchar. nombre_usuario: alias mediante el cual el usuario se identificará en el sistema, de tipo varchar. El nombre de usuario es único, por lo que no puede repetirse. contrasenya: contraseña de acceso establecida por el usuario, de tipo varchar. Dicha contraseña se encontrará encriptada en la tabla usuarios, para una mayor seguridad. tipo: tipo de usuario en el sistema. Los posibles valores para este campo son “Usuario” (usuario común) o “Admin” (usuario administrador). activo: indica si el usuario está dado de alta en el sistema, o por el contrario permanece pendiente de activación. Los posibles valores para este campo son “S” (sí) o “N” (no).
24 7.1.3. Caso 2. “Añadir objeto” 7.1.3. Añadir Objeto Descripción El usuario añade objetos y clasifica dentro de una taxonomía, el objeto y recursos que desea compartir. Dependencias N/A Precondición El usuario se encuentra dado de alta y activo en la BBDD. Secuencia normal 1. El usuario accede a la aplicación con su nombre de usuario y contraseña. 2. El usuario accede a la pestaña añadir Objeto. 3. Rellena los datos de formulario, para crear objeto. 4. Pincha en continuar. 5. Añade los recursos que quiere se encuentren asociados al objeto creado. a. Añade recursos mediante URL. b. Añade recursos desde su propio PC. 6. Una vez finaliza de añadir recursos. Pincha añadir, para añadir los recursos y clasificarlos taxonómicamente. 7. Elige una de las taxonomías que se encuentren disponibles. 8. Dentro de la taxonomía navega para ubicar correctamente, según su criterio el objeto creado. 9. Selecciona y añade ruta. a. Añade otra ruta o tantas rutas considere necesarias. 10. Publica objeto, el objeto se almacenado en la BBDD. Campos Titulo, Autor, Escuela, Idioma, tipo, texto de referencia, palabras clave, descripción, icono representativo. Añadir recursos mediante URL. Añadir nuevos recursos desde PC. Botones Examinar: Para seleccionar icono representativo. Continuar: Para crear objeto y añadir recursos. Añadir a la lista: Para añadir recursos al objeto. Añadir: Para asociar recursos con objetos. Botones propios de la clasificación taxonómica: se cargan de manera dinámica según clasificación. Añadir Ruta: Para añadir rutas al objeto creado Publicar objeto: Para finalizar la creación del objeto. En caso de no ser publicado el objeto no se guardara.
25 7.1.4. Caso 3. “Realizar búsqueda” 7.1.4. Realizar Búsqueda Descripción El usuario realiza una búsqueda de un documento u objeto, introduciendo una frase o un criterio de búsqueda en la pantalla de inicio Dependencias 7.1.7. Realizar consulta de objeto Precondición El objeto u documento a buscar se encuentra dado de alta en la BBDD y clasificado dentro de una de las taxonomías. Secuencia normal 1. El usuario accede a la aplicación con su nombre de usuario y contraseña 2. El usuario introduce palabras que considere suficientes para encontrar un objeto. 3. Se listan los objetos, que son favorables según características buscadas 4. Se muestra el documento u objeto. Campos Campos para la búsqueda: campo libre para realizar la búsqueda. Botones Búsqueda: lista los elementos coincidentes con el campo libre introducido por el usuario. Volver Atrás: para volver a pantalla de inicio Ver ficha: muestra la información asociada al objeto y permite descargarlo
26 7.1.5. Caso 4. “Realizar búsqueda taxonómica” 7.1.5. Realizar Búsqueda Taxonómica Descripción El usuario realiza una búsqueda de un documento u objeto, siguiendo la interacción especial que permite la aplicación de búsqueda taxonómica. Dependencias 7.1.7. Realizar consulta de objeto Precondición El objeto u documento a buscar se encuentra dado de alta en la BBDD y clasificado dentro de una de las taxonomías. Secuencia normal 1. El usuario accede a la aplicación con su nombre de usuario y contraseña 2. El usuario pincha en el botón de búsqueda taxonómica, en la pantalla de inicio 3. Selecciona la taxonomía sobre la que desea realizar la búsqueda y navega por la clasificación taxonómica hasta llegar a la taxonomía donde podría localizarse el documento u objeto clasificado. Se muestra una lista de los posibles objetos. 4. Selecciona el documento u objeto pinchando en ver ficha. 5. Se muestra el documento u objeto. Campos Campos propios de la clasificación activa sobre la que se busca. Estos campos pueden variar según clasificación taxonómica Botones Búsqueda Taxonómica: da acceso a la búsqueda taxonómica. Botones propios para la navegación por la taxonomía, se carga de manera dinámica según clasificación. Volver atrás: para volver a pantalla de inicio Ver ficha: muestra la información asociada al objeto y permite descargarlo
27 7.1.6. Caso 5. “Realizar búsqueda por campos” 7.1.6. Realizar Búsqueda por campos Descripción El usuario realiza una búsqueda de un documento u objeto, siguiendo el funcionamiento para realizar la búsqueda por campos, introduce los campos que delimitan la búsqueda, para encontrar el documento u objeto deseado. Dependencias 7.1.7. Realizar consulta de objeto Precondición El objeto u documento a buscar se encuentra dado de alta en la BBDD y clasificado dentro de una de las taxonomías. Secuencia normal 5. El usuario accede a la aplicación con su nombre de usuario y contraseña 6. El usuario pincha en el botón de búsqueda por campos, en la pantalla de inicio 7. Filtra por los campos posibles y pincha en buscar. 8. Se listan los objetos, que son favorables según características buscadas 9. Se muestra el documento u objeto. Campos Campos para la búsqueda: Titulo, Autor, Escuela, Idioma, Tipo, Texto de referencia, palabras clave. Botones Búsqueda por campos: da acceso a la búsqueda por campos. Búsqueda: realiza la búsqueda de los objetos una vez seleccionados los filtros deseados. Volver Atrás: para volver a pantalla de inicio Ver ficha: muestra la información asociada al objeto y permite descargarlo
28 7.1.7. Caso 6. “Realizar consulta de objeto” 7.1.7. Realizar consulta de objeto Descripción El usuario consulta la ficha del documento u objeto, permitiéndole la descarga de los recursos en caso de que lo crea necesario. Dependencias: 7.1.4. Realizar búsqueda. 7.1.5. Realizar búsqueda taxonómica. 7.1.6. Realizar búsqueda por campos. Precondición: El objeto u documento a buscar se encuentra dado de alta en la BBDD y tiene asociados recursos. Secuencia normal 1. El usuario accede a la aplicación con su nombre de usuario y contraseña 2. El usuario pincha en el botón de búsqueda taxonómica, o búsqueda por campos. 3. Identifica el documento u objeto a consultar. 4. Selecciona el documento u objeto pinchando en ver ficha. a. Descarga el recurso asociado y deseado. b. Descarga todos los recursos asociados al objeto, en un archivo comprimido. 5. Se descargan los recursos. Campos Titulo, Autor, Escuela, Idioma, Tipo, texto, descripción, Taxonomías asociadas, Recursos asociados. Botones Descargar todo: descarga todos los recursos asociados al objeto comprimiendo y creando un .zip con el nombre del objeto. Descargar: Descarga únicamente el recurso seleccionado. Volver atrás: Vuelve a la pantalla de inicio
29 7.2. Casos de uso Administrador: El usuario administrador tendrá los mismos casos de uso que el usuario de la aplicación más los siguientes casos de uso. 7.2.1. Caso 7. “Gestión taxonómica” 7.2.1. Gestión Taxonómica Descripción El administrador desde el menú perfil administra las taxonomías, añadiendo o eliminando las misas Dependencias 7.2.1.1. Caso 7.1. “Añadir taxonomía” 7.2.1.2. Caso 7.2. “Eliminar taxonomía” Precondición Han de existir ficheros en formato adecuado para realizar la carga de las taxonomías. Han de existir taxonomía cargada para poder ser eliminada Secuencia normal 1. El administrador accede a través de la pestaña perfil a las opciones especiales de administrador 2. Pincha en el botón de Gestión Taxonómica. 3. Añade/Elimina taxonomía a. Añade taxonomía 7.2.1.1. Caso 7.1. “Añadir taxonomía” b. Elimina taxonomía 7.2.1.2. Caso 7.2. “Eliminar taxonomía” Campos Nombre, Archivo, opciones. Botones Añadir Taxonomía: Añade taxonomía desde un archivo. Eliminar Taxonomía: Elimina taxonomía ya existente. Volver atrás: Vuelve a la pantalla de inicio
30 7.2.1.1. Caso 7.1. “Añadir taxonomía” 7.2.1.1. Añadir Taxonomía Descripción El administrador añade taxonomías, cargándolas desde fichero en formato adecuado. Dependencias 7.2.1. Gestión Taxonómica Precondición Han de existir ficheros en formato adecuado para realizar la carga de las taxonomías. Secuencia normal 1. El administrador accede a través de la pestaña perfil a las opciones especiales de administrador 2. Pincha en el botón de Gestión Taxonómica. 4. Añade a lista Taxonomía desde fichero 5. Añade Taxonomía. Campos Nombre, Archivo, opciones. Añadir nuevas taxonomías. Botones Añadir a la lista: añade taxonomía Eliminar de la lista: eliminar de la lista antes de ser añadida Volver atrás: Vuelve a la pantalla de inicio 7.2.1.2. Caso 7.2. “Eliminar taxonomía” 7.2.1.2. Eliminar Taxonomía Descripción El administrador elimina taxonomías ya cargadas Dependencias: 7.2.1. Gestión Taxonómica Precondición: Han de existir taxonomía cargada para poder ser eliminada Secuencia normal 1. El administrador accede a través de la pestaña perfil a las opciones especiales de administrador 2. Pincha en el botón de Gestión Taxonómica. 3. Elimina Taxonomía Campos Nombre, Archivo, opciones. Añadir nuevas taxonomías. Botones Eliminar: Elimina la taxonomía. Volver atrás: Vuelve a la pantalla de inicio
31 7.2.2. Caso 8. “Gestión de usuarios pendientes” 7.2.2. Gestión de usuarios pendientes Descripción El administrador desde el menú perfil administra los usuarios pendientes de activación, tras el registro que se haya realizado en la aplicación. Dependencias 7.2.2.1. Ver Ficha” 7.2.2.2. Dar de Alta” 7.2.2.3.“Eliminar” Precondición Han de existir usuarios registrados en la aplicación, pero que se encuentren pendientes de activación. Secuencia normal 1. El administrador accede a través de la pestaña perfil a las opciones especiales de administrador 2. Pincha en el botón de Gestión de usuarios pendientes. 3. Gestión de usuarios pendiente: a. Ver Ficha b. Dar de alta c. Eliminar Campos Nombre, apellidos, nombre de usuario Botones Ver ficha: permite ver más detalles del usuario Dar de alta: permite activar el usuario para que pueda acceder a la aplicación. Eliminar: Elimina al usuario que se encuentra pendiente de activación Volver atrás: Vuelve a la pantalla de inicio
32 7.2.2.1. Caso 8.1. “Ver Ficha” 7.2.2.1. Ver ficha Descripción El administrador accede a la ficha y detalle del usuario pendiente de activación Dependencias 7.2.2. Gestión de usuarios pendientes Precondición Han de existir usuarios registrados en la aplicación, pero que se encuentren pendientes de activación. Secuencia normal 1. Gestión de usuarios pendiente: 2. Ver Ficha. Campos Apellido1, apellido2, nombre, nombre de usuario, Tipo Botones Ver ficha: permite ver más detalles del usuario Volver atrás: Vuelve a la pantalla de inicio 7.2.2.2. Caso 8.2. “Dar de Alta” 7.2.2.2. Dar de Alta Descripción El administrador da de alta al usuario pendiente de activación. Dependencias 7.2.2. Gestión de usuarios pendientes Precondición Han de existir usuarios registrados en la aplicación, pero que se encuentren pendientes de activación. Secuencia normal 1. Gestión de usuarios pendiente: 2. Activar usuario Campos Nombre, apellidos, nombre de usuario, opciones. Botones Dar de alta: Activa al usuario.
33 7.2.2.3. Caso 8.3. “Eliminar” 7.2.2.3. Eliminar Descripción El administrador accede a la ficha y detalle del usuario pendiente de activación Dependencias: 7.2.2. Gestión de usuarios pendientes Precondición: Han de existir usuarios registrados en la aplicación, pero que se encuentren pendientes de activación. Secuencia normal 1. Gestión de usuarios pendiente: 2. Eliminar Campos Apellido1, apellido2, nombre, nombre de usuario, Tipo Botones Eliminar: permite eliminar a los usuarios que no se encuentren activos. Volver atrás: Vuelve a la pantalla de inicio 7.2.3. Caso 9. “Gestión de usuarios activos” 7.2.3. Gestión de usuarios activos Descripción El administrador desde el menú perfil administra los usuarios activos. Dependencias: 7.2.3.1. Editar usuarios activos 7.2.3.2. Eliminar usuarios activos Precondición: Han de existir usuarios registrados en la aplicación, como usuarios activos Secuencia normal 1. El administrador accede a través de la pestaña perfil a las opciones especiales de administrador 2. Pincha en el botón de Gestión de usuarios. 3. Gestión de usuarios: a. Editar usuarios activos. b. Eliminar usuarios activos. Campos Nombre, apellidos, nombre de usuario Botones Editar: permite modificar campos de usuarios activos Eliminar: Elimina al usuario que se encuentra pendiente de activación Volver atrás: Vuelve a la pantalla de inicio
40 que sea posible permitirá mejorar la calidad de la aplicación, al igual que simplificar la lectura del código. La eficiencia de la aplicación se ha enmarcado en un segundo plano y en el desarrollo de la aplicación se ha tenido mas en cuenta la funcionalidad de la misma, que cumpla con los objetivos, que la eficiencia con que cumple los objetivos. Se tendría que mejorar en la eficiencia de la aplicación, teniendo en cuenta tiempos de entrega de la información. La aplicación no se ha desarrollado cumpliendo los estándares para el acceso a discapacitados, ni ha sido validada para cumplir con los estándares W3C, se tendría que cumplir con estos estándares y adaptarla para el acceso a discapacitados. En algunos casos la usabilidad de la aplicación puede verse reducida por el uso de imágenes para definir objetos, esta característica que se tuvo en cuenta como obligatorio, sería útil transformarla en una opción. Lo cual no limitaría la creación de objetos y recursos, a disponer de una imagen adecuada.
41 Bibliografía y Glosario de Términos Referencias [1] http://www.imsglobal.org/vdex/ http://www.imsglobal.org/vdex/vdexv1p0/imsvdex_bestv1p0.html http://www.slideshare.net/agrega/ims-vdex-agrega-presentation (Martínez-Ortiz, 2009) Martínez-Ortiz, I., Sierra, J.L., Fernández-Manjón, B. (2009). Authoring and Reengineering of IMS Learning Design Units of Learning. IEEE Transactions on Learning Technologies. (IMS 2010) Lamber M. Surhone, Mariam T. TEnnoe, Susan F. Henssonow IMS VDEX, Controlled Vocabulary, Faceted Clasisification, Repositoy Opens Service Interface Definition (IMS, 2008) IMS Question and Test Interoperability 2.1. www.imsglobal.org/question/ [2] http://web.usal.es/~angelpoveda/web%20biologia/tutoriales/cat%C3%A1logos, %20repositorios%20y%20bibliotecas%20virtuales1/repositorios_digitales.html http://www.emc.com/infographics/digital-universe-consumer-infographic.htm http://digital.csic.es/politicas/ http://www.rsp.ac.uk/start/before-you-start/what-is-a-repository/ http://repositoriosdinamicos.wordpress.com/2010/03/04/funcionalidades-2-0ofrecidas-por-los-repositorios-espanoles/ http://www.slideshare.net/lfg_pc/ponencia-dspace-istec [3] http://www.dspace.org/ http://www.xercode.es/es/productos/dspace http://dspace.ceu.es/community-list [4] http://fedora-commons.org/ [5] http://www.duraspace.org/ [6] http://www.proyectoagrega.es [7] http://www.artlex.com/ [8] http://www.getty.edu/research/tools/vocabularies/index.html [9] http://www.w3.org/2004/02/skos/ http://skos.um.es/
42 (Pastor Sánchez, Juan Antonio, 2009) Diseño de un sistema colaborativo para la creación y gestión de tesauros en Internet basado en SKOS [10] (AddisonWesley Educational Publishers Inc, 2004) User Interface Design: A Software Engineering Perspective. Addison Wesley (Ben Balbo 2007), Harry Fuecks, Davey Shafik, Ligaya Turmelle ,Matthew Weler O'Phinney . The PHP Anthology: 101 Essential Tips, Trickes & Hacks 2nd Edition is a collection of powerful PHP 5 solutions to the most common programming problems (Leon Atkinson ,Zeev Suraski 2003) Core PHP Programming. Tercera edición. http://php.net/ [11] (Ian Gilfillan, 2003) La Biblia MySql. (Pavon Puertas, Jacobo, 2007) Creación de un portal con PHP y MYSQL. Tercera edición http://www.mysql.com/ [12] http://httpd.apache.org/ [13] (WAMP, 2012) WampServer, php, mysql. http://www.wampserver.com/en/
43 Glosario de términos Canal RSS Siglas de Really Simple Syndication. Tecnología utilizada para recoger contenidos de páginas web y mostrarla a usuarios suscritos ha dicho canal. JSP Siglas de Java Server Pages. Tecnología orientada a la creación de páginas web dinámicas basadas en HTML, XML u otro tipo de documentos. Metadatos Definidos comúnmente como “datos sobre datos”, se refiere a la información utilizada de tal manera que ayude a la localización de otros datos. Objetos RDF Siglas de Resource Description Framework. Marco de trabajo utilizado para representar metadatos en la web. Ontología Esquema conceptual formulado dentro de un dominio concreto, con el objetivo de ofrecer un sistema fácil para el intercambio de información entre diferentes sistemas. Es comúnmente utilizado en la rama de la inteligencia artificial. OWL Acrónimo de Web Ontology Language. Conjunto de lenguajes utilizados para la representación de conocimiento para ontologías de autor. PostgreSQL Sistema de gestión de bases de datos relacional, orientada a objetos y de código abierto. Servlets Clase de programación de lenguaje Java, usada para dotar a los servidores de funcionales adicionales. XMP Acrónimo de Extensible Metadata Platform. Estándar ISO para la creación, procesamiento e intercambio de metadatos de todo tipo de fuentes.
44 XACML Acrónimo de Extensible Access Control Markup Language. Estándar que define una política de lenguaje para el control de acceso declarativo implementado en XML, así como un modelo de procesamiento el cual describe cómo evaluar peticiones de autorización de acuerdo a reglas definidas en diferentes políticas.
45 Anexo I Guía de instalación de la aplicación El propósito de este anexo es el de proporcionar una guía fácil y sencilla de instalación de la aplicación GEDOLI. Para la instalación en un servidor local, necesitaremos un sistema de infraestructura de internet el cual proporcione un servidor web, y un gestor de bases de datos. Se recomienda instalar WAMP server, por ser sencillo e intuitivo, o sus versiones para Linux (LAMP) o Macintosh (MAMP). WAMP server puede ser descargado de su página oficial, www.wampserver.com. Una vez descargado e instalado en el equipo, dispondremos de un directorio wamp, en el que almacenaremos el código fuente y la base de datos de la aplicación. Figura1 anexo I: Carpeta wamp. Para importar el código fuente, bastará con crear un nuevo directorio dentro del subdirectorio www, e importar en dicho directorio el código fuente de la aplicación. Figura2 anexo I: Carpeta proyecto.
46 Para importar la base de datos de la aplicación, se hará uso de la herramienta phpMyAdmin, la cual incluye el propio WAMP. A través de dicha herramienta, se importará la base de datos desde un fichero. Figura3 anexo I: Importar bbdd. Una vez se disponga del código fuente y la base de datos de la aplicación, se iniciarán los servicios WAMP, para poder hacer uso de la misma. Figura4 anexo I: Iniciar servicios wamp. Para ejecutar la aplicación, solo será necesario abrir un navegador y escribir en la barra de direcciones la palabra localhost. Esto nos llevará a la página de inicio de WAMP server, desde donde se podrá seleccionar el directorio de la aplicación y los archivos que se deseen ejecutar.
47 Figura5 anexo I: Projects Si la aplicación se encuentra instalada en un servidor de internet, bastará con sustituir la palabra localhost por la dirección IP del equipo donde se encuentre la aplicación (en caso de usarse un equipo como servidor), o por la dirección donde se encuentre alojada la aplicación,
48
49 Anexo II Guía del usuario y del administrador Esta guía pretende mostrar las funcionalidades de la aplicación para el usuario y para el administrador. Con este objetivo se ha dividido en dos secciones. Guía del usuario, donde se especifican las funcionalidades del perfil usuario y Guía del administrador, donde se especifican las funcionalidades para la gestión y administración propias del perfil administrador. Observar que el perfil administrador tendrá acceso a las opciones propias del perfil usuario, pudiendo actuar como un usuario. 1. Guía del Usuario 1.1. Pantalla Portal de Acceso Para acceder a la aplicación el usuario tendrá que acceder a la URL donde se encuentre la aplicación ejecutándose: Figura1 anexo II: Portal de acceso Para acceder el usuario tiene que encontrarse registrado y activo (tarea a realizar por el administrador de la aplicación): Si el usuario es la primera vez que accede a de pinchar en ¿aún no estas registrado?, para realizar el registro Si el usuario esta registrado y no ha sido activado, tiene que contactar con el administrador del sistema para la activación de su usuario. Registro de usuario Registro de usuario
56 Figura11 anexo II: Ver Ficha. Ver Ficha: nos da acceso a los recursos del objeto listado. Ver ficha
57 1.8. Pantalla búsqueda Taxonómica Mostrar las distintas clasificaciones taxonómicas, permitiendo la navegación por la misma hasta llegar a los objetos que se desean encontrar. Figura11 anexo II: Elementos de la taxonomía Taxonomía Cargada: nos indica la taxonomía que hemos seleccionado y la ruta por la que avanzamos Elementos de la taxonomía: nos muestra los elementos de esta clasificación cargada. Objetos encontrados: nos muestra el numero de objetos encontrados asociados a ese elemento de la clasificación. Buscar objetos: mostrará como resultado, los objetos que se encuentran dentro de esa clasificación taxonómica. Taxonomía cargada. Elementos de la taxonomía Objetos encontrado Buscar objetos
58 Figura12 anexo II: Ver ficha del objeto. Ver Ficha: nos da acceso a los recursos del objeto listado. 1.9. Pantalla búsqueda por campos Muestra los distintos campos por los que puede ser buscado un objeto dentro de la aplicación. Figura13 anexo II: búsqueda por campos Búsqueda por campos Ver ficha Buscar
59 Buscar: mostrará como resultado, los objetos que cumplen con los criterios de búsqueda, en el caso del ejemplo hemos realizado una búsqueda con titulo “k” y nos muestra un único resultado. Figura14 anexo II: Ver ficha objeto. Ver Ficha: nos da acceso a los recursos del objeto listado. Ver ficha
60 1.10. Pantalla Ver ficha Muestra los recursos asociado a los objetos listados, al igual que datos propios del objeto creado Figura15 anexo II: Datos. Taxonomías: nos indica a las taxonomías que está asociado el objeto. Descargar todo: permite descargar un archivo comprimido, con todos los recursos asociados. Descarga: permite descargar uno a uno los recursos asociados al objeto. Taxonomías asociadas Descargar Descargar todo
61 2. Guía del Administrador El administrador tendrá acceso a la aplicación, de igual modo que el perfil usuario, al igual que tendrá acceso a todas las funcionalidades que se encuentran descritas en la guía del usuario. A parte de las funcionalidades propias del perfil usuario tendrá otras particulares para realizar la gestión y administración de la aplicación. 2.1. Pantalla Perfil Administrador El enlace perfil que se encuentra en el menú principal, en caso el usuario tenga perfil administrador, le dará acceso a un menú especial de gestión y administración. Figura16 anexo II: PerfilAdministrador. Figura16 anexo II: OpcionesAdministrador. Gestión Taxonomías: permite gestionar las taxonomías. Acceso a Perfil
62 Gestión de usuarios Pendientes: permite gestionar los usuarios pendientes de activación. Gestión de usuarios: permite gestionar los usuario activos. Administrar Objetos: permite gestionar los objetos. Ver Historial de cambios: descarga archivo con registro de las modificaciones realizadas. Añadir Taxonomía: permite realizar la carga de una nueva taxonomía. Editar: edita el perfil del administrador para cambiar, corregir los datos propios. 2.2. Gestión Taxonómica Pantalla que nos permite cargar distintas taxonomías y eliminar las que ya tenemos cargadas Figura17 anexo II: Carga de taxonomía. Añadir taxonomía: permite añadir y cargar nuevas taxonomías, desde un fichero IMS-VDEX, nos llevara a la ventana “Cargar Taxonomías”. Eliminar: permite eliminar taxonomías existentes. Añadir taxonomía Eliminar
63 Figura18 anexo II: Añadir taxonomía a la lista. Añadir a la lista: añade a la lista antes de realizar la carga final de la taxonomía. Figura19 anexo II: Añadir taxonomía. Eliminar: permite eliminar de la lista taxonomías, antes de ser cargadas. Añadir: añade la taxonomía a la aplicación, nos lleva a la pantalla principal. 2.3. Gestión Usuarios Pendientes Pantalla que nos muestra todos los usuario que están pendientes de activación Añadir a la lista Añadir Eliminar de la lista
64 Figura20 anexo II: Opciones. Ver Ficha: permite acceder a los datos con los que se ha registrado el usuario. Dar de alta: activa el usuario al darle de alta en la aplicación. Eliminar: elimina el registro del usuario. 2.4. Gestión Usuarios Pantalla que nos muestra todos los usuarios que se encuentran activos en la aplicación. Figura21 anexo II: Gestión de usuarios. Opciones Opciones Buscar
65 Editar: permite acceder a los datos con los que se ha registrado el usuario y modificarlos, también permite acceder al perfil administrador para modificar sus datos. Eliminar: elimina el registro del usuario. NOTA: el perfil administrador no se puede eliminar, por esto en el caso del ejemplo el administrador no tiene el botón de eliminar visible. Buscar: permite buscar el nombre del usuario que se quiere administrar. 2.5. Administrar Objetos Pantalla que permite administrar los objetos, para esto permite realizar una búsqueda del objeto a administrar como punto de partida. Figura22 anexo II: Buscar usuarios. Buscar: nos permite realizar la búsqueda del objeto a administrar. Busca r