Configuración
Breadcrumbs

Validaciones sobre plantillas

En Anjana Data existe la posibilidad de definir un conjunto de validaciones sobre los atributos de metadatos configurados en las plantillas de cada objeto. El objetivo de estas validaciones es asegurar la correcta entrada de datos y garantizar la coherencia, consistencia y control en la documentación de los activos de datos.

image-20250909-160607.png
Ejemplo de atributo configurado como Requerido en la plantilla de AI Model

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

Estas validaciones se registran en la tabla Template Attribute Validations y permiten aplicar reglas sobre los atributos asignados a una plantilla concreta.

image-20250909-170008.png
Tabla Template Attribute Validations para alta de validaciones sobre atributos de las plantillas

Tipos de validaciones soportadas

Las validaciones pueden cubrir distintas necesidades funcionales:

  • Atributos obligatorios (REQUIRED)
    Identifican los atributos que obligatoriamente deben ser informados en una plantilla.

  • Atributos no modificables (NOT_EDITABLE)
    Restringen la edición de un atributo, bloqueando su modificación en las plantillas.

  • Dependencia entre valores (DEPENDS_ON)
    Vinculan los valores de un atributo tipo selector (SELECT, SELECT_IMG, SELECT_IMG_TXT, MULTI_SELECT, etc.) con el valor escogido en otro atributo.

  • Herencia de valor (HERITABLE)
    Identifican atributos booleanos cuyo valor se hereda de otros objetos relacionados según el metamodelo (ej.: un dataset hereda el valor booleano true que indica que tiene datos personales si alguno de sus dataset field lo tiene a true). La herencia sólo puede darse entre entidades que tengan un parentesco según el metamodelo nativo de Anjana Data, es decir, los siguientes casos:

    • Atributos de DATASET heredan valores boleanos de atributos de DATASET FIELD.

    • Atributos de DSA heredan valores boleanos de atributos de las entidades contenidas en el atributo dsaContent.

    • Atributos de INSTANCE heredan valores boleanos de atributos de las entidades contenidas en el atributo datasetsinputininstance y datasetsoutputininstance .

  • Rangos de valores (MIN / MAX)
    Definen valores mínimos y máximos para atributos numéricos.

  • Longitudes de cadenas (MIN_LENGTH / MAX_LENGTH)
    Establecen restricciones número de caracteres en atributos de texto corto/largo.

  • Precisión decimal (MIN_DECIMAL_PRECISION / MAX_DECIMAL_PRECISION)
    Definen el número mínimo o máximo de decimales en atributos decimales.

  • Restricciones en arrays (MIN_LENGTH_ARRAY / MAX_LENGTH_ARRAY)
    Controlan la cantidad mínima o máxima de valores en atributos multivalor.

  • Filtro de subtipos (SUBTYPE_FILTER)
    Limita los subtipos de entidades que pueden asociarse en atributos de tipo ENTITY_CONTAINER, ENTITY_SEARCH o ARRAY_ENTITY.

  • Tipo de relación (RELATIONSHIP_TYPE)
    Determina la relación nativa que se crea automáticamente a partir de un atributo ENTITY_CONTAINER .

Nota: Cuando se utilizan las entidades del metamodelo nativo, deben existir las siguientes validaciones de tipo RELATIONSHIP_TYPE :

  • Sobre el atributo dsaContent de DSA se debe introducir esta validación con DSA_CONTENT como parámetro.

  • Sobre el atributo instanceInDataset de INSTANCE se debe introducir esta validación con INSTANCE_DATASET_IN como parámetro.

  • Sobre el atributo instanceoUTDataset de INSTANCE se debe introducir esta validación con INSTANCE_DATASET_OUT como parámetro.

  • Sobre el atributo solutionRelatedInstance de SOLUTION se debe introducir esta validación con SOLUTION_RELATED_INSTANCE como parámetro.

Matriz de validaciones por tipos de atributos

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 Template Attribute Validations

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

  • templateAttribute: Identificador único de un atributo dentro de la plantilla del objeto para el que se define la validación.

