Árbol de páginas

Versiones comparadas

Clave

  • Se ha añadido esta línea.
  • Se ha eliminado esta línea.
  • El formato se ha cambiado.

Image Modified

TipoComunicado

Tabla maestra precargada con el catálogo de tipos de comunicado en el modelo de datos del módulo de comunicados. Viene a representar las posibles gestiones que pueden generar comunicados, no es un catálogo de todos los posibles tipos de comunicado que se puedan generar el en SGI, ya que esto será contemplado por cada gestión particular que gestionará su propio catálogo de códigos de tipo de comunicado (campo codigo de la tabla Comunicado) y la informará al módulo de comunicados al generar cada uno.

...

Autogenerado

Obligatorio

Primary Key

...

Prefijo agrupación.

Se usará para localizar en el fichero de recursos los siguientes datos (suponiendo que PREFIJO es la variable que hace referencia a cada prefijo concreto y CODIGO la que hace referencia al código de comunicado que se informe en la tabla de comunicados descrita más abajo):

  • Gestión que genera el comunicado: PREFIJO.gestion
  • Asunto del comunicado: PREFIJO.CODIGO.asunto
  • Descripción del comunicado: PREFIJO.CODIGO.descripcion

...

Obligatorio

Unique Key

...

titleEjemplo

...

ConfiguracionComunicado

Tabla maestra de configuración de la recepción de comunicados por email parte de cada usuario. Solo se configura si se recibe email o no y para qué gestiones recibir los comunicados por email, considerándose a efectos de BBDD los comunicados "Generales" como una gestión más.

Dentro del SGI se recibirán siempre los comunicados por parte de los destinatarios de los mismos, tengan activa la recepción por email o no. (Caso potencialmente excepcional, comunicados Generales, pendiente de definir).

La ausencia de un registro de configuración en esta tabla para un usuario será equivalente a que haya un registro indicando que no desea recibir por email ningún comunicado (enviar email = NO)

...

Autogenerado

Obligatorio

Primary Key

...

Obligatorio

Foreing Key a GESPER

...

titleEjemplo

...

TipoComunicadoConfiguracionComunicado

Tabla relacional entre los tipos de comunicado (TipoComunicado) y la configuración para la recepción por email de los mismos por parte de cada usuario (ConfiguracionComunicado).

Si existe un registro en la tabla ConfiguracionComunicado donde su campo enviarEmail sea "Sí", debe existir al menos un registro asociado en esta tabla.

...

Autogenerado

Obligatorio

Primary Key

...

Obligatorio

Foreing Key a ConfiguracionComunicado

...

Obligatorio

Foreing Key a TipoComunicado

...

titleEjemplo

...

Comunicado

Tabla donde se insertará la información de cada comunicado que generen las diferentes gestiones.

...

Autogenerado

Obligatorio

Primary Key

...

Lista de destinatarios (personasRef) del comunicado.

...

Formato JSON (varchar (5000))

{destinatariosListaDistribucion: [

"personaRef1",personaRef2, ...],

destinatariosPersonas:["personaRef1",personaRef2, ...],

aniadirIPsProyecto: "true",

aniadirIPsSolicitud: "false"}

Opcional a nivel de modelo de datos / Obligatorio a nivel funcional que para un registro esté informado bien este campo o bien el campo permisos (Pendiente de concretar caso de comunicados Generales)

...

Lista de permisos que han de tener los destinatarios del comunicado. Se enviará el comunicado a todos los usuarios que tengan asociado al menos uno de esos permisos.

Si se ha informado el campo destinatarios, se hará la combinación de ambos campos, enviando el comunicado tanto a los destinatarios de la lista como a los que además tengan alguno de los permisos indicados (eliminando los duplicados, claro).

El módulo/gestión llamante es la que gestionará el catálogo de permisos que tiene que enviar para cada comunicado que genera.

Desde el módulo de comunicados se llamará al módulo de usuarios para obtener la lista de usuarios asociados a la lista de permisos indicados.

...

Formato JSON (varchar (5000))

{permisos: [AES-MER-VAL, ...] }

Opcional a nivel de modelo de datos / Obligatorio a nivel funcional que para un registro esté informado bien este campo o bien el campo permisos. (Pendiente de concretar caso de comunicados Generales)

...

Lista de parametros a reemplazar en el campo descripcion de un comunicado tras recuperar su texto "plantilla" del fichero de recursos del módulo de comunicados.

El catálogo de claves o identificadores de cada parámetro (ej: divulgacion, fecha, ...) las ha de tener el módulo llamante para informarnos qué valor se quiere dar a cada uno.

En una primera aproximación, se supondrá que los comunicados no informan este dato hasta confirmar su necesidad.

...

Formato JSON (varchar (5000))

{

parametros:

[{divulgacion: "texto a poner"}, {fecha: "fecha a poner"}, ...]

}

Opcional

...

titleEjemplo

...

aes.ae.ren.vig

...

15/02/2021

...

{permisos: AES-MER-VAL, ...}

...

{parametros: [{divulgacion: "Técnica de ASCO aplicada a la economía"}, {fecha: "15/01/2021"}]}

...

EnvioComunicado

Tabla relacional donde se insertará la información del envío de cada comunicado concreto a cada usuario partiendo del comunicado generado en la tabla Comunicado.

Se generará un único registro por destinatario donde se gestionará tanto si se ha logrado enviar por email o no, puede que haya que realizar reintentos si ocurriese algún problema en el proceso, como si el usuario lo ha marcado como leído o no en el SGI.

La inserción en esta tabla a de ser transaccional con la de la inserción en la tabla de Comunicado.

La lista de destinatarios finales puede depender de la obtención de los mismos a partir de los permisos que se consulten al módulo de usuarios, por lo que podría haber algún error que impida su inserción directa y en este caso habría que devolver un error a la gestión que envía el comunicado indicando que no ha sido posible generarlo.

...

Autogenerado

Obligatorio

Primary Key

...

Obligatorio

Foreing Key a Comunicado

...

Obligatorio

Foreing Key a GESPER

...

Flag que indica si el usuario ha marcado el comunicado que ha recibido como "Leído" o no.

No se gestiona en el modelo la lectura o no del comunicado en el email en caso de que el usuario lo tuviese activado.

...

titleEjemplo

...