Configuración
Breadcrumbs

Esquema Anjana

La configuración de las tablas del esquema Anjana permite definir los distintos tipos de entidades y relaciones que se podrán declarar en Anjana Data y sus metadatos.

El modelo de base de datos se muestra en la siguiente imagen:

att_121_for_162037761.png

Subtipos de objetos: tipos de entidades y relaciones

Anjana Data permite gobernar diferentes tipos de entidades así como las relaciones entre ellos. Las entidades nativas del Catálogo de Datos son:

  • Dataset

  • Dataset field

  • DSA

  • Process

  • Instance

  • Solution

Y, entre estas entidades, se crean en Anjana relaciones nativas:

  • Structure: entre un dataset (origen de la relación) y sus dataset fields (destino)

  • DSA_content: entre un DSA (origen de la relación) y las entidades que contenga (destino)

  • Adherence: entre un DSA (origen de la relación) y un User (destino)

  • Instance_process: pertenencia de una instancia (destino de la relación) a su proceso (origen)

  • Instance_dataset_in: entre una instancia (destino de la relación) y los datasets que lee de los que lee (origen)

  • Instance_dataset_out: entre una instancia (origen de la relación) y los datasets en los que escribe (destino)

  • Solution_related_instance: entre solución (origen) y sus instancias relacionadas (destino)

  • Solution_owned_instance: pertenencia de una instancia (destino) a su solución propietaria (origen)

No obstante, el metamodelo de Anjana es flexible y permite añadir al catálogo citado entidades y relaciones no nativas.

De esta forma se puede definir, sin restricciones, cualquier activo funcional o técnico siempre indicando si pertenece al Glosario de Negocio o al Catálogo de Datos para garantizar el buen funcionamiento de los filtros, por ejemplo:

  • Term: Términos de negocio (Glosario de Negocio)

  • Report: Informes, reportes y Cuadros de Mandos (Glosario de Negocio o Catálogo de datos, según perspectiva de cada organización)

  • KPI: Indicadores y métricas (Glosario de Negocio)

  • Dimension: Dimensiones (Glosario de Negocio)

  • DQ Rule: Reglas de calidad de datos (Glosario de Negocio)

  • Policy: Políticas (Glosario de Negocio)

  • Data base: Bases de datos (Catálogo de datos)

  • View: Vistas (Catálogo de datos)


Las entidades se asocian entre sí mediante relaciones. Es posible dar de alta cualquier relación que resulte de utilidad, de esta forma, tendríamos relaciones tipadas como por ejemplo:

  • Término - dataset

  • Policy - DSA

  • Report - KPI

  • Report - dimension

  • Dimension - dataset

  • Report - DQ Rule

  • DQ Rule - dataset

Las entidades o relaciones se configuran en Anjana en la tabla de object_subtype y se visualizan en los wizard de creación en función de los permisos del usuario:

att_56_for_162037761.png

Estructura de la tabla

Cada subtipo de objeto registrado se caracteriza por los siguientes elementos:

  • id_object_subtype: identificador único de la tabla.

  • name: nombre del subtipo de objeto.

  • module: módulo al que pertenece, indicar “BG” para Business Glossary (Glosario de Negocio), “DC” para Data Catalog (Catálogo de Datos).

  • object_type: indica si se trata de una entidad “ENTITY” o una relación “RELATIONSHIP”.

  • activate_workflow: nombre del workflow de activación de entidades no nativas y relaciones

  • create_workflow: nombre del workflow de creación.

  • deactivate_workflow: nombre del workflow de desactivación de entidades no nativas y relaciones.

  • modify_workflow: nombre del workflow de edición.

  • transfer_workflow: nombre del workflow de transferencia (cambio de unidad organizativa) de entidades.

  • deprecate_workflow: nombre del workflow de deprecación de entidades nativas del catálogo de datos.

  • wf_role_dependent: indica si hay configurados distintos workflows en función del rol del usuario que lance el workflow.

Es decir, el flag permite indicar si existe un workflow en caso de que sea un data_owner quien envíe a validar un objeto distinto al workflow que se lanza cuando quien envía el mismo objeto es un data_steward.

is_parental: indica, en caso de ser una relación, si ésta es de parentesco y, por tanto, en el linaje se mostrará como una relación de padre-hijo (arriba y abajo). En caso contrario, la relación será de input-output (izquierda y derecha).


Visión de Administrador

El alta de entidades o relaciones mediante el Panel de Administrador de Anjana Data se realiza en la tabla Object Sub-types:

https://lh7-rt.googleusercontent.com/docsz/AD_4nXcdaSdLikhNNLtjW0yWXqGXsTsOwNGhyYIEfiEDln2yeJUECW1ThdX9J2KvoD1QAz4M6UEry8BlmkypBUKUfBA7i36c9zpuJpFiNLbWC6PnYckd1uZi9ML5JPcTX9L606Ge9OyWJg?key=2PcvLUZ1WxxKITqTRHX99Q

Al acceder, se muestra una tabla que contiene todas las entidades y relaciones existentes en la configuración actual.

La creación de un nuevo tipo de entidad/relación se realiza mediante el botón New:

https://lh7-rt.googleusercontent.com/docsz/AD_4nXcPiELlZtw0VIAuVS9kjixJh6_yoLOCFvlQY8T47BqLyEuFNNmxA-BmiyM6ZtutclEYsM49ZUJodejS5oqE2Jn87kXEoh57McwjQSoD5IahRenB3SRQupmOIfQUFdhjmt_VpG6vkJZwxLh_yi_OrUnTcG8?key=2PcvLUZ1WxxKITqTRHX99Q

Mediante el wizard de creación se elige el módulo al que pertenece el objeto, el tipo y el nombre que se desea crear. A continuación, se muestra cómo crear una nueva entidad en el Data Catalog ('DC') de nombre DOCUMENT:

att_36_for_162037761.png

Junto con la definición de la nueva entidad o relación, se definen los nombres de los workflows que se lanzarán cuando un usuario solicite la aprobación o rechazo de algunas de las diferentes acciones que se pueden llevar a cabo dentro de Anjana Data sobre esa nueva entidad o relación.

Visión de Desarrollador

Para catalogar los distintos activos de Anjana y el nombre de sus workflows hay que configurar la tabla object_subtype del esquema Anjana. Para ello, hay que rellenar un sql como el siguiente:

INSERT INTO anjana.object_subtype
(id_object_subtype, activate_workflow, create_workflow, deactivate_workflow, deprecate_workflow, modify_workflow, "module", "name", object_type, transfer_workflow, wf_role_dependent, is_parental) VALUES
(1, 'WF_BG', 'WF_BG', 'WF_BG', NULL, 'WF_BG', 'BG', 'TERM', 'ENTITY', 'WF_BG', false, false), 
(3, 'WF_BG', 'WF_DC', 'WF_BG', 'WF_DC', 'WF_DC', 'DC', 'DATASET', 'ENTITY', 'WF_BG', false, true), 
(4, NULL, NULL, NULL, NULL, '', 'DC', 'DATASET_FIELD', 'ENTITY', NULL, false, false), 
(5, 'WF_BG', 'WF_DC', 'WF_BG', 'WF_DC', 'WF_DC', 'DC', 'DSA', 'ENTITY', 'WF_BG', false, true), 
(6, 'WF_BG', 'WF_EXAMEN_CERTI', 'WF_BG', 'WF_EXAMEN_CERTI', 'WF_EXAMEN_CERTI', 'DC', 'PROCESS', 'ENTITY', 'WF_BG', false, false), 
(7, 'WF_BG', 'WF_DC', 'WF_BG', 'WF_DC', 'WF_DC', 'DC', 'INSTANCE', 'ENTITY', 'WF_BG', false, false), 
(8, 'WF_BG', 'WF_DC', 'WF_BG', 'WF_DC', 'WF_DC', 'DC', 'SOLUTION', 'ENTITY', 'WF_BG', false, false), 
(9, NULL, 'ADHERENCE', NULL, NULL, NULL, 'DC', 'ADHERENCE', 'RELATIONSHIP', NULL, false, false), 
(13, 'WF_BG', 'WF_BG', 'WF_BG', NULL, 'WF_BG', 'BG', 'KPI', 'ENTITY', 'WF_BG', false, false), 
(20, 'WF_BG', 'WF_BG', 'WF_BG', NULL, 'WF_BG', 'BG', 'RELATED_REPORTS', 'RELATIONSHIP', NULL, false, false), 
(21, 'WF_BG', 'WF_BG', 'WF_BG', NULL, 'WF_BG', 'BG', 'RELATED_DATASET', 'RELATIONSHIP', NULL, false, false);


  • El nombre de los subtipos debe no contener ‘:’, ‘#’, ‘(‘, ‘)’ o espacios para no interferir con los identificadores internos de Anjana y deben estar escritos en mayúsculas.

  • No puede haber dos subtipos con el mismo nombre, ni siquiera en diferentes tipos de objetos.

  • El nombre de los subtipos no tiene traducción.

  • El nombre de los subtipos no debe cambiar si ya existen objetos para ese subtipo en Anjana.

  • No se deben incluir en la tabla los subtipos de relaciones nativas que Anjana, internamente, crea entre entidades, salvo ADHERENCE. No obstante, aunque no estén configuradas, no se debe crear ningún subtipo cuyo nombre coincida con alguna de ellas:

    • STRUCTURE

    • DSA_CONTENT

    • INSTANCE_PROCESS

    • INSTANCE_DATASET_IN

    • INSTANCE_DATASET_OUT

    • SOLUTION_RELATED_INSTANCE

    • SOLUTION_OWNED_INSTANCE

  • La relación ADHERENCE, nativa, debe ser configurada en object_subtype para poder informar del workflow a lanzar cuando un usuario solicite adherencia a un DSA.