Nota: Hay que tener en cuenta que un atributo puede tener validaciones diferentes en cada plantilla (p.e el atributo que indica la Sensibilidad puede ser requerido en un DATASET pero no en un DSA)

  • key: clave de la validación. Debe corresponder con uno de los siguientes valores:

    • DEPENDS_ON: dependencia con otro atributo de la misma plantilla. Se configura para el atributo destino, es decir, el atributo cuyos valores de referencia aparecen pre-filtrados en función de los valores seleccionados en el atributo del cual depende.

      • Aplica a: atributos de selección de valores (SELECT, SELECT_IMG, SELECT_IMG_TXT, MULTI_SELECT, MULTI_SELECT_IMG, MULTI_SELECT_IMG_TXT, TREE_SELECT, TREE_MULTISELECT)

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

      • Aplica a: atributos booleanos (INPUT_CHECKBOX) y arrays booleanos (ARRAY_BOOLEAN).

    • MAX: número máximo.

      • Aplica a: atributos numéricos (INPUT_NUMBER, INPUT_DECIMAL, INPUT_RANGE, ARRAY_NUMBER, ARRAY_DECIMAL).

    • MIN: número mínimo.

      • Aplica a: atributos numéricos (INPUT_NUMBER, INPUT_DECIMAL, INPUT_RANGE, ARRAY_NUMBER, ARRAY_DECIMAL).

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

      • Aplica a: atributos decimales (INPUT_DECIMAL, ARRAY_DECIMAL).

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

      • Aplica a: atributos decimales (INPUT_DECIMAL, ARRAY_DECIMAL).

    • MAX_LENGTH: longitud máxima en número de caracteres.

      • Aplica a: atributos de texto (INPUT_TEXT, TEXT_AREA, ENRICHED_TEXT_AREA, INPUT_TEXT_INTERNATIONAL, TEXT_AREA_INTERNATIONAL, ENRICHED_TEXT_AREA_INTERNATIONAL, ARRAY_ALPHANUMERICAL).

    • MIN_LENGTHMIN_LENGTH: longitud mínima en número de caracteres.

      • Aplica a: atributos de texto (INPUT_TEXT, TEXT_AREA, ENRICHED_TEXT_AREA, INPUT_TEXT_INTERNATIONAL, TEXT_AREA_INTERNATIONAL, ENRICHED_TEXT_AREA_INTERNATIONAL, ARRAY_ALPHANUMERICAL).

    • MAX_LENGTH_ARRAY: cantidad máxima de elementos de array.

      • Aplica a: atributos multivalor (ARRAY_BOOLEAN, ARRAY_DATE, ARRAY_NUMBER, ARRAY_DECIMAL, ARRAY_ALPHANUMERICAL, ARRAY_UPLOAD_FILE, ARRAY_UPLOAD_URL, MULTI_SELECT, MULTI_SELECT_IMG, MULTI_SELECT_IMG_TXT, MULTI_USERS, MULTI_ORGANIZATIONAL_UNIT, TREE_MULTISELECT).

    • MIN_LENGTH_ARRAY: cantidad mínima de elementos de array.

      • Aplica a: atributos multivalor (ARRAY_BOOLEAN, ARRAY_DATE, ARRAY_NUMBER, ARRAY_DECIMAL, ARRAY_ALPHANUMERICAL, ARRAY_UPLOAD_FILE, ARRAY_UPLOAD_URL, MULTI_SELECT, MULTI_SELECT_IMG, MULTI_SELECT_IMG_TXT, MULTI_USERS, MULTI_ORGANIZATIONAL_UNIT, TREE_MULTISELECT).

    • NOT_EDITABLE: no modificable.

      • Aplica a: todos los tipos de atributos

    • RELATIONSHIP_TYPE: subtipo de relación que se crea

      • Aplica a: atributos nativos de tipo ENTITY_CONTAINER

    • REQUIRED: atributo obligatorio

      • Aplica a: todos los tipos de atributos

    • SUBTYPE_FILTER: subtipo de entidad permitida.

      • Aplica a: atributos de tipo entidad (ENTITY_CONTAINER, ENTITY_SEARCH, ARRAY_ENTITY)

  • params: parámetros a completar en función de la siguiente tabla

key

params

DEPENDS_ON

Se debe indicar el nombre del atributo del que depende (valor del campo name en la tabla Attribute Definitions)

MAX

MAX_DECIMAL_PRECISION

MAX_LENGHT

MAX_LENGHT_ARRAY

MIN

MIN_DECIMAL_PRECISION

MIN_LENGHT

MIN_LENGHT_ARRAY

Requieren un valor numérico que defina el límite correspondiente.

