• No se han encontrado resultados

CAPÍTULO I : “Gestión Documental y Gestión Documental Inteligente Conceptos Generales”

2.4 Estructura del Hook

El módulo de clasificación automática de contenidos estructurados fue desarrollado utilizando una novedosa tecnología (conocida como Hook) introducida en Liferay para que los desarrolladores pudieran extender las funcionalidades del portal sin tener que cambiar su código fuente, por lo cual el módulo será referenciado para el resto de esta investigación con el nombre de “Hook”.

El Hook implementado se divide en dos componentes: un directorio de carpetas donde se encapsulan las clases implementadas para extender el proceso de subida de contenidos en la “Librería de Documentos” y un directorio de carpetas donde se almacenan los ficheros de configuración del hook. En la Figura 7 se representa la estructura de carpetas del proyecto (DocsCategoryClassification).

Figura 7 Estructura de carpetas del Módulo de Clasificación. DocsCategoryClassification.

A continuación se describen las carpetas que estructuran el hook:

Tabla 1 Descripción de las carpetas y subcarpetas del Hook

Carpetas Descripción

subdirectorios.

WEB-INF Es la carpeta WEB-INF por defecto de los módulos web. En este espacio se colocan los ficheros de configuración del hook.

WEB-INF/src En esta carpeta se coloca el código fuente de la aplicación.

2.4.1 Creación del Hook

El hook fue creado utilizando el entorno de desarrollo Liferay Plugins SDK proporcionado por portal. Liferay SDK al ser integrado como un plugins del IDE Eclipse le brinda al programador la posibilidad del crear los hook mediante una interfaz como se muestra en la Figura 8¡Error! No se encuentra el origen de la referencia.:

Durante el transcurso de esta investigación se identificó que para la implementación del Módulo de Clasificación de Contenidos se necesita extender el servicio del portal que gestiona la subida

de archivos en el portlet Biblioteca de Documentos

(com.liferay.portlet.documentlibrary.service.DLFileEntryLocalService).

2.4.2 Configuración del Hook.

A continuación se describen los ficheros de configuración del módulo de clasificación:

Tabla 2 Descripción de los archivos de configuración del Hook

Ficheros Descripción

liferay-hook.xml Especifica el tipo de hook a implementar.

liferay-plugin-package.properties Describe las características del plugin a desplegar en el portal, en esta investigación nos referimos a un plugin de tipo Hook.

Dentro de la carpeta WEB-INF se encuentra el fichero liferay-plugin-package.properties donde vamos establecer la versión, nombre, desarrollador y una breve descripción del hook a desplegar:

name= Clasificar Documentos module-incremental-version= 1

short-description= Carga el vocabulario de la organización activa o en su defecto la que encuentre en la jerarquía.

author= Yaraiza Reyes Rodriguez licenses= LGPL

El hook es definido en el fichero liferay-hook.xml como se muestra a continuación:

<hook> <service> <service-type> com.liferay.portlet.documentlibrary.service.DLFileEntryLocalService </service-type> <service-impl> bimas.com.dlfile.ExtDLFileEntryLocalService

</service-impl> </service>

</hook>

Como se muestra en el código anterior, el servicio fue definido en las etiquetas <service-type> y

<service-impl>. En la etiqueta <service-type> se especifica el servicio del portal que se quiere extender y en la etiqueta <service-impl> se especifica el código del servicio personalizado.

2.4.3 Diagrama de Paquetes.

El módulo DocsCategoryClassification-hook es una personalización de los aspectos teóricos que Liferay proporciona, tal como se muestra en la Figura 9. Se define en él los servicios que se deseen customizar y una vez desplegado los cambios son efectivos sin necesidad de sobrescribir los ficheros originales de la instalación del portal.

Figura 9 Diagrama de paquetes.

Para una mayor organización en la programación del módulo de clasificación se estructuró el paquete DocsCategoryClassification-hook en los siguientes sub-paquetes:

 Utils: este sub-paquete agrupa un conjunto de clases auxiliares que facilitan la lectura del contenido de los documentos en formato Excel y la implementación de las búsquedas de las categorías definidas en Liferay.

 Dlfile: este subpaquete contiene la clase que extiende el servicio de subida de archivos del portlet de la Biblioteca de Documentos.

2.4.4 Diagrama de clases

El modelado y definición de clases en una solución de software es un elemento de vital importancia en el desarrollo de aplicaciones informáticas, por lo tanto en este proceso se debe ser cuidadoso y minucioso, tratando de dejar reflejado en los diagramas de clases la solución propuesta al problema en cuestión.

La clase ExtDLFileEntryLocalService.java es la encargada de identificar los documentos subidos al portal y luego clasificarlos. Para este proceso se utilizan las rutinas implementadas en los ficheros de clases ReadExcelsUtil.java y CheckCategoryInVocabulary.java, ver Figura 10.

Figura 10 Diagrama de Clases

EL fichero de clases ReadExcelsUtil.java implementa rutinas que permiten leer el contenido de los SBA en el momento que son subidos al portal y genera un identificador único o checksum. EL fichero de clases CheckCategoryInVocabulary.java java implementa rutinas que permiten buscar que el checksum generado para ese documento este registrado como una categoría en el vocabulario documental definido en cada Sitio Colaborativo del portal.

Documento similar