En esta relación sólo es necesario configurar el workflow de creación (create_workflow) quedando los demás vacíos.

Cuando se añade un subtipo de objeto nuevo es necesario configurar las capas donde se desea visualizar en la tabla layer_subtype.


Menús de las plantillas

Los menús son los bloques de mayor nivel de los formularios dinámicos de Anjana Data. Estos se registran en la tabla menu, son totalmente configurables y es posible añadir cuantos menús se desee en cada plantilla de los diferentes tipos de objeto (entidad o relación).

Los menús son los contenedores de las distintas secciones y estas, a su vez, son las que contienen los atributos de metadatos de cada objeto.

https://lh7-rt.googleusercontent.com/docsz/AD_4nXcQjjBv7xnEmwFqtLtWrSXTJ9mT-3ZNT4bfNznp9IaZHVsaWt58QS7QC2RdmdRIIqGsfWwEwDYTCzrUTXTKI9QWfdlzPQSNWm_6a9OKrH4ri_UMIFvyGQEJxYfdcBysK6-TVNFjMr6TbDlKoEh4bKIFKe0?key=2PcvLUZ1WxxKITqTRHX99Q

Estructura de la tabla

Cada menú se caracteriza por los siguientes elementos:

  • id_menu: identificador único de la tabla.

  • name: nombre del menú.

En caso de querer visualizarlo en los distintos idiomas de la aplicación debe usarse el campo name como clave de traducción en la tabla de portuno de translations.

description: descripción del menú. Es una buena práctica indicar a qué objeto corresponde.

En caso de querer visualizarlo en los distintos idiomas de la aplicación debe usarse el campo description como clave de traducción en la tabla de portuno de translations.

Este campo permite definir la descripción que saldrá en el formulario.

att_110_for_162037761.png
  • order_menu: indica el orden en que se muestran los distintos menús para un mismo objeto.

  • id_object_subtype: indica el subtipo de objeto para el cual se define el menú.


Visión de Administrador

El alta de un nuevo menú en el panel de administración de Anjana Data se realiza en Menus:

https://lh7-rt.googleusercontent.com/docsz/AD_4nXdF86YNdbsaaW7qoT0OCk6i90xzxrdr4-iyYQIyGdAEsQ81ochX4nd4p9tkCULW_OpYdBuDMve9qYtqh4scTXKFXZ1MqNJ7rn_C6X974fwKwHTJGFoI2xeODycy70z6BvZRLngK?key=2PcvLUZ1WxxKITqTRHX99Q

Al acceder se muestra una tabla que contiene todos los menús existentes en la configuración actual.

La creación de un nuevo objeto se realiza mediante el botón New:

att_57_for_162037761.png

Mediante el wizard de creación se asignan valores a los elementos anteriormente descritos y se selecciona mediante el combo el subtipo de objeto (template) para el cual se define el menú.

A continuación, se muestra cómo crear un menú para el objeto DOCUMENT creado con anterioridad:

att_2_for_162037761.png


Visión de Desarrollador

Para definir los distintos menús hay que configurar la tabla menu del esquema Anjana. Para ello, hay que rellenar un sql como el siguiente:

INSERT INTO anjana.menu (id_menu, description, "name", order_menu, id_object_subtype)
VALUES
(1, 'General information of Business Term (Functional,Technical,operational)', 'DETAILS', 1, 1), 
(2, 'General information of Reports (Functional,Technical,operational)', 'DETAILS', 1, 10), 
(8, 'General information of Relationships (Functional,Technical,operational)', 'DETAILS', 1, 16), 
(16, 'General information of DSA (Functional,Technical,operational)', 'DETAILS', 1, 5), 
(27, 'Licensing Terms of DSA', 'LICENSING TERMS', 2, 5);
  • No se puede definir un menú para un subtipo de objeto que no ha sido creado aún.

  • Una plantilla de subtipo de objeto debe contener, al menos, un menú.

  • El nombre y la descripción de los menús pueden ser traducibles a los idiomas de la aplicación en caso de que se utilice el nombre y la descripción como clave en la tabla de portuno.translations.

  • A continuación de los menús configurados para los distintos subtipos de objetos siempre se añade el menú “Atributos personalizados”. Para ello, la ordenación de los menús configurados se respeta añadiendo, posteriormente, este nuevo menú a cada plantilla. En este menú se podrán dar de alta atributos específicos de cada objeto en particular.

  • Aunque ADHERENCE no tiene vista propia, es necesario definir un menú para esta relación para poder añadir los atributos necesarios que debe contener.

  • No se pueden crear dos menús iguales para el mismo subtipo.


Secciones de las plantillas

Los atributos de metadatos se agrupan bajo secciones que permiten clasificar el conjunto de metadatos que se va a visualizar. Las secciones son totalmente configurables para cada tipo de objeto y deben estar contenidas dentro de un menú. Estas se registran en la tabla sections.

att_118_for_162037761.png

Estructura de la tabla

Cada sección se caracteriza por los siguientes elementos:

  • id_section: identificador único de la tabla.

  • name: nombre de la sección en Anjana Data.

En caso de querer visualizarlo en los distintos idiomas de la aplicación debe usarse el campo name como clave de traducción en la tabla de portuno de translations.

description: descripción de la sección. Es una buena práctica indicar a qué objeto corresponde.

En caso de querer visualizarlo en los distintos idiomas de la aplicación debe usarse el campo description como clave de traducción en la tabla de portuno de translations.

Este campo permite definir la descripción que saldrá en el formulario.

att_114_for_162037761.png
  • order_section: indica el orden en que se muestran las distintas secciones dentro de un menú

  • id_menu: indica el menú para el cual se define la sección.


Visión de Administrador

El alta de una nueva sección en el panel de administración de Anjana Data se realiza en Sections:

https://lh7-rt.googleusercontent.com/docsz/AD_4nXfjZUg8PRWFAcAo9YW9tHKmuVSDy88lEVhyAdiB3BZM-6Rf8TulSdgFwsHnNPVxg7T3RNGZiy4R_05brwuN6vPHvAcNMDtVItjqev_kSMP-Wvm56VnOQQKjzivsUuuNm4-sC2PKrw?key=2PcvLUZ1WxxKITqTRHX99Q

Al acceder se muestra una tabla que contiene todas las secciones existentes en la configuración actual.

La creación de un nueva sección se realiza mediante el botón New:

https://lh7-rt.googleusercontent.com/docsz/AD_4nXcuYD-jmHuu9uNEwuHeX9vG8ckhJHabFy_Nd8vSsBm1JDWyO3JYfTtMjVFkQYTX8VcEh6anbbn3oMEJfxaYEapyiy_e6Z_68h6oEC9U8p6JDWjj5AHgVc14PCwQPOfGGuZ_0NOsP07nhsn5Od66Qd5R5Kzd?key=2PcvLUZ1WxxKITqTRHX99Q

Mediante el wizard de creación se asignan valores a los elementos name, order y description, y mediante el combo de menu se selecciona uno de los menús existentes para el cual se define la sección.

A continuación, se muestra cómo crear una sección llamada PROPERTIES para el menú de DETAILS del objeto DOCUMENT creado con anterioridad:

att_3_for_162037761.png


Visión de Desarrollador

Para definir las secciones hay que configurar la tabla sections del esquema Anjana. Para ello, hay que rellenar un sql como el siguiente:

INSERT INTO anjana.sections (id_section, description, id_menu, "name", order_section)
VALUES
(1, 'Properties of Business Terms', 1, 'PROPERTIES', 1), 
(2, 'Operational information of Business Terms', 1, 'OPERATIONAL', 2), 
(3, 'Security information of Business Terms', 1, 'SECURITY', 3), 
(4, 'Quality information of Business Terms', 1, 'QUALITY', 4), 
(5, 'Social information of Business Terms', 1, 'SOCIAL', 5), 
(55, 'Functional information of DSA', 16, 'FUNCTIONAL', 1), 
(56, 'Governance information of DSA', 16, 'GOVERNANCE', 2), 
(57, 'Operational information of DSA', 16, 'OPERATIONAL', 3), 
(58, 'Taxonomies information of DSA', 16, 'TAXONOMIES', 4), 
(59, 'Terms of use information of DSA', 27, 'TERMS OF USE', 1);
  • No se puede definir una sección para un menú que no ha sido creado aún.

  • No se pueden crear dos secciones con el mismo nombre para el mismo menú.

  • El nombre y la descripción de las secciones pueden ser traducibles a los idiomas de la aplicación en caso de que se utilice el nombre y la descripción como clave en la tabla de portuno.translations.

  • Aunque ADHERENCE no tiene vista propia, es necesario definir una sección para esta relación para poder añadir los atributos necesarios que debe contener.


