Configuración
Breadcrumbs

Filtros

En Anjana Data, los filtros permiten a los usuarios refinar búsquedas y visualizar la información relevante en diferentes contextos del Portal de Datos (buscador y pantallas de auditoría).

image-20250915-102237.png
Ejemplo de Filtros que se pueden añadir al Portal de Búsqueda del Portal de Datos

Pantallas del Portal de Datos con filtros configurables

Hay distintas pantallas del Portal de Datos que tienen la posibilidad de customizar los filtros que se ofrecen a los usuarios:

Filtros del Portal de búsquedas

El Portal de búsquedas tiene unos filtros configurados por defecto, es decir, que aparecen de forma estática en la parte superior. Adicionalmente, el usuario puede añadir más filtros seleccionando de entre los filtros configurados por la organización, mediante la opción de Filtros > Añadir filtro.

image-20250916-100950.png
Ejemplo de filtros por defecto del Portal de datos
Filtros de los atributos de tipo entidad

Los atributos de tipo entidad disponen de un filtro que facilita la búsqueda y localización de entidades. En ellos aparecen los mismos filtros por defecto y para añadir a demanda que en el Portal de búsqueda.

image-20250916-101314.png
Ejemplo de filtros de atributos de tipo entidad
Filtros del módulo de auditoría

El módulo de auditoría global dispone de filtros por ciertos tipos de metadatos y que admiten cierto grado de configuración.

image-20250916-102333.png
Ejemplo de auditoría global
Filtros del módulo de auditoría de objeto

El módulo de auditoría de un objeto (entidad o relación) dispone de filtros por ciertos tipos de metadatos y que admiten cierto grado de configuración.

image-20250916-102426.png
Ejemplo de auditoría de un objeto de subtipo DSA
Filtros del módulo de auditoría de usuario

Cada usuario puede consultar en su perfil su propia auditoría, donde dispone de filtros que facilitan la localización de los registros correspondientes. Estos filtros admiten cierta customización por ciertos metadatos.

image-20250916-103223.png
Ejemplo de auditoría de usuario

Tabla Filter Conf del Panel de Configuración (Visión administrador)

Estos filtros se definen en la tabla Filter Conf del Portal de Configuración y determinan qué metadatos se pueden utilizar como criterio de búsqueda, cuál es su tipología, etc.

image-20250915-102415.png
Ejemplo de Tabla Filter Conf para configuración de filtros del portal de búsqueda y auditoría

Estructura de la tabla Filter Conf

Cada filtro registrado se caracteriza por los siguientes campos:

  • Id: identificador único del filtro. Se asigna automáticamente desde el Panel de configuración.

  • Name: campo que sirve para indicar qué atributo de metadatos es sobre el que aplica el filtrado.

    • Cuando el filtro corresponde a un atributo de metadatos definido en la tabla Attribute Definition, el valor de Name debe configurarse en mayúsculas a partir del campo name de dicha tabla.

      • Ejemplo: si en Attribute Definition existe un atributo con name = dominio, el filtro debe configurarse con Name = DOMINIO.

    • Cuando el filtro corresponde a campos relacionados con la Auditoría del sistema, el valor de name hace referencia a los campos de la tabla minerva.audit_log (tabla del modelo de datos interno), que almacena la auditoría interna y externa de Anjana Data. Valores posibles para la auditoría:

      • action: permite filtrar por las diferentes acciones de gobierno (p.e: Creación, Modificación, Adherencia…). El Type del filtro debe ser de tipo MULTI_SELECT y el Label debe tener el valor FILTERS.ACTION.

      • logOrigin: permite filtrar por el origen de la auditoría. La auditoría interna de Anjana Data (p.e: las acciones de Creación, Modificación, Adherencia…) tienen como logOrigin “anjana”, mientras que la auditoría externa que se inyecta por API, tendrá el valor que defina la organización. El Type de este filtro debe ser de tipo MULTI_SELECT y el Label debe tener el valor FILTERS.LOG_ORIGIN.

      • objectName: indica el nombre lógico del activo del Portal de Datos sobre el que se registra la auditoría (p.e: el dataset de “Códigos de producto”). El Type de este filtro debe ser de tipo ENTITY y el Label debe tener el valor FILTERS.OBJ_NAME.

      • objectType: permite filtrar tipo de objeto, es decir, por ENTIDAD o RELACIÓN. El Type de este filtro debe ser de tipo MULTI_SELECT y el Label debe tener el valor FILTERS.OBJ_TYPE.

      • objectSubtype: permite filtrar subtipo de objeto, es decir, por los diferentes tipos de entidades y relaciones configurados en el metamodelo. El Type de este filtro debe ser de tipo MULTI_SELECT y el Label debe tener el valor FILTERS.OBJ_SUB_TYPE.

      • startTime: permite filtrar los registros de auditoría en un rango de fechas (inicio y fin). El Type de este filtro debe ser de tipo INPUT_DATE_RANGE y el Label debe tener el valor COMMON.DATE.

      • userName: permite filtrar los registros de auditoría por el usuario que los ha originado. El Type de este filtro debe ser de tipo SELECT_USERS y el Label debe tener el valor FILTERS.USER.

  • Label: se trata de la clave de traducción del nombre visible del filtro en el Portal de Datos. El label debe conformarse de la siguiente manera:

    FILTERS.<name en Attribute Definitions>
    
  • Type: permite seleccionar el tipo de filtro de entre los tipos disponibles. Debe corresponder con el tipo del atributo al que aplica (Ver la tabla disponible en el siguiente apartado).

  • collection: hace referencia a colección de datos sobre la que aplica el filtro en la tecnología del indexador. El usuario debe escoger entre los siguientes valores en función del módulo para el que se configura el filtro:

    • Kerno → Sirve para configurar filtros en el Portal de búsqueda del Portal de Datos. Estos filtros permiten buscar dentro del inventario de activos de datos e información.

    • Audit Logs → Sirve para configurar filtros en el módulo de Auditoría. Estos filtros permiten buscar entre el histórico de acciones de gobierno y auditoría externa.

      image-20250915-103534.png
      Ejemplo de filtros en el módulo de auditoría
  • pageName: sirve para indicar página a la que aplica el filtro. Los valores posibles son los siguientes:

    • vacío → Aplica solamente a filtros del Portal de Búsqueda (collection= kerno) o para todos los módulos de auditoría (Auditoría global, auditoría de objeto o auditoría de usuario)

    • AUDIT_ALL → Aplica solamente al módulo de Auditoría global.

    • AUDIT_USER → Aplica solamente al módulo de Auditoría de usuario.

    • AUDIT_OBJECT → Aplica solamente al módulo de Auditoría de objeto.

  • main: campo booleano que solo aplica a los filtros del Portal de Búsqueda:

    • true → Marcar para que el filtro aparezca por defecto en la barra de filtros del Portal de Búsqueda y en los filtros de los atributos de tipo ENTIDAD. En los filtros de Auditoría, el mainsiempre debe estar a true.

    • false → Desmarcar para que sea el usuario quien tenga la posibilidad de añadir el filtro en el Portal de Búsqueda si así lo desea, mediante la opción de Filtros > Añadir filtro(false).

      image-20250915-104747.png
      Ejemplo de filtros en el Portal de Búsqueda
  • position: sirve para establecer el orden en el que se muestran los filtros en la interfaz.

  • sortable: actualmente no se utiliza (campo legacy). Puede dejarse como false.

