Configuración
Breadcrumbs

Esquema Minerva

https://lh7-rt.googleusercontent.com/docsz/AD_4nXeh07-CXqwhoevB5_trFhNGhVzSlzt-sqC8XC1Na_PoQzhXy8S1c2qMreAOA9ctzn6LjDJF_MjLSUizePU5ddzBHVgOAAAegHbogdhpo1hlAprnyldhg4ywYBd10h-sbsrmDRSyoFWYBmyXEVOVwuC3ybxt?key=2PcvLUZ1WxxKITqTRHX99Q
  1. Filtros del sistema

Los filtros disponibles en el buscador de la aplicación o los atributos Anjana en los que se muestran entidades o relaciones indexados en Solr son configurables. Adicionalmente, se pueden configurar filtros para las pantallas de histórico y auditoría, persistidos en la base de datos.

A continuación se muestran algunos de los filtros configurados:

  • Filtros del Portal

https://lh7-rt.googleusercontent.com/docsz/AD_4nXdoXCneDR5BC-Yk49mcr3LqVCEq1n4DG5eGVFMsjeL6Hbs_lrvjpkvATSVCbItyFguXz49ZQV24BkByDicZtMjRfk60iQZLsjijTCMEWh2Wi4KAh44Mzjml3Sq228qXY2mJWColCFqVD-AayIa71nIvD1E?key=2PcvLUZ1WxxKITqTRHX99Q


  • Filtros en atributo de tipo Entidad (ENTITY_CONTAINER, ENTITY_SEARCH y ARRAY_ENTITY)

https://lh7-rt.googleusercontent.com/docsz/AD_4nXeVLV8aVNLyIj7y69XYOQhFGsVJ2Xc5A40GSPwljTr_NZy3s4iXnjWWg96FAD4RWSHSOhftVFbTUHEpXKMfAhktgdffe5FahHgz-_9rSnQFifpUqFkmHtUlue39Ra8OL5SdtsIMmnaXaPSPxIZYpxm88Dec?key=2PcvLUZ1WxxKITqTRHX99Q
  • Filtros en histórico

https://lh7-rt.googleusercontent.com/docsz/AD_4nXe7Y3Q422NBK9chq218P1s1bSmEK_gd1VKBumeuSF7LhCOUryyyb6aj8URqkHwHDDLgMSThc55FO1JAuh_rr9pvAZ1AhfV_D63R6v0-F96w1BVv8l7uBc1fAXuifQT-F29ZM_f67w?key=2PcvLUZ1WxxKITqTRHX99Q

La tabla filter_conf es la tabla que contiene los filtros preconfigurados disponibles en la plataforma. 

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


Estructura de la tabla

Cada filtro registrado se caracteriza por los siguientes elementos:

  • Id: identificador único de la tabla.

  • Collection: datos para los que se configura el filtro.

  • Label: clave (key) de traducción que permite que el usuario vea el nombre del filtro en su idioma. Para los atributos de metadatos que se añadan como filtros adicionales, en este campo se debe poner el mismo label que en la tabla anjana.attribute_definition.

  • Main: boolean que indica si el filtro es estático o lo añade el usuario en pantalla.

  • Position: orden en el que se desea que se visualice el filtro dentro de Anjana.

  • Sortable: poner a 'true'. No se hace uso de este campo.

  • Type: indica el tipo de filtro.

  • Filter_Name: campo de Apache Solr o de la tabla audit_log por el que va efectuar el filtro.

  • Page_Name: página a la que aplica el filtro configurado.


A continuación se especifica el tipo de filtro que debe ser usado en función del tipo del atributo al que aplique (los tipos no incluídos en la tabla no tienen filtro correspondiente):


Tipo de atributo

Tipo de filtro en portal

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