Atributos de metadatos

Los atributos de metadatos son datos que hablan de los objetos (entidades y relaciones) que representan los datos. Estos se configuran en la tabla attribute_definition:

att_119_for_162037761.png


En Anjana Data los distintos tipos de atributos de metadatos soportados son los siguientes:

  • Array de boolean: atributo para indicar uno o varios valores ‘true’ o ‘false’

  • Array de date: atributo para indicar uno o varias fechas

  • Array de decimal: atributo para indicar uno o varios números decimales

  • Array de entities: atributo para elegir una o varias entidades aprobadas en Anjana

  • Array de file: atributo para adjuntar uno o varios ficheros

  • Array de number: atributo para indicar uno o varios números enteros

  • Array de Organizational Unit: atributo para seleccionar una o varias unidades organizativas del listado de todas ellas

  • Array de text: atributo para introducir uno o varios textos cortos de hasta 255 caracteres

  • Array de URL: atributo para introducir uno o varios links a URLs navegables

  • Array de users: atributo para elegir uno o varios usuario de la lista completa de usuarios de la aplicación

  • Boolean: ‘true’ o ‘false’

  • Date: fecha (año, mes, día, hora y minutos)

  • Decimal: número con decimales

  • Enriched Text Area: atributo para introducir un texto largo de hasta 300 mil caracteres enriquecido con formato (negrita, subrayados, cursivas etc)

  • Entity Container: atributo para elegir una entidad aprobada en Anjana Data y generar relaciones nativas entre entidades. Sólo es posible utilizar este atributo en las entidades DSA, instancia y solución

  • Entity Search: atributo para elegir una entidad aprobada en Anjana Data

  • File: fichero que se almacena internamente en Anjana Data. También se permite descargar el fichero si se tiene permisos de lectura

  • International Text: cuadro de texto normal disponible para los distintos tipos de idiomas disponibles de la aplicación

  • International Text Editor: atributo para introducir un texto largo de hasta 300 mil caracteres enriquecido con formato (negrita, subrayados, cursivas etc) disponible para los distintos tipos de idiomas disponibles de la aplicación

  • International Textarea: atributo para introducir un texto largo de hasta 300 mil caracteres en los distintos idiomas disponibles para la aplicación

  • MultiSelect: atributo para seleccionar uno o varios valores de una lista preconfigurada en la pestaña Reference Metadata

  • MultiSelect con iconos: atributo para seleccionar uno o varios iconos de una lista preconfigurada en la pestaña Reference Metadata

  • MultiSelect con iconos y texto: atributo para seleccionar uno o varios valores (icono+texto) de una lista preconfigurada en la pestaña Reference Metadata

  • Number: atributo para indicar un número entero

  • Number range: selector de número entero entre un mínimo y un máximo definidos

  • Organizational Unit: atributo para seleccionar una unidad organizativa del listado de todas ellas

  • Reference Metadata: lista de valores posibles que se tiene que definir para el atributo

  • Selector con icono: lista de iconos posibles que se tiene que definir para el atributo

  • Selector con icono y texto: lista de valores (icono+texto) posibles que se tiene que definir para el atributo

  • Taxonomía única: árbol de taxonomía

  • Taxonomía de selección múltiple: árbol de taxonomías donde se pueden seleccionar uno o varios valores

  • Text: cuadro de texto normal

  • Text Area: atributo para introducir un texto largo de hasta 300 mil caracteres

  • URL: texto considerado como una URL para que el usuario pueda clicar sobre el atributo y se abra una nueva pestaña con esa URL

  • User: lista completa de usuarios de Anjana Data


Estructura de la tabla

Cada atributo registrado se caracteriza por los siguientes elementos:

  • id_attribute_definition: identificador único de la tabla.

  • name: nombre interno del atributo.

  • attribute_type: indica el tipo de atributo. A continuación se muestran las tablas de equivalencias entre los tipos de atributos soportados y el valor en el campo Type.

  • description: clave para la traducción de la descripción. Este campo permite definir la descripción que saldrá en el formulario en el icono de

att_37_for_162037761.png
  • label: clave para la traducción de la etiqueta del atributo en el idioma configurado para el usuario. Este texto debe coincidir con la clave de la traducción en portuno.translations.

  • place_holder: clave para la traducción del texto de relleno si no tiene valor. Este campo puede no completarse.

  • short_description: descripción detallada del atributo y su contenido. Este campo puede no completarse.

  • start_date: fecha de creación del atributo (sólo informativo).

  • last_modified_date: fecha de última modificación del atributo (sólo informativo).


A continuación se presenta la equivalencia entre los tipos de atributos y los valores a rellenar en el campo attribute_type de la tabla:

Tipo de campo

Valor campo attribute_type

Array de booleanos

ARRAY_BOOLEAN

Array de decimales

ARRAY_DECIMAL

Array de enteros

ARRAY_NUMBER

Array de entidades

ARRAY_ENTITY

Array de fechas

ARRAY_DATE

Array de ficheros

ARRAY_UPLOAD_FILE

Array de metadatos de referencia

MULTI_SELECT

Array de metadatos de referencia con iconos

MULTI_SELECT_IMG

Array de metadatos de referencia con iconos y texto

MULTI_SELECT_IMG_TXT

Array de textos

ARRAY_ALPHANUMERICAL

Array de Unidades Organizativas

MULTI_ORGANIZATIONAL_UNIT

Array de URLs

ARRAY_UPLOAD_URL

Array de usuarios

MULTI_USERS

Booleano

INPUT_CHECKBOX

Decimal

INPUT_DECIMAL

Entero

INPUT_NUMBER

Entidad

ENTITY_SEARCH

Entidades contenidas

ENTITY_CONTAINER

Fecha

INPUT_DATE

Fichero

UPLOAD_FILE

Metadato de referencia

SELECT

Metadato de referencia con icono

SELECT_IMG

Metadato de referencia con icono y texto

SELECT_IMG_TXT

Rango de enteros

INPUT_RANGE

Taxonomía de selección múltiple

TREE_MULTISELECT

Taxonomía de selección única

TREE_SELECT

Texto corto

INPUT_TEXT

Texto corto internacional

INPUT_TEXT_INTERNATIONAL

Texto enriquecido

ENRICHED_TEXT_AREA

Texto enriquecido internacional

ENRICHED_TEXT_AREA_INTERNATIONAL

Texto largo

TEXT_AREA

Texto largo internacional

TEXT_AREA_INTERNATIONAL

Unidad Organizativa

SELECT_ORGANIZATIONAL_UNIT

URL

UPLOAD_URL

Usuario

SELECT_USERS


Visión de Administrador

El alta de un nuevo atributo en el panel de administración de Anjana Data se realiza en la tabla Attribute Definitions.

https://lh7-rt.googleusercontent.com/docsz/AD_4nXefj6-HUOF31ZK9diUBeNr8cJzRe2aEOBFz229dsivQhayOxF43PnI992rOrMlq_0OL1cG3QXikQ2kov9LoRT5Nb3LVsOSepvRcA8EOtHx9wzG8HV0lS4lMFRVjne1MFcud1vPAUQ?key=2PcvLUZ1WxxKITqTRHX99Q

Al acceder se muestra una tabla que contiene todos los atributos existentes en la configuración actual.

La creación de un nuevo atributo se realiza mediante el botón New:

https://lh7-rt.googleusercontent.com/docsz/AD_4nXemgJXvswa0KnvbTAjUSFZEDbcDvTPtRkfnPFzoFiQh_vxYeo4McKwCXiljixph7SjYLlnKhRBi2kzSrhrytPQova9Ptksr2-aIb16FaH5MQhv9XpQEvtWvSdST_hJWVPdbkhETEg?key=2PcvLUZ1WxxKITqTRHX99Q

Mediante el wizard de creación se asignan valores a los elementos anteriormente descritos.

A continuación, se muestra cómo crear un atributo llamado DocMgmtTool de tipo metadatos de referencia que se utilizará en la plantilla del objeto DOCUMENT creado con anterioridad:

att_38_for_162037761.png

Visión de Desarrollador

Para definir los atributos hay que configurar la tabla attribute_definition del esquema Anjana. Para ello, hay que rellenar un sql como el siguiente:

INSERT INTO anjana.attribute_definition (id_attribute_definition,description, label,last_modified_date,name,place_holder,short_description,start_date,attribute_type) VALUES
(100,'Name of object','ATTRIBUTE_NOMBRE.name',NULL,'name','ATTRIBUTE_PLACEHOLDER.name',NULL,'2021-03-16 16:36:30.875','INPUT_TEXT'),
(102,'Term type','ATTRIBUTE_NOMBRE.termType',NULL,'termType','ATTRIBUTE_PLACEHOLDER.termType',NULL,'2021-03-16 16:36:30.875','SELECT'),
(103,'Domain','ATTRIBUTE_NOMBRE.domain',NULL,'domain','ATTRIBUTE_PLACEHOLDER.domain',NULL,'2021-03-16 16:36:30.875','SELECT'),
(104,'Subdomain','ATTRIBUTE_NOMBRE.subdomain',NULL,'subdomain','ATTRIBUTE_PLACEHOLDER.subdomain',NULL,'2021-03-16 16:36:30.875','SELECT'),
(105,'Geography','ATTRIBUTE_NOMBRE.geography',NULL,'geography','ATTRIBUTE_PLACEHOLDER.geography',NULL,'2021-03-16 16:36:30.875','SELECT');
  • El campo name de attribute_definition debe no contener espacios, '(', ')', '/', ‘:’ ni ‘#’.

  • No pueden crearse dos attribute_definition con el mismo nombre, sin importar si tienen mayúsculas o minúsculas.

  • Los label y los place_holder deben definirse en la tabla anjana.translations incluyendo un registro para cada idioma configurado en la aplicación. Es necesario que un label y sus traducciones no sean igual para dos atributos distintos, al menos si estos están en la misma plantilla.

  • Es recomendable no cambiar el tipo de ningún atributo:

    • es posible que se hayan generado validaciones para el atributo en las plantillas en las que se encuentre y que éstas no sean compatibles con el nuevo tipo (por ejemplo: que el tipo anterior fuera numérico y haya validaciones de máximo valor y ahora el tipo cambie a alfanumérico, donde la validación de máximo carece de sentido)

    • si se han creado objetos cuyo metadato contenga al atributo, cambiar el tipo puede ocasionar errores en la indexación con Solr si los tipos original y nuevo son incompatibles (por ej: si un atributo se declara numérico y, posteriormente, se cambia el atributo a alfanumérico ya que Solr tendrá indexado el atributo de tipo numérico y será imposible automatizar el cambio de campo).

    • en caso de ser necesario, leer el procedimiento a seguir en las Preguntas Frecuentes.

  • Para los atributos con tipo SELECT, SELECT_IMG, SELECT_IMG_TXT, TREE_SELECT, MULTI_SELECT, MULTI_SELECT_IMG, MULTI_SELECT_IMG_TXT o TREE_MULTISELECT se deben definir los posibles valores del combo de selección en la tabla attribute_definition_value (ver apartado Definir y configurar los posibles valores de los atributos).

  • Los atributos de tipo INPUT_RANGE necesitan tener validación de mínimo y máximo para poder identificar el rango de valores a elegir. En caso de no configurar estas validaciones, por defecto el valor mínimo será MIN_RANGE y el máximo MAX_RANGE, configurados en la tabla de Portuno app_configuration (ver apartado Variables del sistema de Esquema Portuno de BD)

  • Los atributos de tipo ENRICHED_TEXT_AREA o ENRICHED_TEXT_AREA_INTERNATIONAL admiten subida de ficheros con extensión gif, png o jpg.


Atributos de clave primaria

A continuación se detalla una lista de atributos que forman parte de la clave primaria (primary key) de cada uno de los objetos del Catálogo de Datos o del Glosario de Negocio. La funcionalidad y el tipado de alguno de estos datos se especificará en el siguiente punto (atributos obligatorios):

  1. Para dataset: name, infrastructure, path, technology y zone.

  2. Para dataset field: name, infrastructure, path, technology y zone.

  3. Para DSA: name.

  4. Para proceso: name, infrastructure, path, technology y zone.

  5. Para instancia de proceso: name, processAri y solutionAri.

  6. Para solución: name.

  7. Para otras entidades no nativas predefinidas por cliente: name.

  8. Para las relaciones: name, source y destination.


Atributos obligatorios

Debido a que algunos de los atributos se visualizan en el Portal de Datos o Anjana tiene cierta lógica interna sobre alguno de ellos, es obligatorio que, para esos atributos, el campo name de la tabla attribute_definition tenga un nombre particular y así como el attribute_type sea de un tipo particular. De esta forma, Anjana Data podrá identificar estos atributos y funcionar correctamente.

Además, es importante que estos atributos sean utilizados exclusivamente en los objetos que a continuación se detallan, ya que añadirlos en otros casos puede ocasionar errores de la aplicación.


Atributos para entidades

A continuación se detalla cada uno de los atributos obligatorios para las entidades, a qué subtipo de entidad aplica, el tipo que debe tener en su definición y su funcionalidad.

Valor en campo name

Aplica a

Entidad nativa

Entidad no nativa

DATASET

DATASET_FIELD

DSA

PROCESO

INSTANCIA

SOLUCIÓN

description

X

X

X

X

X

X

X

name

X

X

X

X

X

X

X

expirationDate

X

 

X

X

X

X

 

infrastructure

X

 

 

X

 

 

X

isGoverned

X

 

 

 

 

 

X

path

X

 

 

X

 

 

X

physicalName

X

 

 

 

 

 

X

technology

X

 

 

X

 

 

X

zone

X

 

 

X

 

 

X

data_format

X

 

 

 

 

 

 

pi

X

X

X

 

 

 

 

sampleData

X

 

 

 

 

 

 

datasetFields

X

 

 

 

 

 

 

fieldDataType

 

X

 

 

 

 

 

position

 

X

 

 

 

 

 

termCondFile

 

 

X

 

 

 

 

dsaContent

 

 

X

 

 

 

 

isEngine

 

 

 

X

 

 

 

instanceInDataset

 

 

 

 

X

 

 

instanceOutDataset

 

 

 

 

X

 

 

solutionRelatedInstance

 

 

 

 

 

X

 

Detalle de cada atributo obligatorio en las plantillas de entidades

Valor en campo name

Valor en columna attribute_type

Finalidad del atributo

 

description

TEXT_AREA

Permite introducir una descripción extensa del objeto.

name

INPUT_TEXT

Almacena el nombre lógico de la entidad.

expirationDate

INPUT_DATE

Almacena la fecha en la que el objeto expira.

infrastructure

SELECT 

Indica del entorno donde se encuentra localizado el objeto, usado con technology y zone para identificar un plugin en caso de  gobierno activo.

Sólo es necesario en caso de que la entidad vaya a tener conexión con la fuente/tecnología para extracción, sample, gob de permisos…

isGoverned

INPUT_CHECKBOX

Indica si hay gobierno activo sobre el objeto.

Sólo es necesario en caso de que la entidad vaya a tener conexión con la fuente/tecnología para extracción, sample, gob de permisos…

path

INPUT_TEXT

Indica la localización del objeto.

physicalName

INPUT_TEXT

Indica el nombre físico de la entidad de cara al gobierno activo de éste.

Sólo es necesario en caso de que la entidad vaya a tener conexión con la fuente/tecnología para extracción, sample, gob de permisos…

technology

SELECT 

Indica la tecnología en la que está depositado el objeto, usado con infrastructure y zone para identificar un plugin en caso de gobierno activo.

Sólo es necesario en caso de que la entidad vaya a tener conexión con la fuente/tecnología para extracción, sample, gob de permisos…

zone

SELECT 

Indica la zona donde se encuentra el objeto, usado con infrastructure y technology para identificar un plugin en caso de gobierno activo.

Sólo es necesario en caso de que la entidad vaya a tener conexión con la fuente/tecnología para extracción, sample, gob de permisos…

data_format

INPUT_TEXT

Indica el formato de los datos del dataset.

pi

INPUT_CHECKBOX

Indica si el objeto contiene información personal.

sampleData

INPUT_CHECKBOX

Indica si se puede ver una muestra de los datos del dataset en Anjana.

datasetFields

INPUT_TEXT

Indica si los cambios en los dataset_fields afectan al propio dataset. 

Este atributo debe configurarse oculto en la plantilla (template_attribute) ya que sólo es necesario para poder versionar datasets o no lanzar workflows en caso de modificación de los dataset_fields de un dataset.

fieldDataType

INPUT_TEXT

Permite seleccionar el tipo del dato que contiene el field.

position

INPUT_NUMBER

Permite indicar el orden del field en un dataset.

termCondFile

UPLOAD_FILE o UPLOAD_URL

Permite incluir el fichero o la ruta para acceder a los términos de licencia de un DSA.

dsaContent

ENTITY_CONTAINER

Almacena el conjunto de entidades a las que se da acceso a los usuarios por medio del DSA.

isEngine

INPUT_CHECKBOX

Permite indicar si el proceso es motor y por tanto puede tener múltiples instancias o si no lo es, pudiendo crear sólo una.

instanceInDataset

ENTITY_CONTAINER

Almacena el conjunto de datasets que lee la instancia para su procesamiento.

instanceOutDataset

ENTITY_CONTAINER

Almacena el conjunto de datasets que escribe la instancia tras su procesamiento.

solutionRelatedInstance

ENTITY_CONTAINER

Almacena el conjunto de instancias relacionadas en la solución.

NOTAS:

  • El atributo pi es obligatorio porque se muestra en el Portal de Anjana en caso de estar informado en los objetos. Es necesario que este atributo esté definido (attribute_definition) incluso en caso de no desear incluirlo en ninguna plantilla.


Atributos para relaciones

A continuación se detalla cada uno de los atributos obligatorios para las relaciones, a qué subtipo de relación aplica, el tipo que debe tener en su definición y su funcionalidad.

Valor en campo name

Valor en columna attribute_type

Finalidad del atributo

Aplica a

ADHERENCE

Relación no nativa

description

TEXT_AREA

Permite introducir una descripción extensa del objeto.

 

X

name

INPUT_TEXT

Almacena el nombre lógico de la entidad.

X

X

expirationDate

INPUT_DATE

