Configuración
Breadcrumbs

Atributos de metadatos

En Anjana Data, los atributos de metadatos son las unidades básicas de información que describen a los objetos (entidades y relaciones) gobernados en la plataforma. Estos atributos permiten documentar de manera estructurada las características técnicas, funcionales y de gobierno de cada activo, facilitando la búsqueda, clasificación y control de calidad entre otros.

Los atributos se configuran en la tabla Attribute Definitions, y pueden ser reutilizados en distintas plantillas de metadatos, aunque nunca pueden aparecer más de una vez en la misma plantilla.

Gracias a esta modularidad, la organización puede crear un catálogo consistente de atributos reutilizables que soporten su modelo de gobierno.

image-20250911-112924.png
Ejemplo de atributo de tipo Texto con Imagen

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

Tabla Attribute Definitions del Panel de Configuración (Visión administrador)

Las secciones se configuran en la tabla Sections del Panel de configuración. La definición de las secciones es el segundo paso, tras la creación de los menús, para estructurar las plantillas de metadatos.

image-20250911-113148.png
Tabla Attribute Definitions para alta de distintos tipos de atributos de metadatos

Estructura de la tabla Attribute Definitions

Cada atributo registrado se caracteriza por los siguientes campos:

  • Id: identificador único del atributo.

    • Se asigna automáticamente desde el Panel de configuración.

  • Name: nombre interno del atributo.

Importante:

  • Debe ser único en toda la tabla, sin importar variaciones en mayúsculas o minúsculas (ej.: DESCRIPTION y description se consideran iguales).

  • No puede contener espacios ni caracteres como #, (, ) , / o :

  • Existen valores reservados para capacidades e integraciones nativas de Anjana Data Platform

  • Type: tipo de atributo.

    • Determina la naturaleza del dato que se podrá almacenar (texto, número, fecha, usuario, unidad organizativa, fichero, taxonomía, etc.).

    • Ver tabla de equivalencias más abajo.

Recomendación: No cambiar el tipo de un atributo ya existente.

  • Puede provocar incompatibilidades con validaciones configuradas en las plantillas.

  • Si existen objetos creados que ya contienen valores de este atributo, el cambio de tipo puede generar errores de indexación (ejemplo: de numérico a alfanumérico).

  • En caso de ser estrictamente necesario, consultar el procedimiento en el apartado de Preguntas Frecuentes.

  • Label: etiqueta visible del atributo en los formularios de metadatos.

    • Puede configurarse para internacionalización usando su valor como config_key en la tabla translations, con un registro por cada idioma activo en la aplicación.

Nota: El Label no puede repetirse para dos atributos distintos dentro de la misma plantilla.

  • Place Holder: texto de ejemplo que se muestra cuando el campo está vacío.

    • Puede configurarse para internacionalización en translations.

Nota: El Place Holder no puede repetirse para dos atributos distintos dentro de la misma plantilla.

  • shortDescription: descripción breve del propósito del atributo.

    • Campo opcional, pensado para ayudar a administradores y validadores en la comprensión del atributo.

  • Descritpion: descripción más extensa del atributo.

    • Puede usarse para detallar instrucciones o contexto adicional y es visible dentro de la plantilla en la https://anjanadata.atlassian.net/wiki/s/981112411/6452/348eaed8ba2477d472357ccbcf1a0ef6e8bafe14/_/images/icons/emoticons/information.png junto al nombre del atributo.

    • Al igual que Label y Place Holder, puede configurarse como clave de traducción.

Consideraciones especiales por tipo de atributo

  • Atributos de tipo SELECT, SELECT_IMG, SELECT_IMG_TXT, TREE_SELECT, MULTI_SELECT, MULTI_SELECT_IMG, MULTI_SELECT_IMG_TXT y TREE_MULTISELECT:

    • Requieren definir los valores posibles en la tabla Attribute Definition Value.

      att_120_for_162037761.png
      Ejemplo de atributo con valores de referencia
  • Atributos de tipo INPUT_RANGE

    • Deben tener validaciones de mínimo y máximo configuradas para que funcione el selector de rango.

    • En ausencia de validaciones, se aplican los valores por defecto:

      • MIN_RANGE y MAX_RANGE, definidos en la tabla appConfiguration del Panel de Configuración.

  • Atributos de tipo ENRICHED_TEXT_AREA y ENRICHED_TEXT_AREA_INTERNATIONAL

    • Admiten subida de ficheros con extensiones: .gif, .png, .jpg con restricciones de tamaño.