En función de las pantallas para las que se configuren, Collection, Main, Name y Page_Name deben ser los siguientes:


  • Filtros del Portal o atributos de tipo Entidad

    • Collection será ‘kerno'

    • Main por defecto será 'false'. Se debe poner 'true' si se desea que el filtro sea estático, es decir, que aparezca por defecto sin necesidad de añadirlo el usuario.

    • El Nombre (Name) de los filtros debe coincidir con el name que tiene el atributo sobre el que se efectúa el filtro en la tabla anjana.attribute_definition pero todo en mayúsculas (por ejemplo: technology como filtro tendría que ser TECHNOLOGY, isEngine como ISENGINE, data_sensitivity como DATA_SENSITIVITY, etc.). 

    • Page_Name queda vacío. No es un campo utilizado para los filtros de “kerno”


  • En las pantallas de auditoría

    • Collection será ‘audit_logs’

    • Main debe ser siempre ‘true’

    • Los campos (Name y Type) posibles son:

      • action: de tipo MULTI_SELECT

      • logOrigin: de tipo MULTI_SELECT

      • objectName: de tipo ENTITY

      • objectType: de tipo MULTI_SELECT

      • objectSubtype: de tipo MULTI_SELECT

      • startTime: de tipo INPUT_DATE_RANGE

      • userName: de tipo SELECT_USERS

    • Page_Name puede ser:

      • AUDIT_ALL: histórico completo

      • AUDIT_OBJECT: histórico por objeto

      • AUDIT_USER: histórico de usuario

      • null en caso de que afecte a todas las pantallas de auditoría


Visión de Administrador

El alta de un nuevo filtro en el panel de administración de Anjana Data se realiza en Filter Confs:

https://lh7-rt.googleusercontent.com/docsz/AD_4nXdGn9rHFkmLwcJSGVQFKUwESkjQUcRSQY9v9xuWcgkCuCupbOkMeRpsuzp1CCsU8Jslcwj5mnZbyc3RLTPnToIXnUtM-b002ecFbQY5Pct1sdimtnz3kdxwz-AU_mRPurx071frTw?key=2PcvLUZ1WxxKITqTRHX99Q

Al acceder se muestra una tabla que contiene todos los filtros existentes en la configuración actual. 

La creación de un nuevo filtro se realiza mediante el botón New:

https://lh7-rt.googleusercontent.com/docsz/AD_4nXdpRvGFfYWijLAeTw4DZCAow1zERicMvSYQ19oSi69fcjY0rBZbggcpuwKOfvfBhmEIxQNJeM89c-KLzcwD2XYDfEIDz7-BCsnuLaaWi9itDXN60lnxqAKeCu8LMRdIDnksXBDuP608FrgqJEc5C7lhcELJ?key=2PcvLUZ1WxxKITqTRHX99Q

A continuación, se muestra cómo crear un filtro:

https://lh7-rt.googleusercontent.com/docsz/AD_4nXfATYqpl11PdsE1FincI1hmMJcayesa_ppiUEK_a_hvcj3PMQr2rSz6l3wkut4EgDkVARfPtl9L1_Ob9eZWcO7Nhn4X9iyvuvR1cMU7Q8LBSgrZ3i2Uz_3Sfayq9mCRi8a-J6nNZ1oyCbhFL0p56X1I8sat?key=2PcvLUZ1WxxKITqTRHX99Q


Visión de Desarrollador

Para definir los filtros hay que configurar la tabla filter_conf del esquema Minerva. Para ello, hay que rellenar un sql como el siguiente:

INSERT INTO minerva.filter_conf

(id, collection, "label", main, filter_name, "position", sortable, "type", page_name)

VALUES 

(107, 'audit_logs', 'FILTERS.OBJ_TYPE', true, 'objectType', 4, false, 'SELECT', 'HISTORIC_ALL'), 

(118, 'audit_logs', 'FILTERS.OBJ_SUB_TYPE', true, 'objectSubType', 4, false, 'SELECT', 'HISTORIC_USER'), 

(115, 'audit_logs', 'FILTERS.OBJECT_ID', true, 'objectId', 6, false, 'INPUT_TEXT', 'AUDIT_ALL'), 

(120, 'audit_logs', 'FILTERS.OBJECT_ID', true, 'objectId', 6, false, 'INPUT_TEXT', 'HISTORIC_USER'), 

(38, 'kerno', 'FILTERS.CREATED_USER', true, 'CREATED_USER', 5, true, 'SELECT_USERS', NULL), 

(35, 'kerno', 'FILTERS.OBJ_TYPE', true, 'OBJ_TYPE', 1, true, 'INPUT_CHECKBOX', NULL);