Almacena la fecha en la que el objeto expira.

X

 

source

ENTITY_SEARCH

Permite indicar el origen de una relación o uno de sus extremos.

 

X

destination

ENTITY_SEARCH

Permite indicar el destino de una relación o uno de sus extremos.

 

X

pae

INPUT_TEXT

Permite asociar internamente la adherencia con la solicitud enviada por el usuario.

X

 

requestReason 

INPUT_TEXT

Permite almacenar el motivo de la solicitud de adherencia.

X

 

NOTAS:

  • Para poder completar la información de las adherencias, es necesario definir plantilla, menú, sección y atributos para ella, aunque no sea accesible esta información por medio de un formulario como ocurre con cualquier otra entidad en Anjana.


Atributos obligatorios no incluidos en plantillas

Anjana necesita que estos atributos estén definidos (attribute_definition) para su correcto funcionamiento a pesar de no estar incluidos en ninguna plantilla de objeto (template_attribute).

Valor en campo name

Valor en columna attribute_type

Finalidad del atributo

 

organizationalUnit

SELECT_ORGANIZATIONAL_UNIT

Permite indicar la OU de la entidad. 

Este atributo no debe añadirse a ninguna plantilla ya que sólo es necesario para poder importar entidades por medio de fichero excel.

processAri

INPUT_TEXT

Permite indicar el proceso de la instancia. 

Este atributo no debe añadirse a ninguna plantilla ya que sólo es necesario para poder importar instancias por medio de fichero excel.

solutionAri

INPUT_TEXT

Permite indicar la solución propietaria de la instancia. 

Este atributo no debe añadirse a ninguna plantilla ya que sólo es necesario para poder importar instancias por medio de fichero excel.

source

ENTITY_SEARCH

Permite indicar el origen de una relación o uno de sus extremos. 

En caso de existir alguna plantilla de relación no nativa, se debe incluir en la plantilla. Si no existe, tan solo es necesario definir el atributo.

destination

ENTITY_SEARCH

Permite indicar el destino de una relación o uno de sus extremos.

En caso de existir alguna plantilla de relación no nativa, se debe incluir en la plantilla. Si no existe, tan solo es necesario definir el atributo.


Valores de los atributos

Para aquellos atributos de tipo selección de valores (atributos con attribute_type SELECT, SELECT_IMG, SELECT_IMG_TXT, TREE_SELECT, MULTI_SELECT, MULTI_SELECT_IMG, MULTI_SELECT_IMG_TXT o TREE_MULTISELECT) hay que definir los metadatos de referencia de entre los cuales el usuario puede seleccionar el o los que convengan.

Esta configuración se lleva a cabo en la tabla attribute_definition_value.

att_120_for_162037761.png


Estructura de la tabla

Cada valor registrado se caracteriza por los siguientes elementos:

  • id_attribute_definition_value: identificador único de la tabla.

  • value: valor del atributo.

En caso de querer visualizarlo en los distintos idiomas de la aplicación debe usarse el value como clave de traducción en la tabla de portuno de translations.

Si el atributo es de imagen o de imagen y texto (SELECT_IMG, SELECT_IMG_TXT, MULTI_SELECT_IMG o MULTI_SELECT_IMG_TXT) el icono a utilizar debe estar localizado en Minio o S3 y se llamará <nombreAtributo><valor>.svg (siendo nombreAtributo el name de attribute_definition y valor el value de attribute_definition_value). Más detalle en el documento ‘Anjana Data - CONF - Iconografía y CSS’.

id_attribute_definition: Atributo de metadatos para el cual se despliega el combo de selección.


Visión de Administrador

El alta de un nuevo atributo en el panel de administración de Anjana Data se realiza en Attribute Definition Values:

att_73_for_162037761.png

Al acceder se muestra una tabla que contiene todos los atributos existentes en la configuración actual.

La creación de un nuevo metadato de referencia se realiza mediante el botón New:

att_58_for_162037761.png

Mediante el wizard de creación se asignan valores a los elementos anteriormente descritos.

A continuación, se muestra cómo crear atributos de referencia para un atributo:

att_5_for_162037761.png


Visión de Desarrollador

Para definir los metadatos de referencia hay que configurar la tabla attribute_definition_value del esquema Anjana. Para ello, hay que rellenar un sql como el siguiente:

INSERT INTO anjana.attribute_definition_value 
(id_attribute_definition_value, id_attribute_definition, value) VALUES
(1,2,'Financial')
,(2,2,'Commercial')
,(3,2,'Sales')
,(4,2,'Marketing')
,(5,2,'Production')
,(6,2,'Marketing')
,(7,2,'Risk')
,(8,3,'Finances')
,(9,3,'Marketing')
,(10,3,'Operations')
,(11,3,'Human Resources')
,(12,3,'Legal');
  • En el caso de los atributos infraestructure, technology y zone se debe usar como value (y, por tanto, como clave en portuno.translations) exactamente el mismo nombre que se usa para esos campos en las tripletas para los plugins de Tot.

  • No deben existir dos valores iguales con las mismas traducciones para el mismo atributo en la tabla attribute_definition_value.


Atributos de plantilla

Configurar las plantillas de metadatos supone definir en qué menú y sección aparecerán los metadatos de entre los definidos en la tabla attribute_definition. Esta asociación de atributos a plantillas se configura en la tabla template_attribute.

att_115_for_162037761.png

Estructura de la tabla

Cada atributo de plantilla registrado se caracteriza por los siguientes elementos:

  • id_template_attribute: identificador único de la tabla.

  • active: flag que indica si el atributo está activo o no en el formulario.

En caso de querer eliminar un atributo de una plantilla, éste debe tener active=false para no estar disponible en edición o visualización. Los objetos que tuvieran anteriormente este atributo informado siguen manteniéndolo pero no es visible en el formulario así que no puede modificarse. Si más adelante se desea volver a incluir el atributo en la plantilla, active=’true’ permitirá que vuelva a estar disponible y se podrá ver y editar el valor del atributo en todos los objetos.

Si el atributo pertenece a la plantilla de ADHERENCE, se debe rellenar con 'false' debido a que no existe una pantalla específica del objeto adherencia.

is_visible: flag que indica si un atributo de los dataset_fields es visible en la tabla Structure de la pantalla de su dataset.

En caso de tratarse de un atributo perteneciente a la plantilla de ADHERENCE, se debe rellenar con 'false' puesto que no existe una pantalla específica del objeto adherencia.

Si el atributo pertenece a una plantilla distinta de la de dataset_field y adherencia se debe rellenar con 'true'.

  • sort: orden en el que aparece en el atributo en la sección donde queda asignado.

  • id_attibute_definition: atributo que se desea introducir en la plantilla.

  • id_section: sección en la que se desea introducir el atributo.


Visión de Administrador

El alta de los atributos dentro de una plantilla se realiza en el panel de administración de Anjana Data en Template Attributes:

https://lh7-rt.googleusercontent.com/docsz/AD_4nXe0cbCN_tjYavlxgYras1qf7unt_g8Vc4senaacDQmbOoo2U2rHjBwDXu1qIQuKrI2FASbRHZLiF8Ivx8XDX0fbJSzH2or5reHAJmAHFiSzupVzoMVyrMUdYvQsEVot-AFdmM3evQ?key=2PcvLUZ1WxxKITqTRHX99Q

Al acceder se muestra una tabla que contiene todos los atributos de plantilla existentes en la configuración actual.

La creación de un nuevo registro en esta tabla se realiza mediante el botón New:

att_59_for_162037761.png

Mediante el wizard de creación se asignan valores a los elementos anteriormente descritos:

att_6_for_162037761.png


Visión de Desarrollador

Para definir los atributos dentro de un template hay que configurar la tabla template_attribute del esquema Anjana. Para ello, hay que rellenar un sql como el siguiente:

INSERT INTO anjana.template_attribute
(id_template_attribute, active, is_visible, sort, id_attribute_definition, id_section)
VALUES
(1, true, true, 1, 1, 1), 
(2, true, true, 2, 2, 1), 
(3, true, true, 3, 3, 1), 
(4, true, true, 4, 4, 1), 
(5, true, true, 5, 5, 1), 
(6, true, true, 6, 136, 1), 
(7, true, true, 7, 7, 1);
  • Es obligatorio que los atributos marcados como obligatorios se incluyan en las plantillas de los subtipos de objetos a los que aplican.

  • Aunque ADHERENCE no tiene vista propia, es necesario añadir registros en template_attribute para esta relación para poder añadir los atributos necesarios que debe contener. Como se especifica anteriormente, los campos active e is_visible de estos atributos deben marcarse a 'false'.

  • No puede incluirse dos veces un mismo atributo en la misma sección.


Validaciones de los atributos

Existe la posibilidad de definir un conjunto de validaciones para asegurar la correcta entrada de los atributos de metadatos. Estas validaciones se configuran en la tabla template_attribute_validation.

att_7_for_162037761.png
att_8_for_162037761.png
att_9_for_162037761.png


Estas validaciones pueden ser:

Atributos obligatorios (REQUIRED)

Esta regla permite identificar los atributos que obligatoriamente deben ser informados en una plantilla.

Atributos no modificables (NOT EDITABLE)

Esta regla permite identificar los atributos que no pueden ser editados.

