Configuration
Breadcrumbs

Metadata Attributes

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
Table Attribute Definitions for registering different types of metadata attributes

Structure of the Attribute Definitions table

Each registered attribute is characterized by the following fields:

  • Id: identificador único del atributo.

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

  • Name: internal name of the attribute.

Important:

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

  • Cannot contain spaces or characters such as #, (, ), /, or :

  • There are reserved values for native capabilities and integrations of Anjana Data Platform

  • Type: type of attribute.

    • 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.

  • It may cause incompatibilities with validations configured in templates.

  • 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).

  • If strictly necessary, consult the procedure in the Frequently Asked Questions section.

  • Label: visible label of the attribute in metadata forms.

    • 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.

Note: The Label cannot be repeated for two different attributes within the same template.

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

    • Puede configurarse para internacionalización en translations.

Note: The Place Holder cannot be repeated for two different attributes within the same template.

  • 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.

    • It can be used to detail instructions or additional context and is visible within the template in the info next to the attribute name.

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

Special considerations by attribute type

  • Attributes of type SELECT, SELECT_IMG, SELECT_IMG_TXT, TREE_SELECT, MULTI_SELECT, MULTI_SELECT_IMG, MULTI_SELECT_IMG_TXT, and TREE_MULTISELECT:

    • They require defining the possible values in the Attribute Definition Value table.

      att_120_for_162037761.png
      Example of an attribute with reference values
  • Attributes of type INPUT_RANGE

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

    • In the absence of validations, the default values are applied:

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

  • Attributes of type ENRICHED_TEXT_AREA and ENRICHED_TEXT_AREA_INTERNATIONAL

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

Primary key attributes

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.

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

  • Process instance: name, processAri, solutionAri.

  • Solución: name.

  • Non-native entities defined by client: name.

  • Relations: name, source, destination.

Mandatory attributes

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

  • The name field must match exactly the expected names.

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

  • Each mandatory attribute must only be applied to the entities or relations detailed in the mandatory attributes table.

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

Mandatory attributes para entidades


Value in name field

Applies to

Native entity

Non-native entity

DATASET

DATASET_FIELD

DSA

PROCESS

INSTANCE

SOLUCIÓN

description

name

expirationDate

 

 

infrastructure

 

 

 

 

isGoverned

 

 

 

 

 

path

 

 

 

 

physicalName

 

 

 

 

 

technology

 

 

 

 

zone

 

 

 

 

data_format

 

 

 

 

 

 

pi

 

 

 

 

sampleData

 

 

 

 

 

 

datasetFields

 

 

 

 

 

 

fieldDataType

 

 

 

 

 

 

position

 

 

 

 

 

 

termCondFile

 

 

 

 

 

 

dsaContent

 

 

 

 

 

 

isEngine

 

 

 

 

 

 

instanceInDataset

 

 

 

 

 

 

instanceOutDataset

 

 

 

 

 

 

solutionRelatedInstance

 

 

 

 

 

 

Notes:

  • Attributes marked with ✅ are mandatory for the correct functioning of the platform.

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

Value in name field

Value in attribute_type column

Purpose of the attribute

 

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

Stores the date on which the object expires.

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, muestreo de datos, gobierno de permisos…

isGoverned

INPUT_CHECKBOX

Indicates whether there is active governance over the object.

Sólo es necesario en caso de que la entidad vaya a tener conexión con la fuente/tecnología para extracción, muestreo de datos, gobierno 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, muestreo de datos, gobierno 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, muestreo de datos, gobierno de permisos…

zone

SELECT 

Indicates the zone where the object is located, used together with infrastructure and technology to identify a plugin in the case of active governance.

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

data_format

INPUT_TEXT

Indicates the data format of the 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

Indicates whether a sample of the dataset data can be viewed in 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

Allows selecting the data type contained in the field.

position

INPUT_NUMBER

Allows specifying the order of the field within a 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

Stores the set of entities to which users are granted access through the 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

Stores the set of datasets read by the instance for processing.

instanceOutDataset

ENTITY_CONTAINER

Stores the set of datasets written by the instance after processing.

solutionRelatedInstance

ENTITY_CONTAINER

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

Notes:

  • 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.

Mandatory attributes para relaciones

Value in name field

Value in attribute_type column

Purpose of the attribute

Applies to

ADHERENCE

Relación no nativa

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

Stores the date on which the object expires.

 ❌

source

ENTITY_SEARCH

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

 ❌

destination

ENTITY_SEARCH

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

 ❌

pae

INPUT_TEXT

Allows internally associating the adherence with the request submitted by the user.

 ❌

requestReason 

INPUT_TEXT

Allows storing the reason for the adherence request.

 ❌

Notes:

  • 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.

  • Attributes marked with ❌ must not be included in the relation types listed in the previous table. Those marked with ✅ are mandatory for the correct functioning of the platform.

Mandatory attributes 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.

Value in name field

Value in attribute_type column

Purpose of the attribute

 

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.

Important:

Deleting any of these attributes from the Attribute Definition table may cause errors in:

  • 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.

  • Errors when creating relations between metamodel entities.

Adding an attribute to the Attribute Definitions table

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
Example of adding a new attribute of type 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. Fill in the attribute fields according to the described structure:

    • Name: internal name of the attribute (e.g., nivelRiesgo).

    • Type: type of attribute (e.g., 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. Click Save to save the attribute or Cancel to discard.

Notes:

  • 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.

Fields that can be modified without significant impact:

  • Label, Place Holder, Description, and shortDescription can be adjusted, as they are only used as informational support in forms:

    • 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: it is not recommended to modify the type of an attribute once it is in use, because:

    • It may invalidate validations configured in templates.

    • 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).

    • If it is absolutely necessary to change it, follow the recommendations in the FAQ section.

  • 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.

Important:

  • 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.

Column

Data type

Constraints / Notes

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:

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

Important:

  • 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.