Introducción

Se quiere añadir en el SGI una integración con el blockchain de la Universidad. El caso de uso a implementar es el de las actas de la comisión de ética.

Al finalizar un acta se creará el documento del acta y se guardará en el SGDOC.

El SGI se lo enviará a un servicio web habilitado en un servidor. Este servicio devolverá el identificador de la transacción que el SGI deberá de almacenar.

Para las actas finalizadas se mostrará un nuevo icono para confirmar el blockchain y se llamará al servicio habilitado para ello del blockchain (o los servicios)

Se usará una variable de configuración del módulo CONF en el SGI para indicar si se va a hacer la integración con el blockchain o no.

Actas

Finalizar acta

Actualmente el documento del acta se genera online, es decir, no se guarda en ningún momento el documento, siempre se genera en el momento que el usuario pincha sobre el icono del pdf.

Añadir a la acción "Finalizar acta" (icono del candado) la siguiente funcionalidad:

Confirmar registro blockchain

Sólo accesible para el rol ACT-ETI-001-Gestor (con el permiso ETI-ACT-FIN que es el mismo que para Finalizar acta)

En el caso que la variable de configuración  CNF "blockchain_enable" este a true  y si el acta esta en estado "Finalizada" se añadirá un nuevo icono en el listado de resultados del buscador de actas que represente a la acción "Confirmar registro".

Esta acción consistirá en:

Documento acta

Si el acta esta en estado "En elaboración" al pinchar sobre el icono de descarga del fichero (icono del pdf) se seguirá generando de forma automática a partir de la plantilla el informe de acta (en ese momento). Si el alta esta en estado "Finalizada" se descargará el documento almacenado en el SGDOC (a partir del identificador "documentoRef" almacenado en la tabla "Acta").

Cambios en la base de datos

Crear en la tabla "Acta" los campos:

Variables de configuración

Crear en el módulo de CNF (configuración) una nueva variable que indique si se va a realizar la integración con el blockchain o no. Dicha variable se llamará "blockchain_enable" que por defecto estará a false.