Dependencia entre valores de referencia (DEPENDS ON)

Esta regla permite hacer que el conjunto de valores válido para un atributo de tipo selector de valores (select, select con imágenes, select con imágenes y texto o los array de estos tipos) dependa del valor escogido en otro atributo de este mismo tipo

Heredable (HERITABLE)

Esta regla permite identificar un atributo booleano no editable y cuyo valor se calcula en función de los valores que adquiera ese mismo atributo en la plantilla de otros objetos.

La herencia sólo puede darse entre entidades que tengan un parentesco según el metamodelo nativo de Anjana, es decir, los siguientes casos:

  • El dataset hereda de sus dataset_fields

  • El DSA hereda de las entidades incluidas en el atributo dsaContent

  • La instancia hereda de sus datasets input o output

Longitud máxima y mínima para valores alfanuméricos (MIN/MAX LENGTH)

Esta regla permite establecer unas dimensiones mínimas y máximas de contenido en los campos de texto.

En el caso de los atributos de texto enriquecido las etiquetas html generadas computan para esta validación.

Mínimo y Máximo para los valores en los campos enteros, decimales, arrays de los mismos y rangos de valores (MIN/MAX)

Esta regla permite definir un rango de valores, con mínimo y máximo respectivamente, para atributos numéricos.

Longitud máxima y mínima de la parte decimal de campos y arrays de decimales (MAX/MIN DECIMAL PRECISION)

Esta regla permite establecer un mínimo y máximo de dígitos para la parte decimal.

Longitud máxima y mínima de valores en el conjunto (MAX/MIN LENGTH ARRAY)

Esta regla permite establecer el número mínimo y máximo de valores seleccionados en un conjunto.

Restricción de subtipos en atributos de tipo entidad o array de entidades (SUBTYPE_FILTER)

Esta regla permite limitar el subtipo de las entidades en los atributos de tipo ENTITY_CONTAINER, ENTITY_SEARCH y ARRAY_ENTITY, como los atributos source y destination de una relación. Puede pasarse una lista separada por ‘_-’ (y sin espacios) para permitir varios subtipos. Si no se configura ninguna lista, los extremos podrán contener cualquier subtipo de Entidad.

Tipo de relación creada (RELATIONSHIP_TYPE)

Esta regla identifica la relación que se creará con los atributos de tipo ENTITY_CONTAINER entre la entidad que tiene en su plantilla el atributo y aquellas entidades con las que se completa. Solo se debe aplicar en los siguientes atributos:

  • Para el atributo dsaContent la relación debe ser DSA_CONTENT.

  • Para el atributo instanceInDataset la relación debe ser INSTANCE_DATASET_IN.

  • Para el atributo instanceOutDataset la relación debe ser INSTANCE_DATASET_OUT.

  • Para el atributo solutionRelatedInstance la relación debe ser SOLUTION_RELATED_INSTANCE.


Validaciones para cada tipo de atributo:

Tipo de atributo numérico

Validaciones

MIN

MAX

MAX DECIMAL PRECISION

MIN DECIMAL PRECISION

MAX LENGTH ARRAY

MIN LENGTH ARRAY

REQUIRED

NOT EDITABLE

ARRAY DECIMAL

x

x

x

x

x

x

x

x

ARRAY NUMBER

x

x



x

x

x

x

INPUT DECIMAL

x

x

x

x



x

x

INPUT NUMBER

x

x





x

x

INPUT RANGE

x

x





x

x



Tipo de atributo alfanumérico

Validaciones

MAX LENGTH

MIN LENGTH

MAX LENGTH ARRAY

MIN LENGTH ARRAY

REQUIRED

NOT EDITABLE

ARRAY ALPHANUMERICAL

x

x

x

x

x

x

ARRAY UPLOAD URL



x

x

x

x

ENRICHED TEXT AREA

x

x



x

x

INPUT TEXT INTERNATIONAL

x

x



x

x

ENRICHED TEXT AREA INTERNATIONAL

x

x



x

x

TEXT AREA INTERNATIONAL

x

x



x

x

INPUT TEXT

x

x



x

x

TEXT AREA

x

x



x

x

UPLOAD URL





x

x


Tipo de atributo de selección de valores

Validaciones

DEPENDS

ON

MAX LENGTH ARRAY

MIN LENGTH ARRAY

REQUIRED

NOT EDITABLE

SUBTYPE FILTER

RELATIONSHIP TYPE

ARRAY ENTITY


x

x

x

x

x


MULTI ORGANIZATIONAL UNIT


x

x

x

x



MULTI USERS


x

x

x

x



ENTITY CONTAINER


x

x

x

x

x

x

ENTITY SEARCH




x

x

x


MULTI SELECT

x

x

x

x

x



MULTI SELECT IMG

x

x

x

x

x



MULTI SELECT IMG TXT

x

x

x

x

x



SELECT ORGANIZATIONAL UNIT




x

x



SELECT

x



x

x



SELECT IMG

x



x

x



SELECT IMG TXT

x



x

x



TREE SELECT




x

x



TREE MULTISELECT


x

x

x

x



SELECT USERS




x

x




Otros tipos de atributos

Validaciones

HERITABLE

MAX LENGTH ARRAY

MIN LENGTH ARRAY

REQUIRED

NOT EDITABLE

ARRAY BOOLEAN


x

x

x

x

ARRAY DATE


x

x

x

x

ARRAY UPLOAD FILE


x

x

x

x

INPUT CHECKBOX

x




x

INPUT DATE




x

x

UPLOAD FILE




x

x


Estructura de la tabla

Cada validación registrada se caracteriza por los siguientes elementos:

  • id_template_attribute: atributo de plantilla para el que se define la validación.

  • validator_key: clave de la validación:

    • DEPENDS_ON: dependencia con otro atributo del template

    • HERITABLE: en el caso de que su valor se herede de otro metadato

    • MAX: número máximo

    • MAX_DECIMAL_PRECISION: número máximo de precisión para valores decimales.

    • MAX_LENGTH: longitud máxima

    • MAX_LENGTH_ARRAY: cantidad máxima de elementos de array

    • MIN: número mínimo

    • MIN_DECIMAL_PRECISION: número mínimo de precisión para valores decimales.

    • MIN_LENGTH: longitud mínima

    • MIN_LENGTH_ARRAY: cantidad mínima de elementos de array

    • NOT_EDITABLE: no modificable

    • RELATIONSHIP_TYPE: subtipo de relación que se crea

    • REQUIRED: atributo obligatorio

    • SUBTYPE_FILTER: subtipo de entidad permitida

  • validator_params: parámetros a completar en función del validator_key:


validator_key

validator_params

DEPENDS_ON

nombre del atributo del que depende (name de la tabla attribute_definition)

MAX

MAX_DECIMAL_PRECISION

MAX_LENGHT

MAX_LENGHT_ARRAY

MIN

MIN_DECIMAL_PRECISION

MIN_LENGHT

MIN_LENGHT_ARRAY

valor numérico

REQUIRED

NOT_EDITABLE

true

HERITABLE

‘HIGH’ en caso de que el valor heredado tenga que ser 'true' si al menos uno de los elementos de los que se hereda tiene 'true'

‘LOW’ en caso de que el valor heredado tenga que ser 'false' si al menos uno de los elementos de los que se hereda tiene 'false'

RELATIONSHIP_TYPE

nombre del subtipo de relación (name de la tabla object_subtype)

SUBTYPE_FILTER

nombres de los subtipos de entidad (name de la tabla object_subtype) separados por ‘_-’ (y sin espacios)


Visión de Administrador

El alta de validaciones de este tipo dentro de un template se realiza en el panel de administración de Anjana Data en Template Attribute Validations:

att_75_for_162037761.png

Al acceder se muestra una tabla que contiene todas las validaciones existentes en la configuración actual.

La creación de una nueva validación se realiza mediante el botón New:

att_60_for_162037761.png

Mediante el wizard de creación se asignan valores a los elementos anteriormente descritos:

att_10_for_162037761.png


Visión de Desarrollador

Para definir validaciones rápidas de atributos dentro de un template hay que configurar la tabla template_attibute_validation del esquema Anjana. Para ello, hay que rellenar un sql como el siguiente:

INSERT INTO anjana.template_attribute_validation
(id_template_attribute, validator_key, validator_params) VALUES
(1, 'REQUIRED', 'true'), 
(1, 'MAX_LENGTH', '300000'), 
(1, 'MIN_LENGTH', '1'), 
(1, 'NOT_EDITABLE', 'true'), 
(4, 'DEPENDS_ON', 'domain'), 
(375, 'SUBTYPE_FILTER', 'TERM'), 
(470, 'HERITABLE', 'HIGH');


NOTAS:

Los atributos que componen la PK de los objetos (name, source, destination, infrastructure, technology, zone, path, processAri y solutionAri) deben tener la validación de obligatoriedad y no ser editables (REQUIRED y NOT_EDITABLE) para que siempre estén completos.

En caso contrario, la validación de la configuración efectuada desde la acción específica de Portuno saldrá errónea o la descarga del excel con la plantilla del objeto fallará.

