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

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
.

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.

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.

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.

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.

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.

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 camponame
de dicha tabla.-
Ejemplo: si en
Attribute Definition
existe un atributo conname = dominio
, el filtro debe configurarse conName = 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 tablaminerva.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…). ElType
del filtro debe ser de tipoMULTI_SELECT
y elLabel
debe tener el valorFILTERS.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 comologOrigin
“anjana”, mientras que la auditoría externa que se inyecta por API, tendrá el valor que defina la organización. ElType
de este filtro debe ser de tipoMULTI_SELECT
y elLabel
debe tener el valorFILTERS.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”). ElType
de este filtro debe ser de tipoENTITY
y elLabel
debe tener el valorFILTERS.OBJ_NAME
. -
objectType
: permite filtrar tipo de objeto, es decir, por ENTIDAD o RELACIÓN. ElType
de este filtro debe ser de tipoMULTI_SELECT
y elLabel
debe tener el valorFILTERS.OBJ_TYPE
. -
objectSubtype
: permite filtrar subtipo de objeto, es decir, por los diferentes tipos de entidades y relaciones configurados en el metamodelo. ElType
de este filtro debe ser de tipoMULTI_SELECT
y elLabel
debe tener el valorFILTERS.OBJ_SUB_TYPE
. -
startTime
: permite filtrar los registros de auditoría en un rango de fechas (inicio y fin). ElType
de este filtro debe ser de tipoINPUT_DATE_RANGE
y elLabel
debe tener el valorCOMMON.DATE
. -
userName
: permite filtrar los registros de auditoría por el usuario que los ha originado. ElType
de este filtro debe ser de tipoSELECT_USERS
y elLabel
debe tener el valorFILTERS.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.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, elmain
siempre debe estar atrue
. -
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 deFiltros > Añadir filtro
(false
).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 comofalse
.
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.

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

Pasos para el alta de un filtro en el Portal de Búsqueda:
-
Pulsar el botón New en la esquina superior derecha.
-
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 enfalse
.
-
-
Pulsar en Save para guardar el filtro o en Cancel para descartarlo.

Pasos para el alta de un filtro en todos los módulos de auditoría (global, de objeto y de usuario):
-
Pulsar el botón New en la esquina superior derecha.
-
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 valertrue
. -
position
: indicar el orden de visualización en la barra de filtros(ej:4
) -
sortable
: dejar enfalse
.
-
-
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:


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) |
|
label |
varchar(100) |
Clave de traducción. |
main |
bool |
|
filter_name |
varchar(100) |
Nombre del campo de Solr o |
position |
int4 |
Orden en pantalla. |
sortable |
bool |
No utilizado (recomendado |
type |
varchar(100) |
Tipo de filtro (ej.: |
page_name |
varchar(255) |
Pantalla de auditoría donde aplica ( |
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.