Notas:

  • En los módulos de Auditoría no se pueden configurar filtros por atributos de metadatos.

  • Existen filtros cuyos valores no se traducen: tipo de objeto, subtipo del objeto y nombres de usuario o de tipo SELECT_USERS.

Importante: Cualquier error en la configuración de filtros del portal de búsqueda provoca un error “Solr: undefined field” que impide el uso normal del portal.

image-20250915-113109.png


Tipos de filtros

A continuación se muestran los diferentes tipos de filtros que se pueden configurar según la tipología del metadato sobre el que se configura el filtro:

Tipo de atributo

Tipo de filtro

Array de Date

INPUT_DATE_RANGE

Date

Array de Decimal

INPUT_NUMBER_RANGE

Decimal

Array de Number

Number

Number range

Array de Entity 

ENTITY

Entity Search

Entity Container

Array de Users

SELECT_USERS

User

Taxonomía única

MULTI_SELECT_TREE

Taxonomía de selección múltiple

Array de Organizational Unit

MULTI_SELECT_TREE_OU

Organizational Unit

Boolean

BOOLEAN

Array de Boolean

MULTI_SELECT

MultiSelect

MultiSelect con iconos

MultiSelect con iconos y texto

Reference Metadata

Selector con icono

Selector con icono y texto

Alta de un Filtro en la tabla Filter Conf

El alta de un nuevo filtro se realiza en el Panel de configuración

image-20250915-115100.png
Ejemplo de alta de un filtro para el Portal de búsqueda

Pasos para el alta de un filtro en el Portal de Búsqueda:

  1. Pulsar el botón New en la esquina superior derecha.

  2. Completar los campos conforme a la estructura de la tabla:

    • name: identificador del filtro en mayúsculas (ej.: DOMINIO).

    • Label: clave de traducción asociada (ej.: FILTERS.DOMINIO).

    • Collection: elegir la colección correspondiente al Portal de búsqueda (kerno).

    • pageName: al ser un filtro del portal de búsqueda, este campo se deja vacío.

    • Type: seleccionar el tipo de filtro (ej.: MULTI_SELECT_TREE por ser un atributo de tipo árbol de taxonomías).

    • main: marcar si el filtro debe aparecer por defecto en la barra de filtros (ej: true).

    • position: indicar el orden de visualización en la barra de filtros(ej: 4)

    • sortable: dejar en false.

  3. Pulsar en Save para guardar el filtro o en Cancel para descartarlo.

image-20250915-120000.png
Ejemplo de alta de un filtro en los módulos de auditoría

