Configuración
Breadcrumbs

Reglas de versionado

En Anjana Data 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, se consideran lo suficientemente relevantes como para generar una nueva versión del objeto y pasar la versión original a estado Deprecado.

image-20250910-153242.png
Ejemplo de versionado de un DATASET al cambiar la precisión de un DATASET FIELD de tipo decimal

Tabla Edition Configuration del Panel de Configuración (Visión administrador)

Las reglas se definen en la tabla Edition Configuration. Sólo pueden configurarse para cambios en atributos de tipo booleano o metadato de referencia perteneciente a las plantillas de las entidades nativas DATASET, DATASET_FIELD, DSA, PROCESS, INSTANCE y SOLUTION.

image-20250910-153518.png
Tabla Edition Configuration en la que se configuran las reglas de versionado


Estructura de la tabla Edition Configuration

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

  • Id: identificador único de la regla de versionado. Se asigna automáticamente desde el Panel de configuración.

  • currentValue: valor original del atributo (previo a la modificación). Si el valor indicado en este campo pasa a valer el indicado en newValue, el objeto versionará.

    • Si se desea que haya versionado independientemente del valor inicial, introducir null.

    • Este valor (excepto null) debe existir previamente en la tabla Attribute Definition Value.

  • newValue: valor nuevo del atributo (con el que se lanza el flujo de modificación). Si el valor indicado en este campo newValue pasa a valer el indicado en este campo, el objeto versionará.

    • Si se desea que haya versionado independientemente del valor nuevo, introducir null.

    • En caso de metadatos de referencia, este valor (excepto null) debe existir previamente en la tabla Attribute Definition Value.

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

    • Se selecciona de entre los atributos definidos en la tabla Template Attributes.

Importante:

  • Para que un DATASET versione al añadir o eliminar uno o varios DATASET FIELD, se debe incluir un registro para el templateAttribute del atributo datasetFields. Este último debe estar en la plantilla de DATASET con active a false.

  • Para que una INSTANCIA versione al añadir o eliminar uno o varios DATASET de entrada o salida, se debe incluir un registro para el templateAttribute del atributo datasetsinputininstance y otro para datasetsinputininstance . Estos deben estar declarados en la plantilla de INSTANCE mediante la tabla Template Attributes.

  • Para que un DSA versione al añadir o eliminar entidades a las que da acceso, se debe incluir un registro para el templateAttribute del atributo dsaContent.

Alta de una regla de versionado para un atributo de plantilla en la tabla Edition Configuration

El alta de una nueva regla implica añadir en la tabla Edition Configuration un nuevo registro que defina la condición de cambio a monitorizar.

image-20250910-154406.png
Ejemplo de alta de una regla de versionado sobre el atributo Precisión de un DATASET FIELD
  1. Pulsar el botón New en la esquina superior derecha. Esto abrirá un asistente (wizard) con los campos definidos en el apartado anterior.

  2. Completar los campos conforme a la estructura:

    • currentValue: valor inicial previo al cambio (ej.: Se deja vacío para que versione independientemente del valor inicial).

    • newValue: valor final que debe generar versionado (ej.: null).

    • templateAttribute: seleccionar el atributo de entre los atributos de la plantilla (ej.: precision de la entidad DATASET_FIELD).

  3. Pulsar en Save para guardar la regla o en Cancel para descartar.

Nota: Tras el alta de reglas de versionado, 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 regla de versionado para un atributo de plantilla en la tabla Edition Configuration

Las reglas de versionado definidas en la tabla Edition Configuration pueden modificarse en cualquier momento, independientemente de si existen o no objetos gobernados en el Portal de Datos.

La modificación consiste en ajustar los valores de los campos currentValue, newValue o el templateAttribute asociado a la regla. Estas modificaciones impactarán en los futuros procesos de versionado, pero no alteran retroactivamente los ya ejecutados.

Es importante tener en cuenta lo siguiente:

  • Los flujos de versionado que ya estén en curso no se ven afectados por la modificación.

  • Si dichos flujos llegan a aprobarse, darán lugar igualmente a una nueva versión del objeto, siguiendo las condiciones de la regla que estaba configurada en el momento en que se lanzó el proceso.

  • Los cambios realizados solo aplicarán a los versionados que se disparen a partir de la modificación.

Nota: Tras la modificación de reglas de versionado, 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 reglas de versionado mediante acceso directo a la base de datos (Visión desarrollador)

La configuración de las reglas de versionado se almacena en la tabla anjana.edition_configuration, que permite definir qué cambios en los atributos de los objetos gobernados generan un nuevo versionado.

Columna

Tipo

Restricciones / Notas

id_edition_conf

int4

PRIMARY KEY. Identificador único de la regla. Se gestiona mediante secuencias.

current_value

varchar

Valor original del atributo. Puede ser NULL para indicar que aplica a cualquier valor inicial.

new_value

varchar

Valor nuevo del atributo. Puede ser NULL para indicar que aplica a cualquier valor final.

id_template_attribute

int4

NOT NULL. FK a anjana.template_attribute(id_template_attribute). Indica el atributo de la plantilla al que aplica la regla de versionado.

En este ejemplo se crea una regla de versionado para el atributo precision de la entidad DATASET_FIELD, de forma que el versionado se produzca independientemente de los valores inicial y final:

INSERT INTO anjana.edition_configuration
(id_edition_conf, current_value, new_value, id_template_attribute)
VALUES(12, NULL, NULL, 112);

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.