Gestión documental en nuestras aplicaciones
Las claves
de la gestión documental 1
Nuestro
sistema de gestión documental 2
Los casos de
uso del módulo. 3
El modelo de
datos del gestor documental 3
Los casos de
uso más sencillos a implementar 4
Lo que
permite hacer este modelo de gestor documental 5
Un ejemplo
de modelo de datos. 6
Introducción
Cuando creamos aplicaciones de gestión normalmente deberemos
tratar con información recogida en documentos externos a la aplicación, por
ejemplo cartas, facturas, informes, etc. Estos documentos normalmente nos
vienen dados como ficheros informáticos en los formatos típicos de la
ofimática, como documentos Word y HTML, imágenes, ficheros de texto, documentos
escaneados, etc. Otras veces debe ser nuestra aplicación la q ue debe
generar dichos documentos, normalmente para ser impresos o enviados a nuestros
clientes y proveedores.
Por tanto, lo mejor que podemos hacer es incluir un gestor
documental en nuestra aplicación. Este módulo se encargará de guardar y
organizar los documentos externos, permitiendo su búsuqeda, visualización y
edición de modo sencillo y rápido.
Como desarrollador de aplicaciones de gestión documental, os
propongo ahora los requisitos y el análisis para un móduilo de gestión
documental para ser incorporado de manera sencilla a vuestros desarrollos.
Las claves de la gestión documental
Cuando necesitamos diseñar un sistema de gestión documental
debemos determinar los requisitos que harán que este módulo tenga éxito. Las
claves para este éxito son:
- Que el sistema séa rápido en su manejo. Parece simple pero
realmente es complicado hacer un sistema de gestión documental rápido. - Que el sistema aporte valor añadido a la gestión
tradicional.
¿Cómo podemos medir el rendimiento de nuestro sistema? La
foma más sencilla es observar a los usuarios del sistema. Supongamos que hemos
implementado el gestor documental dentro del módulo de gestión de facturas.
Supongamos que nuestro usuario necesita encontrar una factura concreta a partir
de algún dato que ya posee (el nombre del cliente, alguna fecha de referencia,
etc). En los casos más simples (el usuario sabe la fecha exacta o sabe el
cliente exacto), tanto el método tradicional (buscar en los documentos en
papel, normalmente clasificados por carpetas) y la búsqueda en el gestor
documental serán prácticamente parecidas. De hecho es probable que el gestor
documental tenga ligera ventaja, sobre todo en comodidad.
El problema surge cuando la información ya no es exacta. En
este caso las fechas son aproximadas, o el cliente no lo conocemos con
exactitud. El problema es abordado entonces por dos caminos diferentes:
- Cogemos la carpeta y comenzamos a buscar en todas las
facturas. - Utilizamos las opciones de búsqueda del gestor documental
para localizar los documentos.
Evidentemente el gestor documental será más eficiente cuando
se cumpla que los la información guardada para el documento sea lo más completa
posible y que las opciones de búsqueda permita explotar dicha información. A menudo
se v en aplicaciones que no cumplen alguno de estos requisitos, por lo que el
usuario acaba tirando de carpeta.
Nuestro sistema de gestión documental
Para diseñar nuestro sistema de gestión documental vamos a
partir de unos requisitos sencillos:
- Nuestro sistema almacenará documentos. Por docuemtnos
entenderemos cualquier tipo de fichero informático. Evidentemente
soportaremos de manera específica los docuemntos más habituales: Word,
HTML, imágenes JPG y PDF. - A cada documento le asociaremos siempre un registro, en el
que almacenaremos la información estructurada del documento. - Cada documento podrá tener varias versiones. Normalmente
el usuario trabajará con la última pero podrá recuperar cualquiera de las
anteriores. - Las dos formas de trabajo principales será tratar
documento a documento o tratar grupos de documentos.
Dentro de la información estructurada que guardaremos para
el documento destacaremos:
- La información básica del documento (nombre, descripción,
resumen, tipo, fechas, formato) - El número de versión del documento
- El estado del documento
- La lista de palabras clave del documento
- La lista de categorías a las que pertenece
- Los datos calificativos del proyecto (datos cualitativos,
cuantitativos y fechas). Son datos que se asocian libremente a cada
documento. Cada dato tiene un nombre y un valor, y serán utilizados luego
en las búsquedas como criterios, o en cálculos simples (sumas de
cantitades).
Así mismo el documento físico (fichero) tendrá asociado un
registro para su localización rápìda dentro del sistema, con los datos
relevantes del mismo (nombre de fichero, ubicación, fechas de creación y
modificación).
Los casos de uso del módulo
Los casos de uso principales son los siguentes:
- Búsqueda de un documento. El sistema permite buscar
un documento utilizando la información estructurada guardada en el
registro del documento. El listado de resultados ofrecerá todas las
coincidencias, con algunos de los datos más relevantes del documento, o
permite crear o insertar documentos nuevos o existentes.. - Creación de un docujmento. Se elige el tipo de
documento, y el sistema crea un documento a partir de una plantilla y un
registro para la información estructurada del documento. - Inserción de un documento existente. Al insertar el
documento se crea el registro y se rellena la información estructurada del
documento. - Edición del ldocumento, permite editar tanto el
registro como el propio documento.Si se modifica el documento se crea
automáticamente una nueva versión del registro y del documento, que queda
marcada como la versión actual. - Importación de múltiples documentos. Los documentos
se dejan en una carpeta específica del sistema y se insertan en el gestor
con una operación del usuario.
El modelo de datos del gestor documental
Para crear un modelo de datos básico para el gestor
documental podemos utilizar los siguientes tipos de registro:
- Retistro documental. Tiene los siguientes campos:
Número de registro, Versión, nombre, resumen, estado, palabras clave,
categorías, fechas (creación, modificación, etc) - Documento. Tiene los siguientesNúmero de registro
asociado, Versión, datos del fichero. - Palabra clave. Tiene Número de registro, Nombre,
Código abreviado, tipo (puede bhaber varios tipos de palabras clave) - Categorías. Tiene los de las palabras clave más la
categoría Padre. - Datos adicionales: Cualidad, Cantidad y Fecha,
contienen un Número de registro, un nombre, un valor (String, fecha o
float), código abreviado, tipo
Además el sistema debería soportar listas de control de
acceso (ACL), por lo que cada uno de estos registros debería tener asociada una
lista de control de acceso
Creación de un documento
Para ver cómo se utiliza cada uno de los campos del modelo,
vamos a ver cómo se realiza el registro de un documento en el slistema de
gestión documental.
Lo primero que hace el usuario es realizar una búsqueda en
el gestor documental, por si ya existiese otro documento igual o parecido. De
los documentos existentes puede usuar el documento (para usarlo como
plantilla), la iunformación del registro de un documento (somos vagos y no nos
gusta escribir de más) o ambos.
El sistema nos creará un documento nuevo y un registro de
documento. Trabajaremos sobre el documento y al guardarlo el sistema nos
presentará el registro del documento, para completarlo. Aquí añadiremos la
siguiente información:
- La información básica del documento (nombre, fecha de
creación, etc) - Un resumen del docuento. Será una pequeña descripción del
documento que nos permitirá localizarlo mejor en los listados de
documentos. Incluso podemos dejar al Word que nos haga un autoresumen… - La lista de palabras clave. Es fundamental crear esta
lista, ya que será una de los principales criterios de búsqueda. - La lista de categorías a las que pertenece el documento.
Esto nos permite organizar de forma sencilla los documentos. Un documento
puede pertenecer a varias categorías. La diferencia entre palabras clave y
categorías es que éstas últimas están jerarquizadas. - Además podremos añadir datos adicionales, que pueden ser
cualitativos (un texto), cuantitativos (una cantidad) o fechas relevantes
del documento. Por ejemplo podemos añadir a las facturar la cualidad año y
trimestre, de podamos localizar fácilmente las facturas correspondientes a
cada pariodo con facilidad. - Por último le añadiremos un estado: pendiente, cerrado,
supervisado, etc, que nos permitirá hacer los seguimientos del documento.
Los casos de uso más sencillos a implementar
Para nuestro gestor documental deberíamos implementar al
menos los siguientes casos de uso, que describiremos como pantallas de nuestra
aplicación:
- Búsqueda de documentos. Esta pantalla permite
realizar una búsqueda en el gestor documental de documentos según los
criterios fijados. Los criterios a mostrar serían todos los campos del
registro documental así como las tablas asociadas (palabras clave,
categorías, datos auxiliares o datos de los documentos). Al menos se
debería soportar un nivel de anidación (es decir, uso de operadores lógios
Y y O). Un ejemplo sería “todos los documentos con nombre N, fecha entre
F1 y F2 y dato auxiliar D1 con valor DD1.Las acciones que debería soportar
serían: - Ir a crear documento.
- Buscar documento
- Creación de un documento nuevo. La pantalla muestra
un registro documental en blanco, Uno de los combos permitirá elegir la
plantilla de documento a crear, Acciones: - Crear documento
- Insertar documento existente. La pantalla permite
seleccionar un documento existente en el sistema de ficheros local del
usuario. Cuando el usuario ejecuta la acción “insertar”, la pantalla
muestra el registro documental creado, para que el usuario lo complete.
Finalmente la acción “guardar” añade el documento y el registro documental
al sistema. - Listar documentos. Tras la búsqueda, se muestran
los resultados que coinciden con los criterios. Las acciones que se pueden
realizar son: - Moverse por el listado
- Realizar nueva búsqueda
- Ver un registro documental
- Ver un documento
- Insertar documnto
- Crear documento
- Editar documento
- Editar documento. Esta pantalla permite editar un
documento y su registro documental. El nuevo documento se guardará como
una nueva versión del ya existente. Al guardarlo además el usuario debe
actualizar el rgistro documental (probablemente la información del
registro cambiará, se añadirán o eliminarán palabras clave, etc) - Ver y editar registro documetnl. Muestra el
registro documental y permite alterarlo, sin modificar el documento
asociado. Una funcionaliad imprtante de esta pantalla es que en el modo de
edición, si se cambia algún campo del registro, se debe marcar (por
ejemplo con otro color), para que el usuario sepa que debe guardar el
documento. - Ver el historico de un documeto. Muestra todas las
verisones del documento, como un listado de versiones. Así el usuario
puede ver los cambios que han ocurrido. - Borrar un documento o registro documental. En
principio, esta opcióin no debería estar contemplada en el modo normal de
la aplicación, ya que en un gestor documental los documentos no se borran,
sólo se permite añadir documentos. Es más fácil marcar un documento como
borrado o algo semejante. - Importación de múltiples documentos. En esta
pantalla el usuario añade un conjujnto de documentos o una carpeta al
sistema. Cada documento es añadido de manera independiente, creándose un
registro documetnal para cada documento. Lo habitual además es marcarlos
de manera que se tengan que revisar los registros documentales. - Búisquedas con cálculos. Son búsquedas en las que
además se hace un cálculo con los datos de los registros encontrados. Las
más sencillas son los totales, en los que se calcula el total de un cierto
dato adjunto de los registros (importe, impuestos, etc) dados unos
criterios de búsqueda. - Informes. Son listados formateados. Un caso típico
son los informes en formato PDF. Los informes además suelen contener
cálculos internos. Si el sistema genera informes automáticos periodicos,
se deberian también almacenar como documentos del gestor documental.
Estos casos d e uso no están detallados. Por ejmeplo, hace
falta incluir funciones de impresión. Quedan los demás casos para el lector.
Lo que permite hacer este modelo de gestor
documental
Aunque a primera vista el modelo de datos es muy simple,
esconde bastante funcionalidad que hará que la aplicación de gestión documental
sea potente. La búsqueda por palabras clave y por categorías facilitará mucho
la localizaciónexacta de documentos, así como su organización por el propio
usuario de manera sencilla. Y los datos definidos por el usuario nos permitirá
almacenar de manera estructurada y fácilmente explotable todo tipo de
inormación adicional.
Por supuesto este modelo de datos es bastante sencillo,
aunque potente. Podremos con facilidad extender este modelo para adaptarlo a
aplicaciones concretas, en las que determinados dados nos interesará más que
formen parte del modelo. Pero esto lo dejo como ejerccio para el diseñador de
aplicaciones.
Un ejemplo de modelo de datos
El modelo de datos lo podríamos obtener fácilmente con las
siguientes tablas:
RegistroDocumental
Campo |
Tipo |
Descripción |
id |
|
|
NReg |
Entero, PK |
Número de registro documental. Nota, si hay un campo id, |
Version |
Entero, PK |
Número de versión para el documento y registro documental |
Type |
String |
Tipo de documento/registro documental |
Name |
String |
Nombre del documento |
Resumen |
String |
Resumen del documento |
Documento
Campo |
Tipo |
Descripción |
Id |
|
|
Nreg |
Entero |
|
Version |
Entero |
|
Name |
String |
Nombre de fichero |
FechaCreación |
Fecha |
Fecha de creación indicada en el sistema de ficheros |
FechaModificación |
Fecha |
Fecha de modificación indicada en el sistema de ficheros |
Ruta |
String |
Directorio en el que se almacena el fichero |
PalabraClave
Campo |
Tipo |
Descripción |
id |
|
|
Nreg |
Entero |
|
Version |
Entero |
|
Name |
Strign |
Nombre de la palabra clave (puede tener espacios) |
Code |
String |
Código abreviado |
Type |
String |
Tipo de palabra clave (prefijada, diccionario, etc.) |
Categoría
Campo |
Tipo |
Descripción |
id |
|
|
Nreg |
Entero |
|
Version |
Entero |
|
Name |
Strign |
Nombre de la palabra clave (puede tener espacios) |
Code |
String |
Código abreviado |
Type |
String |
Tipo de palabra clave (prefijada, diccionario, etc.) |
Parent |
Entero |
Categoría padre |
Dato auxiliar (Fecha, cualidad, antidad)
Campo |
Tipo |
Descripción |
Id |
|
|
Nreg |
Entero |
|
Version |
Entero |
|
Name |
Strign |
Nombre del cato auxiliar (puede tener espacios) |
Value |
* |
Valor del dato |
Code |
String |
Código abreviado |
Type |
String |
Tipo de dato (prefijada, diccionario, etc.) |
Los valores pueden ser enteros, fechas o cadenas, según el
tipo de dato auxiliar.
En la tabla registro documental, el par (NReg, Version)
hacen de clave primaria compuesta., en todas las demás será la clave
extrangera. El registro documental es el centro del modelo de datos del gestor
documental.
Añadiendo seguridad al gestor documental
Sio queremos limitar el acceso a los diferentes elementos
del gestor documental todos los objetos del modelo deben tener un campo
adicional que es la lista de control de acceso al objeto (ACL), que determina
qué usuarios, grupos o roles tienen permiso para aceder al objeto. Esto lo
podemos implementar bien en cada objeto o bien como tablas auxiliares, aunque
con mayor coste en las búsquedas.
Es muy importante que también las palabras clave y
categorías tengan listas de control de acceso, pues no sólo hay que restringir
el acceso a los registros y documentos, también debe controlarse las búsquedas.
Si un usuario no tiene permisos para leer cierto documento, tampoco debería
encontrarlo, aunque este comportamiento debería ser definible por el
administrador del sitema documental.
Conclusiones
Ya no tenemos excusa para que nuestra aplicación de gestión
carezca de un gestor documetnal sencillo. Si nos fijamos con siete tablas
podemos implementarlo, y la potencia del gestor documental nos podrá asombrar.
De hecho, si somos un poco pérfidos las tres tablas últimas las podemos meter
en una única tabla de datos adjuntos, con lo que el gestor se quedaría en cinco
tablas…
Con un buen módulo de búsquedas (que es la clave en todo
gestor documental) podremos dar un toque profesional a nuestra aplicación de
gestión, cumpliendo con el objetivo de “papel cero” y teniendo toda la
información accesible rápidamente.
Por supesto, si teneis dudas, sugerencias o comentarios, no
dudeis en poneros en contacto conmigo, a través de Autentia o de
AdictosAlTrabajo.
Sobre el autor
Cristóbal González Almirón es consultor de desarrollo de
proyectos informáticos. Actuamente desarrolla su labor profesional para la Comunidad de Madrid, a través de su Agencia de
Informática y Comunicaciones, en proyectos de implantación de gestión
documental.
Su experiencia profesional se ha desarrollado en empresas
como Compaq, HP, Mapfre, Endesa, Repsol, Universidad Autónoma de Madrid, en las
áreas de Desarrollo de Software (Orientado a Objetos), tecnologías de Internet,
Técnica de Sistemas de álta disponibilidad y formación a usuarios.
Si quieres contactar con él, envía un correo a
criskerberos-tutoriales@yahoo.com.
Hola quisiera saber si tienes las pantallas diseñadas para poder entender mas graficamente el ejemplo.
gracias