REQUIRED

NOT_EDITABLE

Deben configurarse con el valor true.

HERITABLE

Admite dos posibles valores:

  • HIGH: el valor heredado será true si al menos uno de los elementos de los que hereda tiene true.

  • LOW: el valor heredado será false si al menos uno de los elementos de los que hereda tiene false.

RELATIONSHIP_TYPE

Se debe indicar el nombre del subtipo de relación (campo name en la tabla Object Sub-Types).

SUBTYPE_FILTER

Se deben indicar los nombres de los subtipos de entidad permitidos (campo name de la tabla object_subtype), separados por _- y sin espacios.

Notas sobre las validaciones de atributos

Al configurar validaciones en la tabla Template Attribute Validation, es necesario tener en cuenta las siguientes consideraciones:

  • Atributos que forman parte de la clave primaria (PK):
    Los atributos name, source, destination, infrastructure, technology, zone, path, processAri y solutionAri deben configurarse siempre con las validaciones REQUIRED y NOT_EDITABLE para garantizar que estén completos.

    • Si no se cumple esta regla, la validación de configuración ejecutada desde Portuno resultará errónea.

      att_11_for_162037761.png
      Botón de acciones del Panel de configuración
    • Además, la descarga de plantillas en formato Excel desde el Portal de Datos fallará.

  • Atributo physicalName:
    En los subtipos de tipo entidad que puedan ser extraídos mediante descubrimiento automático, este atributo debe validarse como NOT_EDITABLE.

    • Así se asegura que conserve siempre el valor original de la fuente.

    • No es necesario añadir la validación de REQUIRED.

  • Atributos de tipo INPUT_RANGE:
    Deben contar obligatoriamente con validaciones de MIN y MAX para identificar correctamente el rango de valores permitido.

    • Si no se configuran, se aplicarán por defecto los valores MIN_INTEGER y MAX_INTEGER definidos en la tabla AppConfigurations.

  • Atributos numéricos (INPUT_NUMBER, ARRAY_NUMBER, INPUT_DECIMAL, ARRAY_DECIMAL):
    Si no se definen validaciones explícitas de MIN y MAX, se aplican igualmente los valores MIN_INTEGER y MAX_INTEGER de la tabla AppConfigurations.

  • Atributos decimales (INPUT_DECIMAL, ARRAY_DECIMAL):
    Si no se configuran validaciones de MIN_DECIMAL_PRECISION y MAX_DECIMAL_PRECISION, se aplican los valores MIN_INTEGER y MAX_INTEGER definidos en la tabla AppConfigurations.

  • Atributos de texto largo (ENRICHED_TEXT_AREA, INPUT_TEXT_INTERNATIONAL, ENRICHED_TEXT_AREA_INTERNATIONAL, TEXT_AREA_INTERNATIONAL, TEXT_AREA):
    Si no se configuran validaciones de MIN_LENGTH y MAX_LENGTH, se aplican por defecto los valores MIN_LENGTH_TEXT_EDITOR y MAX_LENGTH_TEXT_EDITOR de la tabla AppConfiguration.

  • Atributos de texto corto (INPUT_TEXT, ARRAY_ALPHANUMERICAL):
    Si no se configuran validaciones de MIN_LENGTH y MAX_LENGTH, se aplican los valores MIN_LENGTH_TEXT_EDITOR y MAX_LENGTH_TEXT_BD de la tabla app_configurations.

  • Validación RELATIONSHIP_TYPE:
    Es obligatoria en todos los atributos de tipo ENTITY_CONTAINER.

    • Identifica la relación que se crea en el metamodelo (ej.: DSA_CONTENT, INSTANCE_DATASET_IN, INSTANCE_DATASET_OUT, SOLUTION_RELATED_INSTANCE).

    • No debe modificarse una vez configurada.

  • Instalaciones en vacío (sin configuración previa):
    Tras la creación inicial de plantillas, es necesario dar de alta todas las validaciones obligatorias descritas anteriormente para garantizar la coherencia del sistema.

  • Atributos booleanos:
    No es posible aplicar validación de REQUIRED en atributos de tipo booleano, ya que no pueden representar un estado “no definido” o “vacío”.

    • Un booleano solo distingue entre true o false.

    • La validación de obligatoriedad carece de sentido.

  • Dependencias entre atributos de tipo SELECT (DEPENDS_ON):
    Para que esta validación funcione, deben configurarse las relaciones entre atributos en la tabla Attribute Relationships.

  • Regla de unicidad:
    No es posible configurar la misma validación dos veces para un mismo atributo de plantilla.