Atributos de clave primaria

Algunas entidades del metamodelo requieren un conjunto mínimo de atributos que actúan como clave primaria.

  • Dataset: name, infrastructure, path, technology, zone.

  • Dataset field: name, infrastructure, path, technology, zone.

  • DSA: name.

  • Proceso: name, infrastructure, path, technology, zone.

  • Instancia de proceso: name, processAri, solutionAri.

  • Solución: name.

  • Entidades no nativas definidas por cliente: name.

  • Relaciones: name, source, destination.

Atributos obligatorios

Algunos atributos son obligatorios para que Anjana Data funcione correctamente, ya que la plataforma tiene lógica interna asociada a ellos.

  • El campo name debe coincidir exactamente con los nombres esperados.

  • El campo attribute_type debe tener un valor específico.

  • Cada atributo obligatorio solo debe aplicarse en las entidades o relaciones que se detallan en la tabla de obligatoriedad.

  • Añadirlos en otros objetos puede provocar errores en la aplicación.

Atributos obligatorios para entidades


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

 

En la siguiente tabla se explica la finalidad y tipología de los atributos indicados en la tabla anterior:

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. Se utiliza de cara a la ofuscación de datos en la funcionalidad de muestra de datos de los datasets.

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 pies obligatorio porque se muestra en el Portal de Anjana Data en caso de estar informado en los objetos. Es necesario que este atributo esté definido en la tabla de Attribute Definitions sin importar si se incluye en alguna plantilla.

Atributos obligatorios para relaciones

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 una plantilla con un menú, una sección y los atributos indicados en la tabla anterior.

Atributos obligatorios no referenciados en plantillas

Algunos atributos internos y de carácter reservado deben estar incluidos en Attribute Definition para el correcto funcionamiento de la plataforma.

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.

Importante:

Eliminar cualquiera de estos atributos de la tabla Attribute Definition puede provocar errores en:

  • Descarga del excel de importación de metadatos.

  • Errores a la hora de gobernar procesos, instancias y soluciones, así como generar el linaje técnico.

  • Errores a la hora de crear relaciones entre entidades del metamodelo.

Alta de un atributo en la tabla Attribute Definitions

El alta de un nuevo atributo de metadatos implica registrar en la tabla Attribute Definitions un nuevo campo que podrá ser reutilizado en diferentes plantillas de entidades o relaciones.

image-20250905-104249.png
Ejemplo de alta de un nuevo atributo de tipo SELECT

Para añadir un nuevo atributo:

  1. Pulsar el botón New en la esquina superior derecha. Esto abrirá un asistente (wizard) con los campos definidos en el apartado Estructura de la tabla Attribute Definitions.

  2. Completar los campos del atributo conforme a la estructura descrita:

    • Name: nombre interno del atributo (ej.: nivelRiesgo).

    • Type: tipo de atributo (ej.: SELECT).

    • Label: etiqueta visible en el formulario. En caso de internacionalización, se debe dar de alta también en la tabla translations para cada idioma.

    • Place Holder: texto de ejemplo cuando el campo está vacío (opcional). En caso de internacionalización, se debe dar de alta también en la tabla translations para cada idioma.

    • shortDescription: descripción breve del atributo (opcional).

    • Description: descripción más extensa o instrucciones de uso. En caso de internacionalización, se debe dar de alta también en la tabla translations para cada idioma. (ej.: (PD) Indica el nivel de riesgo que supone el modelo de acuerdo con la taxonomía de la regulación europea).

  3. Pulsar en Save para guardar el atributo o en Cancel para descartar.

Notas:

  • Tras el alta de un nuevo atributo, es necesario ejecutar la acción Clear cache desde el Panel de configuración (Actions > Clear cache) para que los cambios sean visibles en el Portal de Datos.

  • En caso de atributos de tipo selectores (ej.: SELECT, MULTI_SELECT, TREE_SELECT…), se deben configurar posteriormente los valores posibles en la tabla Attribute Definition Values (ver apartado correspondiente).

  • El alta del atributo en Attribute Definitions no implica su aparición en las plantillas, para ello, se debe configurar Template Attribute.

  • Se debe prestar atención a la configuración de los atributos obligatorios, especialmente en los campos name y Type.

Modificación de un atributo en la tabla Attribute Definitions

La modificación de un atributo en la tabla Attribute Definitions debe realizarse con especial precaución, ya que puede tener distintos impactos en las plantillas donde el atributo esté siendo utilizado y en los objetos ya creados en el Portal de Datos.