Pasos para el alta de un filtro en todos los módulos de auditoría (global, de objeto y de usuario):

  1. Pulsar el botón New en la esquina superior derecha.

  2. Completar los campos conforme a la estructura de la tabla:

    • Name: identificador del filtro en mayúsculas (ej.: objectName).

    • Label: clave de traducción asociada (ej.: FILTERS.OBJ_NAME).

    • Collection: elegir la colección correspondiente al Portal de búsqueda (Audit Logs).

    • pageName: indicar la página. En este caso, dado que aplica a todos los módulos de auditoría (global, objeto y usuario) se deja vacío.

    • Type: seleccionar el tipo de filtro (ej.: ENTITY por ser un filtro de tipo entidad).

    • main: al ser un filtro de auditoría, debe valer true.

    • position: indicar el orden de visualización en la barra de filtros(ej: 4 )

    • sortable: dejar en false.

  3. Pulsar en Save para guardar el filtro o en Cancel para descartarlo.

Modificación de un Filtro en la tabla Filter Conf

La modificación de un filtro existente puede realizarse en cualquier momento, dado que únicamente afecta a la visualización y comportamiento de los módulos en los que el filtro es utilizado (buscador o auditoría).

Los siguientes campos pueden modificarse libremente, respetando siempre las restricciones de valores posibles:

  • main: para indicar si el filtro debe aparecer como estático o configurable por el usuario.

  • position: para ajustar el orden en el que se muestran los filtros en la interfaz.

  • Type: para cambiar el tipo de filtro, siempre seleccionando uno válido en función del tipo de atributo al que aplica.

  • pageName: para redefinir las pantallas o secciones de la aplicación en las que el filtro estará disponible.

El resto de campos (Name, Collection yLabel ) no deben modificarse, salvo para corregir errores de configuración en el alta inicial.

En cualquier momento es posible añadir nuevos filtros o eliminar filtros existentes, en función de las necesidades de visualización o de los módulos habilitados en el Portal de Datos.

* Filtros avanzados

Los documentos indexados contienen metadatos internos que en ocasiones pueden resultar muy útiles, algunos casos de uso habituales pueden ser:

  • Buscar dataset fields filtrando por el nombre del dataset (Name = DATASET_NAME , Label= FILTERS.DATASET_NAME)

  • Buscar relaciones filtrando por el subtipo de entidad origen (Name = SOURCE_TYPE, Label= FILTERS.SOURCE_TYPE)

  • Buscar relaciones filtrando por el subtipo de entidad destino (Name = DESTINATION_TYPE, Label= FILTERS.DESTINATION_TYPE)

Estos metadatos se encuentran indexados y pueden ser configurados como filtros:

ce566562-0767-40bd-93b4-485a4647947c.png
Ejemplo de metadatos indexados en SOLR para un DATASET


image-20250915-133044.png
Ejemplo de metadatos indexados en SOLR para una relación de subtipo CONSUMIDO_POR


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

Los filtros se almacenan en la tabla minerva.filter_conf.

Columna

Tipo de dato

Restricciones / Notas

id

int4

PRIMARY KEY. Identificador único del filtro.

collection

varchar(100)

kerno o audit_logs.

label

varchar(100)

Clave de traducción.

main

bool

true → filtro estático.

filter_name

varchar(100)

Nombre del campo de Solr o audit_log.

position

int4

Orden en pantalla.

sortable

bool

No utilizado (recomendado false).

type

varchar(100)

Tipo de filtro (ej.: MULTI_SELECT, INPUT_DATE_RANGE).

page_name

varchar(255)

Pantalla de auditoría donde aplica (AUDIT_ALL, AUDIT_USER, etc.).

Definición de varios filtros en los diferentes módulos del Portal de Datos:

INSERT INTO minerva.filter_conf
(id, collection, "label", main, filter_name, "position", sortable, "type", page_name)
VALUES
(69, 'kerno', 'FILTERS.DOMINIO', true, 'DOMINIO', 4, false, 'MULTI_SELECT_TREE', NULL),
(64, 'kerno', 'FILTERS.NIVELRIESGO', false, 'NIVELRIESGO', 15, false, 'MULTI_SELECT', NULL),
(62, 'kerno', 'FILTERS.NIVELGOBIERNO', true, 'NIVELGOBIERNO', 8, false, 'MULTI_SELECT', NULL),
(49, 'audit_logs', 'FILTERS.OBJ_SUB_TYPE', true, 'objectSubType', 3, true, 'MULTI_SELECT', 'AUDIT_USER'),
(48, 'audit_logs', 'FILTERS.USER', true, 'userName', 2, true, 'MULTI_SELECT', 'AUDIT_USER'),
(40, 'audit_logs', 'FILTERS.OBJ_SUB_TYPE', true, 'objectSubType', 4, true, 'MULTI_SELECT', 'AUDIT_ALL'),
(39, 'audit_logs', 'FILTERS.OBJ_TYPE', true, 'objectType', 3, true, 'MULTI_SELECT', 'AUDIT_ALL');

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.