Se ha desarrollado una nueva interfaz gráfica complementaria para Thuban, diseñada para ofrecer una visualización simplificada, orientada a usuarios específicos según las necesidades del negocio. Esta nueva funcionalidad es completamente compatible con el scripting de Thuban y ha sido diseñada con un enfoque responsive, permitiendo su uso en diversos dispositivos.
La activación y asignación de esta interfaz se encuentra validada por el sistema de licencias del producto, garantizando un control preciso sobre su implementación.
Principales mejoras y actualizaciones:
Landing Page
Se ha implementado una nueva pantalla principal para la visualización simplificada en Thuban Portal, proporcionando una experiencia de usuario más intuitiva.
Thuban Portal | Desktop
Thuban Portal | Mobile
Admin Configuración
En la configuración de Clases Documentales, se ha añadido la opción de activar la visualización simplificada en Thuban Portal.
Creación de Documentos
Nueva pantalla optimizada para la creación de documentos dentro del entorno simplificado de Thuban Portal.
Thuban Portal | Desktop
Thuban Portal | Mobile
Búsqueda de Documentos
Diseño de una nueva interfaz para la búsqueda de documentos, adaptada a la visualización simplificada en Thuban Portal.
Thuban Portal | Desktop
Thuban Portal | Mobile
Bandejas de Workflow
Desarrollo de una nueva pantalla para las bandejas de trabajo, que incluye:
*Representación gráfica del contenido de las bandejas y del mapa de procesos configurado.
*Funcionalidad para seleccionar un workflow específico en caso de que una Clase Documental tenga múltiples flujos asociados.
Bandejas
Thuban Portal | Desktop
Thuban Portal | Mobile
Representación Gráfica
Thuban Portal | Desktop
Thuban Portal | Mobile
Mapa de Proceso
Thuban Portal | Desktop
Thuban Portal | Mobile
Selección de Workflow
Thuban Portal | Desktop
Thuban Portal | Mobile
Edición de Documentos
Creación de una nueva interfaz de edición adaptada a la visualización simplificada en Thuban Portal.
Thuban Portal | Desktop
Thuban Portal | Mobile
Eventos de Scripting
Los módulos de Creación de Documentos, Búsqueda y Bandejas en Thuban Portal ahora soportan los mismos eventos de scripting ya disponibles en Thuban-Web, asegurando consistencia y flexibilidad en la personalización.
Este diseño fortalece la experiencia de usuario, agiliza los procesos clave y asegura la escalabilidad del producto, alineándose con los estándares modernos de desarrollo de software.
Se ha diseñado e implementado una nueva funcionalidad que permite a los perfiles administradores, con los privilegios correspondientes, configurar notificaciones destinadas a los usuarios del sistema. A continuación, se detallan las principales características y consideraciones de esta funcionalidad:
Gestión desde el panel de administración: La configuración de notificaciones está disponible únicamente para administradores que cuenten con permisos específicos para acceder a esta funcionalidad.
Configuración de ventanas de tiempo: Es posible establecer un rango de fechas para la visualización de las notificaciones, siendo esta una opción configurable.
Segmentación de usuarios: Las notificaciones pueden dirigirse a usuarios individuales o a grupos específicos. Si no se realiza ninguna selección, la notificación será visible para todos los usuarios.
Eliminación de notificaciones: Al eliminar una notificación desde el panel de administración, esta se elimina automáticamente para todos los usuarios.
Visualización en la interfaz de usuario: Las notificaciones se presentan en una nueva sección identificada con un ícono de campanilla, accesible desde la interfaz principal del sistema.
Interacción del usuario: Los usuarios pueden visualizar las notificaciones asignadas, marcarlas como leídas o no leídas, y también eliminarlas si lo desean.
Esta funcionalidad fue desarrollada para optimizar la comunicación interna dentro del sistema, ofreciendo una herramienta flexible, segmentable y fácil de gestionar para los administradores y una experiencia intuitiva para los usuarios finales.
Se ha implementado un nuevo proceso automatizado que se ejecuta en intervalos configurables, definidos al iniciar la aplicación. Este proceso tiene como objetivo principal desbloquear documentos retenidos en el sistema por usuarios que ya no tienen una sesión activa.
Características principales:
Configuración de la frecuencia: La periodicidad de ejecución del proceso puede ajustarse fácilmente desde el panel de configuración default.
Ejecución inicial y cíclica: Al iniciar la aplicación, el proceso libera automáticamente los documentos bloqueados. Posteriormente, la tarea se ejecutará de manera recurrente según el intervalo configurado.
Resolución de desafíos en entornos Multi-Thuban:
Se contempló la validación de la existencia de sesiones activas tanto en un despliegue de instancia única como en entornos Multi-Thuban. En estos últimos, se consideró que la sesión de un usuario podría estar activa en una instancia diferente a la que ejecuta el proceso. Para abordar este desafío, se diseñó un algoritmo robusto que garantiza el desbloqueo seguro de documentos, minimizando cualquier impacto en los usuarios activos.
Validación de sesiones activas:
Se verifica la existencia de sesiones activas mediante el token de conexión en la tabla ThubanUsers
.
El proceso considera un token válido si existe un valor en la columna connectionToken
y si su fecha no supera las 8 horas desde el momento de validación.
Criterios de desbloqueo:
Si no hay usuarios activos en el sistema o si todas las sesiones han superado el límite de 8 horas, el proceso desbloquea todos los documentos retenidos.
Este enfoque asegura que los documentos bloqueados por usuarios inactivos sean liberados de manera eficiente y sin afectar a usuarios legítimos.
Este proceso garantiza una operación fluida y confiable del sistema, optimizando la gestión de documentos bloqueados en escenarios con múltiples instancias y usuarios distribuidos.
Implementación de la Funcionalidad de Autoregistro en Thuban
Se diseñó y desarrolló la funcionalidad de autoregistro en Thuban, tomando en cuenta los siguientes lineamientos para garantizar una experiencia segura y eficiente:
Activación del Autoregistro
La funcionalidad de autoregistro es una configuración de seguridad que, por defecto, se encuentra desactivada.
Solo los perfiles con permisos de Gestión de Permisos y Gestión de Grupos pueden acceder a la pestaña correspondiente para su configuración.
Opciones de Configuración
Asignación de Grupos Predeterminados:
Es posible definir uno o más grupos predeterminados a los que se asignarán automáticamente los
Sin Configuración de Grupos Predeterminados:
En caso de no asignar grupos predeterminados, el usuario es creado igualmente. El sistema notificará a los correos configurados, y el usuario verá un mensaje al ingresar a la aplicación indicando que un administrador deberá validar su acceso y asignar permisos.
Restricciones de la Funcionalidad
Si la funcionalidad de autoregistro no está habilitada por licencia, esta aparece desactivada con el mensaje: "Funcionalidad no habilitada por licencia".
Los usuarios creados mediante autoregistro solo tendrán acceso a los módulos permitidos dentro de Thuban.
Interfaz y Proceso de Registro
En la pantalla de inicio de sesión, se añadió un botón de "Registrarse" para usuarios sin cuenta.
El proceso de autoregistro incluye una ventana en la que se solicita la siguiente información:
ID de Usuario: Dirección de correo electrónico (con validación de existencia).
Si el correo ya está registrado, el sistema notifica al usuario.
Una vez completados y validados los campos, la cuenta se crea pero permanece inhabilitada hasta que el usuario confirme el registro a través de un enlace enviado por correo electrónico.
Confirmación de Cuenta
Al hacer clic en el enlace de confirmación recibido por correo, la cuenta se habilita automáticamente y el usuario es redirigido al inicio de sesión con un mensaje de activación exitosa.
Gestión de Cuentas Inactivas
Se desarrolló una funcionalidad que elimina automáticamente las cuentas creadas mediante autoregistro que no hayan sido activadas en un plazo de 30 días desde su creación.
Aquí tienes una versión mejorada y más formal para un entorno comercial de desarrollo de software:
Esta funcionalidad, disponible en versiones anteriores para la exportación de resultados de búsqueda a CD/DVD, ha sido actualizada en esta nueva versión. Ahora, la exportación se realiza exclusivamente al sistema de archivos (FileSystem). En la configuración, el usuario puede definir la ruta de destino, el número máximo de registros y el formato de salida.
La incorporado la opción para establecer un idioma predeterminado sin importar en que idioma se encuentre el navegador.
Cabeceras HTTP Vulnerables
Descripción
Las cabeceras HTTP son componentes clave en las solicitudes y respuestas HTTP, ya que proporcionan metadatos esenciales sobre la comunicación entre cliente y servidor. Estas cabeceras pueden contener información sobre el tipo de contenido, la codificación, la autenticación y las políticas de seguridad.
Sin embargo, configuraciones inadecuadas o la ausencia de ciertas cabeceras críticas pueden generar vulnerabilidades que exponen las aplicaciones a ataques como la inyección de código, el cross-site scripting (XSS) o el clickjacking.
Cabeceras Clave y Vulnerabilidades Asociadas
X-Content-Type-Options:
Garantiza que los navegadores no adivinen el tipo de contenido. Sin esta cabecera, es posible que ejecuten contenido malicioso al interpretar incorrectamente el tipo de archivo.
Strict-Transport-Security (HSTS):
Obliga a los navegadores a establecer conexiones seguras (HTTPS). Su ausencia permite que los atacantes realicen ataques de intermediario (MITM) en conexiones HTTP no cifradas.
X-Frame-Options:
Restringe la incrustación de la página en iframes para prevenir ataques de clickjacking. Si no se configura, terceros pueden engañar a los usuarios para ejecutar acciones no intencionadas.
Content-Security-Policy (CSP):
Define políticas estrictas sobre qué contenido puede ejecutarse en la aplicación. La falta de esta cabecera habilita la ejecución de scripts maliciosos, facilitando ataques de XSS.
X-XSS-Protection:
Activa los mecanismos de protección contra XSS en navegadores modernos. Sin esta cabecera, las aplicaciones son más susceptibles a este tipo de ataques.
Riesgos Asociados
Ejecución de Código Malicioso:
Los atacantes pueden inyectar y ejecutar scripts maliciosos directamente en el navegador del usuario, comprometiendo su experiencia y datos.
Ataques de Intermediario (MITM):
La ausencia de cifrado robusto y políticas de seguridad adecuadas facilita la interceptación y manipulación de datos entre cliente y servidor.
Suplantación de Contenido:
Los atacantes pueden insertar contenido malicioso en el contexto de la aplicación, engañando a los usuarios para que realicen acciones no deseadas.
Pérdida de Confianza del Usuario:
Los incidentes de seguridad erosionan la confianza de los usuarios en la aplicación, afectando la reputación y el valor comercial del producto.
Para mitigar estos riesgos, es fundamental implementar y validar las cabeceras de seguridad necesarias durante el desarrollo y despliegue de las aplicaciones.
Se ha desarrollado un nuevo servicio web en Thuban API que permite recuperar versiones anteriores de un documento almacenado en Thuban. Este recurso puede ser consultado especificando una fecha de creación o un número de versión.
Si la clase documental no tiene activado el sistema de versionado, el servicio informará de esta condición de manera explícita.
En búsquedas por fecha, si se encuentran múltiples coincidencias, el servicio retornará el documento correspondiente a la versión más reciente. de que no tenga activado el versionado la clase documental se informa la situación. En caso de buscar por fecha y hallar más de un resultado se devuelve el documento de número de versión más reciente.
Se ha implementado un sistema de registro (log) para las llamadas realizadas. La activación o desactivación del log se gestiona mediante llamadas a los endpoints del servicio web /auditServices/apiLogs
. Estos son los endpoints disponibles:
Activar el log: /auditServices/apiLogs/enable
Desactivar el log: /auditServices/apiLogs/disable
Consideraciones técnicas:
Body: No es necesario incluir un body en las solicitudes.
Autenticación: Es obligatorio incluir un token Bearer como en el resto de los servicios.
Para API Tokens, no se requieren permisos adicionales.
Para Tokens de usuario, es necesario contar con permisos específicos de LOGS para activar o desactivar la funcionalidad.
Información registrada:
Cuando el log está activo, se almacena la siguiente información:
Request: URL, headers y body.
Response: Headers y body.
Para garantizar la seguridad de la información, se aplican filtros que omiten datos sensibles como:
Tokens de acceso.
Información personal de usuarios.
Códigos de autenticación.
Este sistema permite un seguimiento seguro y eficiente de las interacciones realizadas mediante los servicios, cumpliendo con los estándares de seguridad y privacidad.
Como resultado de un Pentest externo realizado al producto, se identificó la necesidad crítica de implementar un sistema de CAPTCHA más robusto basado en imágenes. Este mecanismo requiere que los usuarios identifiquen objetos en imágenes, fortaleciendo así la seguridad y mitigando posibles vulnerabilidades.
Se ha eliminado el servicio BPMServiveIMPL.java que se ha dejado de utilizar en la construcción de WF.
se ha incorporado un ID a cada uno de los elementos de la botonera en vínculos dinámicos en las pantallas
tmenutabs.zul y tmenupanels.zul.
Se realizaron revisiones y ajustes estéticos en la pantalla de configuración general del usuario.
Se rediseñó y mejoró estéticamente la pantalla principal del Módulo Licencia.
Se ha mejorado visualmente la ventana Parámetros para que sea más intuitivo la configuración de un parámetro por default de un campo.
Se ha incorporado una nueva funcionalidad en la configuración de Clases que permite personalizar el orden de visualización de los resultados, pudiendo elegir entre las opciones 'Más reciente primero' o 'Más antiguo primero'.
Se actualizó la versión ZK (9.6.5) a raíz de vulnerabilidades detectadas.
Se ha reordenado el módulo de Administración. Este diseño fortalece la experiencia de usuario.
Se optimizó la lógica de manejo de grupos en LDAP para realizar una única consulta masiva, permitiendo procesar los datos en memoria y reduciendo el número de llamadas al servidor LDAP. Además, se corrigió un error relacionado con la creación automática de usuarios en LDAP, específicamente en la configuración de la propiedad que determina el uso de Thuban Portal. Anteriormente, esta propiedad no se inicializaba correctamente durante la creación automática, lo que generaba un NullPointerException.
Se añadió la funcionalidad de utilizar un asunto dinámico en base a la misma variable del job.
Asunto estático: Se mantiene el funcionamiento actual, permitiendo configurar un asunto fijo de manera tradicional.
Asunto dinámico: Ahora es posible definir un asunto dinámico mediante una consulta SQL.
Se eliminaron los visores de Thuban que se encuentran deprecados (ThubanAppletViewer, ThubanScanViewer y ThubanFlexPaperViewer)
Se ha realizado una revisión y mejora para que los nombres de los elementos del listado de ítems de una vista de vínculos dinámicos no aparezcan truncados.
Se ha desarrollado la posibilidad de reorganizar páginas en documentos con selección múltiple
Ahora es posible crear una carátula desde Prescan tomando como dato para la generación del código de barras un campo determinado.
Tras realizar pruebas con la conexión a la base de datos Oracle, se identificó que la estructura de la base estaba incorrectamente diseñada. En particular, las columnas MODIFY_DATE
y DROP_DATE
requerían obligatoriamente la asignación de un valor, lo cual generaba inconsistencias.
Para solucionar este problema, se procedió a corregir los changelogs, ya que el error era consecuencia de un estado inválido en la base de datos.
Se corrigieron inconsistencias funcionales al editar y eliminar formularios.
En la pestaña inicial de Firma Digital, la opción ACTIVAR se mostraba deshabilitada. Además, el botón ESTABLECER, necesario para persistir los cambios, no estaba disponible. Como resultado, el sistema no guardaba las configuraciones realizadas al establecer la Firma Digital por primera vez ni al desactivar una configuración ya existente.
Al comparar dos formularios del listado de agrupaciones disponibles y seleccionar un campo para asignarlo a otro formulario, el sistema no completaba la asignación correctamente, dejando el campo como disponible en lugar de asociarlo al formulario correspondiente.
Al crear un nuevo campo y se requería el uso de un parámetro por defecto. Los parámetros disponibles aparecían bloqueados, imposibilitando su selección.
Sin seleccionar un vinculo dinámico para su edición, se mostraba habilitada la opción Edición SQL.
Al intentar realizar una búsqueda por herencia, la opción no aparecía disponible en el sub menu de filtros.
Al tener una clase documental configurada con almacenamiento en AWS S3 que previamente haya guardado las imágenes en FileSystem, se presentaba una limitación que impedía la actualización correcta de un documento al incorporar una nueva imagen.
En el apartado configuración, no era posible ordenar de manera ascendente/descendente las columnas de los Eventos de Log.
Se ha mejorado la funcionalidad en la configuración de bandejas (“Refresco Automático” y “Desplegar automáticamente el contenido de las bandejas”)
Se ha mejorado la visualización de los “Reportes de Sistema y de “Documentos Bloqueados”
Se corrigieron errores que se generaban en la asignación de grupos cuyos nombres contenían caracteres especiales.
Se realizaron ajustes y mejoras en el proceso de Firma Masiva en Bandejas.
Se realizó una revisión y optimización del módulo 'Trabajos' para resolver un problema de presentación que ocurría cuando los nombres de los trabajos eran demasiado largos.
Como resultado de la ejecución del Pentest externo, se identificó la presencia de librerías obsoletas en el producto, las cuales requerían ser actualizadas y remediadas para garantizar la seguridad y el cumplimiento de las mejores prácticas.
Se identificó y corrigió un error que se generaba al configurar una plantilla de correo masivo en escenarios donde no se define una variable para los archivos adjuntos, específicamente al utilizar una base de datos Oracle.
Se resolvió una inconsistencia detectada al configurar el tiempo de sesión en la sección 'Configuración Default'. Ahora, el sistema valida correctamente los valores mínimos (1 minuto) y máximos (480 minutos) permitidos.
Se ha corregido un error en el Módulo Vistas que impedía la correcta persistencia de los campos al reordenarlos. Además, se ha optimizado la funcionalidad para mejorar la experiencia del usuario.
Se optimizó la funcionalidad de creación de nuevos Monitores en la sección de Tableros de Control, resolviendo las inconsistencias previamente identificadas en el proceso.
Se resolvió un error que ocurría al incorporar una consulta cuyo tamaño excedía el límite esperado. Para prevenir este overflow, se ajustó la capacidad de la columna correspondiente.
Se corrigieron errores que se presentaban el configurar y guardar parámetros opcionales en un trabajo.
Se corrigió un error que ocurría al seleccionar la opción de Configuración Avanzada durante la creación de un nuevo campo.
Se resolvieron errores estéticos que se presentaban en la pantalla de edición de transiciones de workflow.
Se solucionó un error que ocurría cuando un usuario, perteneciente a un grupo sin el permiso asignado (por ejemplo, "Monitor"), configuraba "Monitores" como su pantalla de inicio desde la configuración general de usuario. Este ajuste generaba un bucle que impedía al usuario regresar a la pantalla de inicio de sesión, dejándolo inhabilitado.
Se identificó y solucionó un inconveniente al intentar eliminar una clase documental mediante la base de datos, relacionado con la violación de una clave foránea (FK). El problema se originaba debido a la existencia de registros en la tabla THUBAN_STORE que mantenían referencias a la clase documental que se intentaba eliminar.
Para las bandejas de Thuban, se amplía la cantidad de resultados devueltos en la consulta de Búsqueda, pasando de 1.000 a 50.000 resultados.
Se detectaron y resolvieron inconsistencias funcionales en la validación de la consulta en el “Filtro de búsqueda avanzado”
Se realizaron ajustes estéticos y funcionales a raíz de la actualización de librerías.
Se corrigieron errores funcionales en la asignación de permisos a Grupos en Thuban Portal.