att_11_for_162037761.png
  • Adicionalmente, el atributo physicalName contenido en las plantillas de aquellos subtipos de entidad que puedan ser extraídos por medio de descubrimiento automático debe tener también la validación de no editable para que siempre mantenga el valor original de la fuente. No es necesario que tenga la validación de requerido.

  • Los atributos de tipo INPUT_RANGE necesitan tener validación de mínimo y máximo para poder identificar el rango de valores a elegir.

En caso de no configurarla, por defecto los valores mínimo y máximo vendrán determinados por MIN_INTEGER y MAX_INTEGER de la tabla de app_configurations.

  • En caso de no configurar validaciones de MIN y MAX en los atributos de tipo numérico (INPUT_NUMBER, ARRAY_NUMBER, INPUT_DECIMAL, ARRAY_DECIMAL), se aplican los valores MIN_INTEGER y MAX_INTEGER de la tabla de app_configurations.

  • En caso de no configurar validaciones de MIN_DECIMAL_PRECISION y MAX_DECIMAL_PRECISION en los atributos de tipo decimal (INPUT_DECIMAL, ARRAY_DECIMAL), se aplican los valores MIN_INTEGER, MAX_INTEGER, de la tabla de app_configurations.

  • En caso de no configurar validaciones de MIN_LENGTH y MAX_LENGTH en los atributos de tipo texto largo (ENRICHED_TEXT_AREA, INPUT_TEXT_INTERNATIONAL, ENRICHED_TEXT_AREA_INTERNATIONAL, TEXT_AREA_INTERNATIONAL y TEXT_AREA ) se aplican los valores MAX_LENGTH_TEXT_EDITOR y MIN_LENGTH_TEXT_EDITOR de la tabla de app_configurations.

  • En caso de no configurar validaciones de MIN_LENGTH y MAX_LENGTH en los atributos de tipo texto corto (INPUT_TEXT y ARRAY_ALPHANUMERICAL ) se aplican los valores MAX_LENGTH_TEXT_BD y MIN_LENGTH_TEXT_EDITOR de la tabla de app_configurations.

  • La validación para indicar el tipo de relación (RELATIONSHIP_TYPE) que se crea con cada atributo ENTITY_CONTAINER de la aplicación es obligatoria y no debe ser modificada.

En caso de una instalación en vacío (sin configuración previa), tras la configuración de las plantillas de los objetos, se deben dar de alta las validaciones especificadas al inicio del apartado.

  • Los atributos de tipo booleano no pueden representar un estado “no definido” o “vacío” puesto que no hay forma de distinguir entre “no seleccionado” y “seleccionado como false". Es por ello por lo que la validación de REQUIRED en estos atributos carece de sentido.

  • Para poder completar la dependencia entre los valores de los atributos de tipo SELECT es necesario que se configuren las relaciones entre ellos (ver en apartado attribute_relationships).

  • No es posible configurar la misma validación dos veces para el mismo atributo de plantilla.


Relaciones entre valores de reference metadata o taxonomías

Es posible relacionar entre sí metadatos de referencia de forma que el valor que se seleccione en un combo filtre los resultados que se muestran en el siguiente combo como resultado de una lógica existente en el ecosistema de datos de su organización.

Esta configuración está disponible tanto para los atributos infraestructura, tecnología y zona elegidos en el wizard de creación de objetos como para el resto de atributos de las plantillas de tipo Metadatos de Referencia (o listados de valores predeterminados).

att_39_for_162037761.png

Por ejemplo, si se hablara de comunidades autónomas y ciudades, si se eligiera la CA de Madrid, en el combo de ciudades sólo se visualizarán aquellas ciudades propias de dicha comunidad y no las de toda España.

Para todos estos casos en los que los valores de un atributo dependen de la selección hecha en otro atributo, es necesario que se configure la validación de dependencia (“depends_on” en template_attribute_validation) entre estos atributos identificando cuál de los dos depende del otro, siendo ambos de la misma plantilla.

Otra configuración con la que se relacionan valores de atributos es la que se establece para la taxonomía de selección única o múltiple. En estos casos, los valores forman un árbol de dependencias en el que debe detallarse qué nodo del árbol es padre de qué otro nodo.

att_12_for_162037761.png

Para este ejemplo, cada uno de los nodos raíz (A y B) deben tener configurada una relación cuyo padre es <null> para que Anjana interprete ese nodo como inicio de una rama. En cualquiera de los atributos de tipo taxonomía de selección única o múltiple es necesario tener, al menos, un nodo raíz.

Estas relaciones entre valores de atributos se definen en la tabla attribute_relationships.


Estructura de la tabla

Cada relación registrada se caracteriza por los siguientes elementos:

  • id_attribute_relationships: identificador único de la tabla.

  • destination_value: valor del atributo que depende del otro.

  • source_value: valor del atributo original del que depende el destinationValue.

  • object_sub_type: plantilla a la que se asocia el atributo (null si es a cualquier plantilla donde esté el atributo)


Visión de Administrador

El alta de dependencias de este tipo se realiza en el panel de administración de Anjana Data en Attribute Relationship:

att_76_for_162037761.png

Al acceder se muestra una tabla que contiene todas las relaciones entre atributos y plantillas existentes en la configuración actual.

La creación de una nueva relación se realiza mediante el botón New:

att_77_for_162037761.png

Mediante el wizard de creación se asignan valores a los elementos anteriormente descritos:

att_13_for_162037761.png

Visión de Desarrollador

Para definir las relaciones entre atributos hay que configurar la tabla attribute_relationships del esquema Anjana. Para ello, hay que rellenar un sql como el siguiente:

insert into anjana.attribute_relationships 
(id_attribute_relationships, source_value, destination_value, object_sub_type) values
(1,190,260, null)
,(2,190, 265, null)
,(3,190, 266, null)
,(4,191, 267, null)
,(5,191,268, null)
,(6,191,269, null);


NOTA:

Puesto que los valores de las taxonomías pueden ser distintos en función del subtipo de objeto, siempre es necesario que exista un nodo raíz en el árbol de valores.


Reglas de versionado

En Anjana es posible configurar qué cambios generan un versionado en los objetos mediante las reglas de versionado. Estas reglas permiten identificar los atributos de los objetos que, al ser editados, son suficientemente relevantes como para versionar el objeto y deprecar la versión original.

Las reglas se definen en la tabla edition_configuration y sólo pueden ser configuradas para las entidades nativas del Catálogo de Datos: dataset, dataset_field, DSA, proceso, instancia de proceso y solución.


Estructura de la tabla

Cada regla de versionado registrada se caracteriza por los siguientes elementos:

  • id_edition_configuration: identificador único de la tabla.

  • current_value: valor original del atributo en caso de que sea booleano. Si se desea que haya versionado independientemente del valor inicial, introducir null.

Este valor (excepto null) debe ser el configurado en value de la tabla attribute_definition_value.

new_value: valor nuevo del atributo. Si se desea que haya versionado independientemente del valor nuevo, introducir null.

Este valor (excepto null) debe ser el configurado en value de la tabla attribute_definition_value.

id_template_attribute: atributo de una plantilla concreta al que aplica la regla.


Visión de Administrador

El alta de las reglas de versionado se realiza en el panel de administración de Anjana Data en Edition Configuration:

att_78_for_162037761.png

Al acceder se muestra una tabla que contiene todas las reglas de versionado existentes en la configuración actual.

La creación de una nueva regla se realiza mediante el botón New:

https://lh7-rt.googleusercontent.com/docsz/AD_4nXcuimnDzl36LvFkO3bSwEiPXuc9Ncel1-yb_kTCO0VS2bCl2PCA0WyRNueB6OoyCRi4p40qYVBbGow1ep5QazxWm9d11XjHRYhLtddT36PdQf9dEfFXpGf135iiZqxApwg3sSHPO9JvJ3tLPg8BpRh8L-8?key=2PcvLUZ1WxxKITqTRHX99Q

Mediante el wizard de creación se asignan valores a los elementos anteriormente descritos:

att_14_for_162037761.png


Visión de Desarrollador

Las reglas de versionado se configuran en la tabla edition_configuration del esquema Anjana. Para ello, hay que rellenar un sql como el siguiente:

INSERT INTO anjana.edition_configuration
(id_edition_conf, current_value, new_value, id_template_attribute) VALUES
(1, false, true, 258) 
,(2, false, true, 455)
,(5, null, null, 21)
,(6, null, null, 46)
,(30, null, null, 472)
,(31, null, null, 328);


NOTAS:

Si se desea versionar un dataset en caso de que se modifiquen sus dataset_fields, es necesario añadir una regla de versionado para el atributo datasetFields del dataset. De esta forma, se comprobarán los cambios ocurridos en los dataset_fields y se versionará el dataset si alguno de esos cambios coincide con alguna regla de versionado para los atributos de dataset_fields.


Reglas de lanzamiento de workflow en modificación y versionado

Es posible configurar qué cambios no provocan el lanzamiento de workflows de modificación y/o versionado en los objetos de Anjana Data mediante las reglas de edición. Estas reglas permiten identificar los atributos de los objetos que, al ser editados y enviados a validar por determinados roles, no generan workflow de aprobación quedando el objeto validado automáticamente.

Esta configuración se lleva a cabo en la tabla edition_submit_rule.


Estructura de la tabla

