miércoles, 8 de marzo de 2017

Búsquedas potentes y simples con K2BTools

En el mundo de hoy el éxito de las aplicaciones no dependen únicamente de que cumplan con determinados requerimientos funcionales sino que además tienen que tener una excelente experiencia de usuario. K2BTools apoya a los desarrolladores para que las aplicaciones generadas tengan una excelente experiencia de usuario.

Un requerimiento importante que influye en la experiencia de usuario es que el usuario pueda encontrar de forma sencilla la información que ofrece nuestra aplicación.  Así K2BTools nos ayuda brindándonos potentes búsquedas de manera simple, que si se tuvieran que desarrollar directamente en GeneXus serían muy costosas de programar.

En este artículo analizaremos como K2BTools nos puede ayudar a proporcionarle al usuario final, muy buenos mecanismos de búsqueda. Para esto vamos a analizar los diferentes tipos de filtros.

Filtros estáticos

Los filtros estáticos son generados por K2BTools desde sus primeras versiones y resuelven correctamente el escenario en el cual el usuario sabe en qué entidad va a buscar la información, y cuando es muy común que los usuarios en la mayoría de los casos vayan a filtrar por un conjunto determinado de filtros.

Filtro estático visualización


Especificación en K2BTools

Los filtros estáticos se especifican de manera muy sencilla utilizando el nodo filters y definiendo una variable del filtro por cada filtro que se desee visualizar.
Filtro estático con su definición
Para cada filtro debe definirse la condición asociada que debe agregarse al grid, y puede definirse la descripción y el Control Info para el campo. En la mayoría de los casos, toda esta información es inferida automáticamente a partir de la definición del atributo en que está basado el filtro.

Búsquedas full text search

Este tipo de búsquedas resuelven de manera sencilla el escenario en el cual el usuario debe buscar determinada información, pero no sabe en qué entidad buscar pues no tiene conocimiento de dónde ubicar esa información, o no quiera insumir tiempo buscando entre las opciones del menú de la aplicación.

En lugar de ingresar al Work With asociado a la entidad, y utilizar los filtros presentes en el Work With, el usuario puede ingresar el valor que quiere utilizar en la búsqueda en un campo presente en el header de la aplicación, y la búsqueda retornará todos los registros de la aplicación que contengan ese valor.

En el ejemplo debajo, el usuario está buscando Montevideo, y ahí le aparece como resultado la ciudad Montevideo y todos los clientes que viven en Montevideo. 

Búsqueda full text search.

Especificación en K2BTools

Para especificar esto en K2BTools el usuario simplemente tiene que activar la propiedad "Searchable" del nodo "Transaction" en el patrón Entity Services. Una vez activada esta propiedad el desarrollador puede configurar qué imagen se mostrará en el resultado, cuál será su título, y cuál será el texto mostrado en el resumen.


Especificación filtros full text search

Filtros Avanzados

Estos filtros son útiles cuando los filtros estáticos crecen mucho en número, o cuando diferentes usuarios requieren filtros diferentes para crear búsquedas adaptadas a sus necesidades. Como no todos los filtros son necesarios siempre, algunos de ellos pueden incluirse en esta sección de filtros avanzados.

Filtros avanzados

Especificación en K2BTools

Para especificar estos filtros es necesario definir una sección de filtros avanzados e incluir todos los filtros en esta sección.
Especificación en K2Tools

Filtros Múltiples

En muchos casos, el usuario final quiere obtener los resultados para varios valores posibles de un filtro. Por ejemplo, en lugar de querer ver los clientes de un país, puede querer ver los clientes de un conjunto de países. Para estos casos en K2BTools incluimos los llamados filtros multiples.

Dentro de estos filtros, existen dos variantes: "Multiple Combo", y "Tags Collection".

Filtro Multiple Combo

Filtro Tags Collection

Especificación en K2BTools

Para usar este tipo de filtros se deben configurar algunas propiedades en el nodo Filter. Lo principal, es colocar la propiedad Filter Type en "Multiple", y usar la propiedad "Multiple Filter Type" para elegir la variante deseada. Dependiendo de la variante, aparecerán más propiedades para personalizar el filtro.
Configuración Multiple Filter
Ver más información aquí.

String Search

Si bien tener muchos filtros ofrece mucha potencia a la hora de definir la búsqueda a realizar, en algunos casos el usuario precisa algo más simple. Ya mostramos un ejemplo en este sentido, cuando vimos el "Universal Search". Otro ejemplo está en los "String Search" filters. Lo que proponen estos filtros es simplificar algunas interfaces y, en lugar de colocar varios filtros independientes, colocar un único filtro que opere sobre varios atributos. 

Es decir, cuando el usuario coloca un valor en este filtro, se mostrarán resultados que contengan ese valor en al menos uno de los atributos configurados en el filtro.

Especificación en K2BTools

Para definit un filtro de este tipo en K2BTools, debe colocarse el valor "StringSearch" en la propiedad "FilterType". Una vez hecho esto, aparecerá la propiedad "Condition Attributes", donde el desarrollador puede especificar cuáles son los atributos que deben intervenir en la búsqueda.
Especificación de filtros String Search

Esta historia no termina

En K2BTools seguimos trabajando para agregar más tipos de filtros a nuestras herramientas. Te gustaría ver un nuevo tipo de filtros en la próxima versión? Escribinos a info@k2btools.com.

Hasta la próxima!

4 comentarios:

  1. Bueniiisimo!
    Gracias Amigos, Estoy por hacer unas pruebas simples, y voy a usar esas características.
    gab

    ResponderEliminar
  2. Excelente estimado Federico, disponibles apartir de K2B 10.0?

    Saludos cordiales.!

    ResponderEliminar
    Respuestas
    1. Sí exacto. Está disponible a partir de K2BTools 10.0.

      Eliminar
  3. Estan super buenas las opciones, en mi caso estoy usando "Filtros Múltiples" pero se me da el problema que aunque tengo automatic refresh en false para el caso de ese filtro cuando selecciono siempre hace refresh.

    ResponderEliminar