-
Notificaciones del sistema
La tabla notification es la tabla que contiene los cuerpos de las diferentes notificaciones que emite el sistema.
Estructura de la tabla
Cada notificación se caracteriza por los siguientes elementos:
-
id_notification: identificador único de la tabla.
-
module_type: módulo al que aplica la notificación, indicar “BG” para Business Glossary, “DC” para Data Catalog o “ALL” si aplica a todo.
-
notification_code: código alfanumérico para poder enviar notificaciones desde las funcionalidades propias de Anjana.
-
notification_receiver_type: indica si la notificación será recibida por un único usuario nominal (‘USER’) o por todos los usuarios que tengan asignado un rol (‘ROLE’).
-
translation_key: clave de traducción correspondiente a la tabla de portuno.translations con el mensaje de la notificación con variables que serán sustituidas en el momento de la creación de la notificación a enviar.
-
notification_type: indica si la notificación es alerta (‘ALERT’), aviso (‘NOTICE’) o alerta de administración (‘ADMIN_ALERT’).
-
receiver_role: rol que recibe la notificación en caso de que notification_receiver_type sea ‘ROLE’.
-
severity: criticidad de la notificación.
-
subject: clave de traducción con el asunto de la notificación.
A continuación se especifican los notification_code para los que deben existir notificaciones en la tabla con el fin de conseguir un correcto funcionamiento de la aplicación:
Notification code |
Utilidad |
ADHERENCE_FAIL |
Indica el motivo por el que ha fallado la adherencia. |
CHECK_CONFIGURATION_IN_PROVIDER |
Error al recuperar la información de un usuario en el provider indicado. |
COMPLETED_AUTOMATIC_METADATA |
Indica que ha terminado la importación de metadatos automática. |
DATASET_EXPIRATION_TOT_FAIL |
Fallo en el borrado de permisos al expirar un dataset. |
DATASET_FAIL |
Fallo en la creación de dataset en sistemas de terceros. |
DEACTIVATION |
Aviso de la desactivación a los roles y usuario correspondientes |
DELETE_ENTITY |
Avisa del borrado de una entidad. |
DELETE_RELATIONSHIP |
Avisa del borrado de una relación. |
DEPRECATION |
Avisa a todos los usuarios de un rol que el objeto va a ser deprecado. |
DEPRECATION_ADHERED |
Avisa al usuario que el objeto al que estaba adherido (dataset o DSA) va a ser deprecado. |
DISADHERENCE |
Se indica que se ha realizado correctamente la desadherencia. |
DISADHERENCE_FAIL |
Fallo en la desadherencia indicando el motivo. |
DISADHERENCE_LIST |
Informa de los detalles del resultado del proceso de desadherencia. |
DISADHERENCE_LIST_OK |
Se indica que la lista de objetos en los que ha tenido éxito la desadherencia. |
DSA_FAIL |
La creación de un DSA ha fallado indicando el motivo. |
DSA_TRANSFER_FAIL |
Se le indica al administrador que no se ha podido hacer el cambio de unidad organizativa del DSA. |
ERROR_AUTOMATIC_METADATA |
Se produce un fallo en la importación de metadatos. |
EXCEL_IMPORT |
Notificación con el aviso de error en una creación/edición por Excel |
EXCEL_PREPROCESSING |
Aviso de finalización del preprocesamiento de un Excel de edición |
EXPIRATION |
El objeto está expirando. |
EXPIRATION_OBJECT_FAIL |
Avisa de un fallo en la expiración de un objeto y el motivo |
EXPIRATION_ADHERED |
El objeto al que se está adherido ha expirado. |
EXPIRATION_WARNING |
Aviso que se envía a los propietarios del objeto debido a que está próxima su expiración. |
EXPIRATION_WARNING_ADHERED |
Aviso que se envía a los usuarios adheridos al objeto que indica que está próxima su expiración. |
FORM_FAIL |
Errores encontrados en el formulario del objeto. |
INDEX_FAIL |
Se ha producido un error en la indexación. |
INDEX_RELATIONSHIP_FAIL |
Error de indexación en relaciones. |
LICENSE_EXPIRED |
La licencia ha expirado. |
LICENSE_EXPIRING |
Aviso de que la licencia, aunque aún es válida, está cerca de expirar. |
MUST_DELETE_RELATIONSHIPS_FIRST |
Aviso de la necesidad de un borrado previo de relaciones antes de borrar una entidad |
NEW_DSA |
Cuando el usuario solicita la creación de un nuevo DSA. |
PENDING_WF_FAIL_ADHERENCE |
Indica el fallo en la creación de un workflow |
POLICY_MODIFICATION |
Avisa de la modificación de políticas en un objeto. |
REQUIRED_FIELDS |
Avisa de errores en la configuración de las plantillas. |
TAXONOMY_BAD_CONFIGURED |
Avisa de algún error en la configuración de la taxonomía de algún subtipo de objeto. |
TRANSLATION_FILE_UPLOAD_FAIL |
Avisa de que ha habido un error subiendo el fichero de traducciones a Minio o S3. |
USER_CROSS_ROLE_FAIL |
Indica los usuarios que no han sido configurados como cross. |
WORKFLOW_DELETE_FAIL |
No se ha podido borrar un workflow. |
WORKFLOW_INFO_FAIL |
Error en el workflow debido a que no tenía un workflow info asociado, mediante la api administrativa se pueden ejecutar los últimos pasos del workflow para que no queden en mal estado si sucede este error. |
WORKFLOW_OK |
El workflow ha sido creado. |
WORKFLOW_FAIL |
Indica el motivo por el que ha fallado la creación de un workflow. |
WORKFLOW_TASK_FAIL |
Fallo en la validación de un paso de workflow |
Adicionalmente, los textos correspondientes a las translation_keys en la tabla de traducciones pueden incluir variables entre ## con el fin de que éstas sean sustituidas por los valores correspondientes a la notificación enviada. Un ejemplo de un mensaje con variables sería:
“Ocurrió un error en el borrado del workflow con id #OBJECT_ID#”.
Si alguna de estas variables se usa en una notificación de workflow en la que no le corresponde tener valor, se sustituye por el valor “N/A”.
Las distintas variables que permite Anjana son:
Variable |
Utilidad |
ACTION |
Acción realizada |
EXPIRATION_DAYS |
Días hasta la expiración de un objeto (es un número negativo en caso de que sea una fecha pasada). Sólo se permite en las notificaciones de aviso de expiración cercana y deprecación |
OBJECT_ID |
Identificador del objeto |
OBJECT_LIST |
Lista de objetos, se usa en notificaciones como las de solicitud de creación de un nuevo DSA |
OBJECT_NAME |
Nombre del objeto |
OBJECT_SUB_TYPE |
Subtipo del objeto |
ORGANIZATIONAL_UNIT |
Unidad organizativa del objeto |
ORGANIZATIONAL_UNIT_CHANGED |
Unidad de destino del objeto en una transferencia de OU |
REASON |
Motivo de aprobación/rechazo del workflow |
REQUEST_REASON |
Motivo de la solicitud de la acción (para las notificaciones de solicitud de creación de dsa o de solicitud de adherencia, por ejemplo) |
RESULT |
Resultado de la acción |
ROLE |
Rol del usuario que debe realizar la acción o recibe la notificación |
TYPE_OBJECT |
Tipo del objeto |
USER_NAME |
Usuario que ha realizado la acción |
VERSION |
Número de versión del objeto |
WORKFLOW_TYPE |
Tipo del workflow lanzado |
Visión de Administrador
El alta de una nueva notificación panel de administración de Anjana Data se realiza en Notifications:
Al acceder se muestra una tabla que contiene el catálogo de notificaciones existentes en la configuración actual.
La creación de una nueva notificación se realiza mediante el botón New:
A continuación, se muestra cómo crear una notificación :
Visión de Desarrollador
Para añadir las notificaciones hay que configurar la tabla notifications del esquema Hermes. Para ello, hay que rellenar un sql como el siguiente:
INSERT INTO hermes.notification (id_notification, module_type, notification_code, notification_receiver_type, translation_key, notification_type, receiver_role, severity, subject) VALUES (1,'BG',NULL,'ROLE','NOTIFICATION.1.BG.ROLE','ALERT',NULL,'HIGH','Test'), (3,'BG',NULL,'ROLE','NOTIFICATION.3.BG.ROLE','NOTICE',NULL,'LOW','Test'), (12,'BG','NEW_DSA','ROLE','NOTIFICATION.NEW_DSA','NOTICE','architect','LOW','Test'). (13,'BG','EXPIRATION','ROLE','NOTIFICATION.EXPIRATION','NOTICE','data_owner','LOW','Expiration'), (14,'DC','ERROR_AUTOMATIC_METADATA','ROLE','NOTIFICATION.AUTOMATIC_METADATA','NOTICE','architect','LOW','METADATA'), (15,'DC','DATASET_FAIL','ROLE','NOTIFICATION.DATASET_FAIL','ADMIN_ALERT','admin','HIGH','Dataset creation failure'), (16,'DC','DSA_FAIL','ROLE','NOTIFICATION.DSA_FAIL','ADMIN_ALERT','admin','HIGH','DSA creation failure'); |