Cada regla de lanzamiento de workflow registrada se caracteriza por los siguientes elementos:

  • id_edition_submit_rule: identificador único de la tabla.

  • id_template_attribute: atributo de plantilla al que aplica la regla.

  • role: nombre del rol que no lanza un workflow si se edita el atributo definido en templateAttribute (debe coincidir con el campo name de la tabla role).


Visión de Administrador

El alta de las reglas de lanzamiento de workflow en ediciones y versionado se realiza en el panel de administración de Anjana Data en Edition Submit Rule:

att_79_for_162037761.png

Al acceder se muestra una tabla que contiene todas las reglas que se usan para decidir si se lanza un workflow o no cuando se edita o versiona un objeto.

La creación de una nueva regla se realiza mediante el botón New:

att_40_for_162037761.png

Mediante el wizard de creación se asignan valores a los elementos anteriormente descritos:

att_15_for_162037761.png


Visión de Desarrollador

Las reglas de lanzamiento de workflow en ediciones y versionado se configuran en la tabla edition_submit_rule del esquema Anjana. Para ello, hay que rellenar un sql como el siguiente:

INSERT INTO anjana.edition_submit_rule
(id_edition_submit_rule, "role", id_template_attribute) VALUES
(1,'contributor',92),
(3,'data_owner',46);


NOTAS:

Si se desea no lanzar workflow de validación en caso de que se modifiquen los dataset_fields de un dataset, es necesario añadir una regla para el atributo datasetFields del dataset.

Con esta regla, se comprobarán los cambios ocurridos en los dataset_fields y, si los cambios coinciden con las reglas configuradas, no se lanzará workflow de validación del dataset.

Esta regla, además, permite no lanzar workflow de validación en caso de que se haya añadido o eliminado algún dataset_field del dataset.


Capas del linaje

Es posible visualizar el linaje de Anjana desde distintas perspectivas. Estas perspectivas se configuran como capas de visualización que facilitan al usuario la navegación filtrando en función de la configuración entidades o relaciones por capas.

Estas capas se definen en la tabla layer.


Estructura de la tabla

Cada capa registrada se caracteriza por los siguientes elementos:

  • id: identificador único de la tabla.

  • layer_name: nombre de la capa.

En caso de querer visualizarlo en los distintos idiomas de la aplicación debe usarse el campo layer_name como clave de traducción en la tabla de portuno de translations.

is_default: flag que determina si la capa se muestra por defecto cuando los usuarios acceden al linaje. Se debe marcar sólo una capa con is_default = 'true'.


Visión de Administrador

El alta de las capas del linaje se realiza en el panel de administración de Anjana Data en Layer:

att_80_for_162037761.png

Al acceder se muestra una tabla que contiene todas las capas definidas para las pantallas de linaje.

La creación de una nueva capa se realiza mediante el botón New:

att_41_for_162037761.png


Mediante el wizard de creación se asignan valores a los elementos anteriormente descritos:

att_16_for_162037761.png

Visión de Desarrollador

Las capas del linaje se configuran en la tabla layer del esquema Anjana. Para ello, hay que rellenar un sql como el siguiente:

INSERT INTO anjana.layer (id, layer_name, is_default) VALUES
(2, 'Técnica', true), 
(3, 'Negocio', false), 
(4, 'Funcional', false);

NOTAS:

No puede haber dos capas con el mismo nombre.


Subtipos de las capas del linaje

Es posible, en las capas del linaje, determinar qué entidades o relaciones pueden ser mostradas configurando los subtipos de cada una de ellas.

De esta forma, se configuran capas específicas para usuarios técnicos evitando entidades del Glosario de Negocio distintas de las capas necesarias para usuarios de negocio en las que se pueden obviar entidades del Catálogo de Datos.

En este caso, en la capa Tratamiento de datos se visualizan unos nodos que no se ven en la Capa de consumo:

att_104_for_162037761.png
att_105_for_162037761.png

El conjunto de entidades o relaciones que se va a presentar en cada capa se configura en la tabla layer_subtype.


Estructura de la tabla

Cada subtipo elegido por capa definido se caracteriza por los siguientes elementos:

  • layer_id: identificador de la capa en la tabla layer.

  • object_subtype: subtipo de objeto que aparece en la capa (campo name de la tabla object_subtype).


Visión de Administrador

El alta del conjunto de subtipos de objeto que aparecen en cada capa se realiza en el panel de administración de Anjana Data en Layer Subtype:

att_81_for_162037761.png

Al acceder se muestra una tabla que contiene los subtipos por capa definidos para las pantallas de linaje.

La creación de un nuevo subtipo para una capa se realiza mediante el botón New:

att_42_for_162037761.png

Mediante el wizard de creación se asignan valores a los elementos anteriormente descritos:

att_17_for_162037761.png


Visión de Desarrollador

Los subtipos por capa del linaje se configuran en la tabla layer_subtype del esquema Anjana. Para ello, hay que rellenar un sql como el siguiente:

INSERT INTO anjana.layer_subtype (layer_id, object_subtype) VALUES
(2, 'DATASET'), 
(2, 'DATASET_FIELD'), 
(2, 'INSTANCE'), 
(2, 'PROCESS'), 
(2, 'SOLUTION'), 
(2, 'STRUCTURE'), 
(2, 'DSA_CONTENT'), 
(2, 'INSTANCE_DATASET_IN'), 
(2, 'INSTANCE_DATASET_OUT'),
(2, 'INSTANCE_PROCESS'), 
(2, 'SOLUTION_OWNED_INSTANCE'), 
(2, 'SOLUTION_RELATED_INSTANCE'), 
(3, 'BUSINESS_PROCESS');


Agregaciones para el linaje

En el linaje de Anjana es posible representar determinadas relaciones entre entidades como una relación de agregación donde una entidad contiene a otras.

Por defecto una relación en el linaje se mostrará como una línea entre los dos nodos que representan sus entidades origen y destino.

att_18_for_162037761.png

Pero, si está configurada una agregación para esa relación, esa relación pasará a mostrarse como de contenido.

att_19_for_162037761.png

Estas agregaciones se definen en la tabla grouping_lineage.


Estructura de la tabla

Cada agregación registrada se caracteriza por los siguientes elementos:

  • id: identificador único de la tabla.

  • source_subtype: subtipo de objeto que agrega (name de la tabla object_subtype).

  • destination_subtype: subtipo de objeto que aparece en el linaje contenido en entidades de tipo source_subtype (name de la tabla object_subtype).

  • relationship_subtype: subtipo de relación que hay entre source_subtype y destination_subtype y que se representa como una relación de contenido (name de la tabla object_subtype).


Visión de Administrador

El alta de las agregaciones del linaje se realiza en el panel de administración de Anjana Data en Grouping:

att_82_for_162037761.png

Al acceder se muestra una tabla que contiene todas las agregaciones definidas para las pantallas de linaje.

La creación de una nueva agregación se realiza mediante el botón New:

att_43_for_162037761.png

Mediante el wizard de creación se asignan valores a los elementos anteriormente descritos:

att_20_for_162037761.png


Visión de Desarrollador

Las agregaciones de entidades para el linaje se configuran en la tabla grouping_lineage del esquema Anjana. Para ello, hay que rellenar un sql como el siguiente:

INSERT INTO anjana.grouping_lineage

(id, source_subtype, destination_subtype, relationship_subtype) VALUES

(1, 'DATASET', 'DATASET_FIELD', 'STRUCTURE'),

(2, 'DSA', 'DATASET', 'DSA_CONTENT');


Agregaciones en las capas del linaje

En las capas del linaje, así como se definen las entidades o relaciones que se cargan en cada una, también se puede configurar qué relaciones de agregación se desea que apliquen. En caso de que no se configure una agregación para una capa, la relación se mostrará como una línea entre los dos nodos correspondientes a las entidades origen y destino de la relación.

En este caso, en esta capa el DSA no agrega ninguna de las entidades que contiene:

att_44_for_162037761.png

En esta agrega solo a los datasets y no al informe:

att_45_for_162037761.png

Y en esta agrega a todas las entidades:

att_21_for_162037761.png

Estructura de la tabla

Cada agregación por capa definida se caracteriza por los siguientes elementos:

  • layer_id: identificador de la capa en la tabla layer.

  • grouping_id: identificador de la agregación en la tabla grouping_lineage.


Visión de Administrador

El alta de las agregaciones para cada capa se realiza en el panel de administración de Anjana Data en Layer Grouping:

Unknown Attachment

Al acceder se muestra una tabla que contiene las agregaciones por capa definidas para las pantallas de linaje.

La creación de un nuevo subtipo para una capa se realiza mediante el botón New:

att_46_for_162037761.png

Mediante el wizard de creación se asignan valores a los elementos anteriormente descritos:

att_22_for_162037761.png


Visión de Desarrollador

Las agregaciones por capa del linaje se configuran en la tabla layer_grouping del esquema Anjana. Para ello, hay que rellenar un sql como el siguiente:

INSERT INTO anjana.layer_grouping (layer_id, grouping_id) VALUES

(2, 1),

(4, 2),

(4, 1);


Esquema Hermes de BD

att_23_for_162037761.png

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:

att_84_for_162037761.png

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:

att_85_for_162037761.png

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

att_62_for_162037761.png


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