Campos que pueden modificarse sin impacto elevado:

  • Label, Place Holder, Description y shortDescriptionpueden ajustarse, ya que solo se utilizan como apoyo informativo en los formularios:

    • Si no se ha configurado internacionalización, los textos pueden modificarse directamente.

    • Si existe internacionalización, la modificación debe realizarse en la tabla translations, asegurando que las config_key correspondientes (definidas a partir del Label/Place Holder originales) siguen siendo consistentes.

Campos cuya modificación requiere precaución:

  • Type: no se recomienda modificar el tipo de un atributo una vez que este se encuentra en uso, ya que:

    • Puede invalidar validaciones configuradas en las plantillas.

    • Puede generar inconsistencias en la indexación de Solr si el tipo nuevo no es compatible con el anterior (ejemplo: cambiar un atributo numérico a alfanumérico).

    • Si es absolutamente necesario cambiarlo, seguir las recomendaciones del apartado de FAQ.

  • Name: nunca debe cambiarse si el atributo ya está en uso en alguna plantilla, ya que:

    • Puede generar inconsistencias en la indexación de Solr

    • Puede generar inconsistencias en la configuración de Filtros (tabla Filter Confs) .

    • Puede generar inconsistencias en la configuración de validaciones de tipo Depends On (tabla Template Attribute validations) .

    • Podrían producirse errores en workflows.

    • Si fuera imprescindible cambiarlo, sería necesario ejecutar un Clear data en el Panel de configuración (Actions > Clear data) y reindexar toda la información.

Importante:

  • Después de modificar cualquier atributo, ejecutar la acción Clear cache desde el Panel de configuración (Actions > Clear cache) para que los cambios sean efectivos en el Portal de Datos.

  • La modificación de traducciones requiere ejecutar la acción de subida de traducciones desde el Panel de configuración (Actions > Upload translation files) para que los cambios sean efectivos en el Portal de Datos.

Configuración de atributos mediante acceso directo a la base de datos (Visión desarrollador)

La parametrización de los atributos de metadatos también puede realizarse directamente sobre la base de datos, en la tabla anjana.attribute_definition. Esta tabla contiene la definición de todos los atributos reutilizables en las plantillas de entidades y relaciones del metamodelo.

Columna

Tipo de dato

Restricciones / Notas

id_attribute_definition

int4 (INTEGER)

PRIMARY KEY. Identificador único del atributo. Se gestiona mediante secuencias de BD.

description

varchar(300000)

Texto descriptivo del atributo. Puede utilizarse como clave de traducción para internacionalización.

label

varchar(255)

Clave de traducción que se mostrará como etiqueta del atributo en formularios. Debe existir en la tabla translations con un registro por cada idioma configurado.

last_modified_date

timestamp

Fecha de la última modificación del atributo (campo informativo).

name

varchar(255)

Nombre interno del atributo. No admite espacios, #, (, ) , / o :. Debe ser único (restricción UNIQUE). No sensible a mayúsculas/minúsculas.

place_holder

varchar(255)

Clave de traducción para el texto de marcador de posición (placeholder). No obligatorio.

short_description

varchar(255)

Breve explicación del atributo, para mostrar en formularios.

start_date

timestamp

Fecha de creación del atributo (campo informativo).

attribute_type

varchar(255)

Tipo del atributo, según las tipologías soportadas (ejemplo: INPUT_TEXT, SELECT, TREE_MULTISELECT). Ver tabla de equivalencias en el apartado de tipos de atributos.

A continuación se muestra un script de ejemplo para configurar un atributo de tipo SELECT para catalogar el nivel de riesgo de un Sistema de IA:

INSERT INTO anjana.attribute_definition
(id_attribute_definition, description, "label", last_modified_date, "name", place_holder, short_description, start_date, attribute_type)
VALUES(10321, '(PD) Indica el nivel de riesgo que supone el modelo de acuerdo con la taxonomía de la regulación europea', 'Nivel de riesgo', '2024-10-11 11:41:09.720', 'nivelRiesgo', NULL, NULL, '2024-10-11 11:41:09.720', 'SELECT');

Importante:

  • Una vez ejecutado el insert, ejecutar la actualización de secuencias de la tabla. (Desde el Panel de configuración en Actions > Reset DQ sequences se pueden actualizar las secuencias de todas las tablas, incluida esta).

  • Todo el peso de la lógica de configuración recae en el desarrollador que ejecuta las queries SQL directamente sobre la tablas. Se recomienda revisar cuidadosamente el apartado de Estructura de la tabla.