Alta de una validación en la tabla Template Attribute Validations

El alta de una nueva validación en una plantilla implica registrar en la tabla Template Attribute Validations un nuevo registro que vincula un atributo de plantilla con una regla de validación.

image-20250909-170811.png
Ejemplo de alta de una nueva validación sobre el atributo destination de la plantilla de GENERA

Para añadir el registro y dar de alta una nueva validación:

  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 Template Attribute Validations .

  2. Completar los campos conforme a la estructura descrita:

    • templateAttribute: seleccionar el atributo de plantilla al que se desea asociar la validación (p.e: 10383-destination-GENERA).

    • key: seleccionar la clave de la validación que se aplicará (p.e: SUBTYPE_FILTER).

    • params: indicar los parámetros necesarios para la validación seleccionada.
      En este ejemplo, se limita el destino de la relación únicamente a determinados subtipos de entidad, listados en el campo separados por _- y sin espacios:

      AI_MODEL_-AGENTE_LLM_-MODELO_ML
      

      Esto implica que el atributo destination de la relación GENERA solo permitirá como destino entidades de tipo AI_MODEL, AGENTE_LLM o MODELO_ML.

  3. Pulsar en Save para guardar la validación o en Cancel para descartar.

Nota

Tras el alta de validaciones, es necesario ejecutar la acción Clear cache desde el Panel de configuración (Actions > Clear cache) para que los cambios se apliquen y sean visibles en el Portal de Datos.


Modificación de una validación sobre un atributo de la plantilla en la tabla Template Attribute Validations

La modificación de una validación existente en una plantilla se gestiona desde la tabla Template Attribute Validations en el Panel de configuración.

Consideraciones importantes

  • Únicamente es posible modificar el campo params de una validación ya creada.

  • Los campos templateAttribute y key no son editables.

  • Si es necesario cambiar el atributo de plantilla asociado (templateAttribute) o la clave de la validación (key), se debe eliminar la validación existente y crear una nueva con los valores correctos.

Procedimiento para modificar los params

  1. Localizar la validación que se desea editar en la tabla Template Attribute Validations.

  2. Pulsar el botón Editar (icono verde).

  3. En el asistente (wizard), modificar el valor del campo params según corresponda a la regla de validación seleccionada.

    Ejemplos:

    • Para una validación de tipo SUBTYPE_FILTER , actualizar la lista de subtipos de entidad permitidos, separados por _- y sin espacios (ejemplo: AI_MODEL_-MODELO_ML).

    • Para una validación de tipo MAX_LENGTH, ajustar el número máximo de caracteres (ejemplo: 300000).

    • Para una validación de tipo HERITABLE, indicar si aplica herencia con el valor HIGH o LOW.

  4. Pulsar Save para guardar los cambios o Cancel para descartarlos.

Nota:

Tras la modificación de validaciones, es necesario ejecutar la acción Clear cache desde el Panel de configuración (Actions > Clear cache) para que los cambios se apliquen y sean visibles en el Portal de Datos.


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

Las validaciones de los atributos de cada plantilla se almacenan en la tabla anjana.template_attribute_validation.

Columna

Tipo

Restricciones / Notas

id_template_attribute

int4

NOT NULL. FK a anjana.template_attribute(id_template_attribute). Identifica el atributo dentro de la plantilla.

validator_key

varchar(255)

Clave de validación (p. ej.: REQUIRED, NOT_EDITABLE, MIN, MAX, MAX_LENGTH, SUBTYPE_FILTER, …).

validator_params

varchar(255)

Parámetros de la validación. Ej.: número, true, HIGH/LOW, lista de subtipos AI_MODEL_-..., etc.

A continuación se muestra un script de ejemplo para configurar varias validaciones sobre el atributo destination de la relación GENERA:

INSERT INTO anjana.template_attribute_validation
  (id_template_attribute, validator_key, validator_params)
VALUES
  (10383, 'NOT_EDITABLE',   'true'),
  (10383, 'REQUIRED',       'true'),
  (10383, 'SUBTYPE_FILTER', 'AI_MODEL_-AGENTE_LLM_-MODELO_ML_DL');

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.