Configuración
Breadcrumbs

Esquema Hermes

https://lh7-rt.googleusercontent.com/docsz/AD_4nXe_l4G7MKV2eNmpAGhKdf7IfNuxM31OEg2QvUfKH2-g0EE6IIBWKyjltbo3SM5sdpcr77eTLEPFF5XwVRquBGeprBMV3vsVTDo4mVrasZhbyvnC5GXZPHeeEgTS6WkQIJE78MBWr_V50pi8UeR1CeFzO8H3?key=2PcvLUZ1WxxKITqTRHX99Q
  1. 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:

https://lh7-rt.googleusercontent.com/docsz/AD_4nXft0oGDG8I-tkEASaoXgA1AgTrpDY-MGDiHeGJj7DFtOrzdEfiX2HHlVk8c948DV0XLduOqUQX8EjBPL-gEojgcvTdm8e_l2mu8J28nh9Oi-2cTGhlrQMfQCJopdgMVD65L8Jtjcw?key=2PcvLUZ1WxxKITqTRHX99Q

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:

https://lh7-rt.googleusercontent.com/docsz/AD_4nXdpnfLr7euxbbi3-4kVYh_pLoy601xh9sE1tonWxgY_Gx2bU7CmiUDmabsXhmV1NRuwUpZPdmYQVPBsmSF7c1Wi5i0fe-ab5LxXBa3ndBwYAXtRQst_Lw2temmU8hdUrZDl-RRhM9A3aKHGrEYmXQjQvDGQ?key=2PcvLUZ1WxxKITqTRHX99Q

A continuación, se muestra cómo crear una notificación :

https://lh7-rt.googleusercontent.com/docsz/AD_4nXcOgtq3HeswY2s-Y7Lb0MZpj79EvYEN3JAJNT5Rtv94wWgjdSG0kvMNx6EE5qfrA5-qprRbFMxfguHyM_AqSLy0GUPhURaB2dQN4IF8oeFRFUUWvOx82n7g-T4gtg2Q8cvcIgex9cmZkUF34SCzse9Nznhx?key=2PcvLUZ1WxxKITqTRHX99Q


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');