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.

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.

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
ydatasetsoutputininstance
.
-
-
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 tipoENTITY_CONTAINER
,ENTITY_SEARCH
oARRAY_ENTITY
. -
Tipo de relación (
RELATIONSHIP_TYPE
)
Determina la relación nativa que se crea automáticamente a partir de un atributoENTITY_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 conDSA_CONTENT
como parámetro. -
Sobre el atributo
instanceInDataset
de INSTANCE se debe introducir esta validación conINSTANCE_DATASET_IN
como parámetro. -
Sobre el atributo
instanceoUTDataset
de INSTANCE se debe introducir esta validación conINSTANCE_DATASET_OUT
como parámetro. -
Sobre el atributo
solutionRelatedInstance
de SOLUTION se debe introducir esta validación conSOLUTION_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_LENGTH
MIN_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 |
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 |
HERITABLE |
Admite dos posibles valores:
|
RELATIONSHIP_TYPE |
Se debe indicar el nombre del subtipo de relación (campo name en la tabla |
SUBTYPE_FILTER |
Se deben indicar los nombres de los subtipos de entidad permitidos (campo name de la tabla |
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 atributosname
,source
,destination
,infrastructure
,technology
,zone
,path
,processAri
ysolutionAri
deben configurarse siempre con las validacionesREQUIRED
yNOT_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.
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 comoNOT_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 deMIN
yMAX
para identificar correctamente el rango de valores permitido.-
Si no se configuran, se aplicarán por defecto los valores
MIN_INTEGER
yMAX_INTEGER
definidos en la tablaAppConfigurations
.
-
-
Atributos numéricos (
INPUT_NUMBER
,ARRAY_NUMBER
,INPUT_DECIMAL
,ARRAY_DECIMAL
):
Si no se definen validaciones explícitas deMIN
yMAX
, se aplican igualmente los valoresMIN_INTEGER
yMAX_INTEGER
de la tablaAppConfigurations
. -
Atributos decimales (
INPUT_DECIMAL
,ARRAY_DECIMAL
):
Si no se configuran validaciones deMIN_DECIMAL_PRECISION
yMAX_DECIMAL_PRECISION
, se aplican los valoresMIN_INTEGER
yMAX_INTEGER
definidos en la tablaAppConfigurations
. -
Atributos de texto largo (
ENRICHED_TEXT_AREA
,INPUT_TEXT_INTERNATIONAL
,ENRICHED_TEXT_AREA_INTERNATIONAL
,TEXT_AREA_INTERNATIONAL
,TEXT_AREA
):
Si no se configuran validaciones deMIN_LENGTH
yMAX_LENGTH
, se aplican por defecto los valoresMIN_LENGTH_TEXT_EDITOR
yMAX_LENGTH_TEXT_EDITOR
de la tablaAppConfiguration
. -
Atributos de texto corto (
INPUT_TEXT
,ARRAY_ALPHANUMERICAL
):
Si no se configuran validaciones deMIN_LENGTH
yMAX_LENGTH
, se aplican los valoresMIN_LENGTH_TEXT_EDITOR
yMAX_LENGTH_TEXT_BD
de la tablaapp_configurations
. -
Validación
RELATIONSHIP_TYPE
:
Es obligatoria en todos los atributos de tipoENTITY_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 deREQUIRED
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 tablaAttribute 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.

Para añadir el registro y dar de alta una nueva validación:
-
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
. -
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ónGENERA
solo permitirá como destino entidades de tipo AI_MODEL, AGENTE_LLM o MODELO_ML.
-
-
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
ykey
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
-
Localizar la validación que se desea editar en la tabla
Template Attribute Validations
. -
Pulsar el botón Editar (icono verde).
-
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 valorHIGH
oLOW
.
-
-
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 |
---|---|---|
|
|
NOT NULL. FK a |
|
|
Clave de validación (p. ej.: |
|
|
Parámetros de la validación. Ej.: número, |
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.