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!

lunes, 21 de diciembre de 2015

Accediendo a una aplicación

El menú es una forma común de acceso a las aplicaciones Web. La construcción de un menú para un desarrollador GeneXus implica el desarrollo de un user control, algo que no es tarea sencilla,  o la descarga de un user control hecho por un tercero. Una vez que se tiene el user control también se tiene que trabajar en la codificación de un largo y tedioso procedimiento de carga, en el que muchas veces se cometen errores, que hasta incluso pueden poner en juego la seguridad de nuestra aplicación. 

K2BTools, buscando simplificarle esta tarea al desarrollador, incluyó en la versión 8.1 un menú Responsive, que es cargado desde un patrón, para que nunca más se tenga que preocupar por la creación o descarga de este tipo de user controls y la escritura del procedimiento de carga. 

K2BAccordionMenu



K2BAccordionMenu, es un menú multinivel vertical que brinda como facilidad de uso, la posibilidad de ser cargado de manera automática desde un  nuevo patrón, el patrón K2BMenu.
Esto trae como ventaja que el desarrollador no tendrá que programar la carga del menú.
Una de las premisas de K2BTools es la seguridad, por tanto al ser la carga de menú código generado, ya se invocarán  los procedimientos de seguridad de manera automática para que solo aparezcan las opciones que el usuario tiene permisos para ver.

K2BAccordionMenu permite agregar imágenes para cada nivel e item, además de permitir configurar que opciones son visibles según el tamaño del dispositivo en el que se está visualizando.


En K2BTools seguimos trabajando para simplificar la construcción de aplicaciones con GeneXus, tomando como foco la productividad, experiencia de usuario y seguridad. 

martes, 14 de octubre de 2014

Responsive Web Design con K2B Tools

El acceso a la Web desde dispositivos móviles está en permanente crecimiento, por esto es importante que nuestras aplicaciones web se adapten de forma correcta a diferentes dispositivos para lograr una buena experiencia de usuario.




Con este objetivo GeneXus en su versión Evolution 3, implementó el Responsive Web Design (RWD),  que consiste en  que nuestros web panels se adapten al tamaño de pantalla del dispositivo desde el cual se accede.


¿Cómo implementó GeneXus el Responsive Web Design?

GeneXus desarrolló un nuevo editor para Web Forms, muy similar al que se usa para Smart Devices. Dicho editor es un editor abstracto. Únicamente usando este editor, es posible aprovechar las nuevas funcionalidades de GeneXus para generar aplicaciones responsive.



Para que nuestra aplicación sea responsive GeneXus hace uso del framework bootstrap.

El desarrollador GeneXus no tiene que  conocer este framework, ya que su uso está encapsulado en GeneXus.
Sin embargo, el desarrollador si deberá conocer los conceptos agregados en GeneXus para realizar esta abstracción: responsive tables y clases del tema condicionales.



¿Qué necesitamos para adoptar Responsive Web Design con GeneXus?


Un desarrollador GeneXus que quiere adoptar esta nueva funcionalidad, y que no usa K2BTools, deberá aprender a usar la nueva tecnología, esto es:  el nuevo editor, las responsive tables y los temas condicionales.  De esta forma, si vamos a conenzar un proyecto nuevo, deberemos usar este  nuevo paradigma para desarrollarlo.

Pero si tenemos un  proyecto que ya está en  desarrollo o terminado, no hay una forma automática de migrar del paradigma anterior (no responsive) al nuevo,  ya que no hay ninguna migración entre el viejo editor de webforms y el nuevo.  La solución es ir haciendo una adopción progresiva: lo nuevo desarrollarlo en el nuevo editor de forma de aprovechar  la funcionalidad de responsive y lo viejo hacerlo de nuevo. Lo malo de este enfoque, además de que hay que construir los web panels de nuevo,  es que mientras se esté migrando se pierde la uniformidad en el sistema, ya que algunas pantallas serán responsive y otras no. 

¿Qué aporta K2B Tools en este escenario?

Cuando se trabaja dentro de K2BTools, no se utiliza el editor de WebForm de GeneXus sino que se especifica la interfaz usando la instancia de patterns o del WebPanelDesigner (WPD).
En tal caso, el desarrollador se abstrae de en qué plataforma va a estar generando sus objetos.
La migración a Responsive Web Design es un excelente ejemplo de las ventajas que esto ofrece: gracias al alto nivel de abstracción que brinda K2BTools la instancia casi no sufrió cambios. Sólo fue necesario agregar algunas propiedades que permiten al desarrollador detallar cómo se deben ver los elementos en diferentes tamaños de pantalla.

Las propiedades agregadas son las siguientes:

1. Propiedades "Show In *"
GeneXus en su implementación de RWD, agrupa los dispositivos en cuatro categorías según el tamaño de pantalla:  Extra small (celulares), Small , Medium (tabletas), Large (desktop).

Haciendo uso de esto, una de las propiedades que se agregan a nivel de atributos en grilla y acciones es la propiedad show in.  Esto indica si ese campo se va a visualizar en determinado dispositivo o no. En la instancia predeterminada, el D.A. es lo único que se ve en extra small y el resto de los atributos son visibles en el resto de los dispositivos.



Aquí se muestra un ejemplo de una grilla en Extra Small.


Y la misma grilla cuando se ve en otro dispositivo.



2. Propiedades "Responsive Sizes"




Una responsive table es una tabla que se adapta según el tamaño del dispositivo. Esto permite, por ejemplo, que cuando se visualizan datos en un celular los controles estén en filas diferentes y cuando se visualizan desde un desktop se muestren dentro de una misma fila:


Visualización en un celular

Visualización en un desktop


Esta propiedad aparece en cada nodo contenedor del pattern y Web Panel Designer, por ejemplo Tab, Grupo, Línea Separadora, Columna, etc.

Usando estas propiedades es posible indicar el porcentaje que ocupa cada campo en la pantalla, en qué filas estarán agrupados, y si son visibles o no para cada categoría de dispositivos.

K2BTools contiene lógica específica para que el valor default de estas propiedades sea el deseado en la mayoría de los casos, por lo que nuestro objetivo es que el uso de estas propiedades sea esporádico para hacer lo necesario para adaptar las interfaces a tamaños de pantalla pequeños.


¿Cómo genero responsive con K2BTools?

Para generar responsive con K2BTools, la forma más sencilla es decirle a GeneXus que genere responsive. Esto se hace en las propiedades del modelo GeneXus, en la propiedad "Web Form Defaults".



Una vez que se hace esto, automáticamente la configuración de K2BTools se actualizará para usar esta funcionalidad.

Por otro lado, en el nodo raíz de las instancias de patterns y WebPanelDesigner existe una nueva   propiedad "Web Form Defaults". Esta propiedad se podrá modificar por instancia, o web panel generado con el WPD. De esta forma es posible activar la nueva funcionalidad para instancias particulares.


Puntos a tener en cuenta
User Regions:  Dado el cambio del editor, lo único que el usuario deberá adaptar manualmente son las user regions.
Las user regions siguen estando disponibles para el abstract layout, pero en caso de migración, el usuario deberá agregar nuevamente los controles en dicha región.

TextBlocks: El otro punto, son los textblocks asociado a las descripciones de los campos. En el editor abstracto, a diferencia de en web, la descripción del campo y el campo son un único control. Por tanto si en alguna parte del código se referenciaba a algunos de los textblocks de la descripción, este código deberá ser adaptado.

Conclusión

Adoptar RWD trabajando con  K2BTools es mucho más sencillo y rápido.


En primer lugar, no deberá capacitarse en aprender lo que es el Abstract Layout ni lo que son las clases condicionales. K2BTools se encargará de generar esa funcionalidad de forma automática.

En un proyecto nuevo la adopción será inmediata pero con una mayor productividad que la adopción manual, ya que rápidamente aplicando los patrones se generaran las nuevas pantallas responsive.

Para un proyecto en desarrollo o finalizado, en lugar de una adopción progresiva se tendrá una adopción completa y automática. Simplemente se deberá indicar a K2BTools que genere responsive y automáticamente todo lo generado por K2BTools será responsive.

Para un usuario que venía usando el patrón WorkWith de GeneXus,  también puede adoptar responsive con K2BTools, gracias a la herramienta de migración de WorkWith  a K2BEntityServices que es posible descargar desde aquí.

Con K2BTools uno tiene una adopción sencilla de RWD, el desarrollador se abstrae de la tecnología,  se tiene una mayor productividad y de regalo una nueva UI mejorada, cumpliendo con los  principios de usabilidad requeridos de forma de lograr aplicaciones con una muy buen expericencia de usuario.



Puedes descargar la versión de K2B Tools responsive desde aquí

Por más información sobre Responsive Web Design con K2B Tools les recomendamos este video de la charla que dio Federico Dominioni en el GX24.

martes, 20 de mayo de 2014

Be Smooth with K2BTools






En este artículo  analizaremos el Smooth User Experience, una nueva forma de desarrollar y mejorar la usabilidad de nuestras aplicaciones,  y como todo esto puede ser aprovechado usando K2BTools. Smooth UX es un conjunto de tecnologías que permiten desarrollar  con GeneXus aplicaciones con interfaces altamente dinámicas, viendo datos en tiempo real, con componentes que se refrescan  en forma independiente, con interfaces  más fluidas. Esto permite que las aplicaciones que desarrollemos tengan similares características a las aplicaciones que ya estamos acostumbrados a usar como por ejemplo Facebook, Twitter, Gmail o Google+. Esto es posible gracias a que GeneXus en su versión Evolution 3 ha incorporado un nuevo modelo de eventos y otras características, que mejoran enormemente la experiencia de usuario final y además le hacen más fácil la vida al desarrollador GeneXus.


Nuevo modelo de eventos

Usando Smooth UX, el modelo de eventos es mucho más sencillo. Antes, cada vez que se ejecutaba un evento de usuario, se ejecutaba: el start, lectura de variables en pantalla, luego el evento de usuario, refresh y load. Ahora se ejecuta únicamente la lectura de variables y el evento de usuario, minimizando el procesamiento necesario.




Esto simplifica la forma en la que se desarrolla en GeneXus.
Si ese evento de usuario, requiere que se recargue una grilla, hay que colocarlo explícitamente  utilizando el comando Grid.Refresh(), haciendo que las grillas solo se refresquen si es necesario y además dejando mucho más claro en el código que sucede cuando se ejecuta una acción de usuario.

Esto trae una consecuencia muy buena en el tráfico de datos. En cada evento de usuario, viaja mucha menos información que en el modelo anterior. Por ejemplo, en el caso de un evento de usuario, el tráfico de subida con el modelo anterior era:


mientras que el tráfico con smooth es:


Con este nuevo modelo de eventos en GeneXus vamos a tener menos tráfico (según ARTech hasta un 90% menos), menos procesamiento en el servidor y menos procesamiento en el cliente. Gracias a esto podemos tener aplicaciones más veloces.
Sumado a esto,  si de una página se navega a otra con la misma master page, no se refresca la master page sino que se mantiene y solo se refresca la parte que cambia. 

¿Cómo adoptar Smooth?

A nivel de modelo se cuenta con una propiedad de nombre WebUserExperience



Sus valores pueden ser Smooth o Previous version compatible. Con Previous version compatible, el modelo de eventos sigue siendo el mismo que en versiones anteriores de GeneXus.
Cuando se convierte una base de conocimiento de una versión anterior a la nueva, GeneXus toma el Previous version compatible como valor por defecto, mientras que para nuevas bases de conocimiento es Smooth Esta propiedad se encuentra también a nivel de objeto (webPanels y transacciones) , por lo tanto se pueden tener objetos con Smooth (los nuevos objetos que desarrollemos) y objetos con Previous versions compatible.

¿Cómo usar Smooth UX con K2BTools?

En la última versión de K2BTools para GeneXus Evolution 3, se soporta Smooth UX, tanto en los patrones como en el WebPanelDesigner.
En los patrones la generación con Smooth UX se activa en el nodo K2BTools->General usando la propiedad WebUserExperience. Por defecto esta propiedad toma el valor de la propiedad WebUserExperience del modelo GeneXus.


En el WebPanelDesigner, se lee la propiedad del WebPanel. Si el WebPanel tiene smooth UX activado, se genera todo usando esa funcionalidad y sino se sigue generando el código de versiones anteriores.

¿Cómo migrar a Smooth UX con K2BTools?

Al estar parado en un mayor nivel de abstracción con K2BTools, en el código estándar generado por los patrones la migración es automática. El único caso que el usuario deberá analizar son las acciones de usuario. En este caso en el nodo action de la instancia del pattern aparecerá una nueva propiedad de nombre RefreshGrid, que indica si luego de ejecutar la acción se refresca la grilla o no. Por defecto, para que todo siga igual, su valor es true  pero si ya se sabe que la acción no requiere que la grilla se refresque, se puede modificar para evitar refrescar en forma redundante.

Sobre el WebPanelDesigner, lo único que se debe tener en cuenta son las subrutinas de usuario asociadas a una acción. En tal caso se deberá analizar si se necesita ejecutar un Grid.Refresh() para refrescar la grilla, o no lo requiere.

De esta forma de una manera muy fácil y sencilla uno tiene su aplicación migrada al nuevo modelo Smooth, logrando que su aplicación sea más ágil, visualmente atractiva, y que el desarrollador entienda con mayor claridad cómo funciona el modelo de eventos.

Actualmente agregamos en el marketplace K2BTools for  GeneXus Evolution 3 como producto independiente para que puedan probar el funcionamiento de K2BTools con Smooth y para continuar liberando versiones de K2BTools que aprovechan  todas las ventajas que da la Evolution 3 de GeneXus. Una vez culminado el proceso de prueba, lo agregaremos como setup dentro del producto K2BTools.

La versión de K2BTools For Evolution 3 la puden descargar desde aquí
Cualquier sugerencia puede contactarse con el equipo de soporte de K2BTools (support@k2btools.com) o escribirnos a través del foro http://www.k2btools.com/comunidad/foro?es


Federico Dominioni.

lunes, 23 de diciembre de 2013

K2BTools en el 2013!

    Se termina un nuevo año y con ello queremos compartir con ustedes los acontecimientos y novedades más importantes que han surgido a lo largo de este 2013 aportando a la comunidad de GeneXus y a la innovación en el desarrollo de aplicaciones desde un concepto For real business applications.

  • Con el comienzo del 2013 se lanzo K2BTools 7.0 .

    En este versión una de las principales novedades fue la inclusión del Web Panel Designer dentro del la suite de K2BTools. La herramienta mediante la cual es posible crear Web Panels muy complejos y en muy poco tiempo en GeneXus y lo mejor de todo de manera muy sencilla. Herramienta que fue premiada en el XXIII Encuentro GeneXus 2013 por el aporte a la innovación.





   Otras novedades de la versión 7.0 fue la incorporación de la acción "Add grid from Data Provider"  mediante la cual es posible cargar una grilla a partir de un Data Provider de manera muy sencilla. También en esta versión se realizaron mejoras en los filtros logrando desarrollar aplicaciones Multi Tenant de forma más fácil. Se perfeccionó el desarrollo de aplicaciones multi idioma entre otras cosas.

  • En Septiembre se lanzó K2BTools 7.1.
 En esta versión la principal novedad fue la gran mejora en la interfaz del usuario final. La misma está dada por un nuevo look & feel y nuevas funcionalidades que potencian la herramienta.  A continuación podemos obsevar algunas imagnes del nuevo tema en donde por ejemplo observamos un WWProducts totalmente mejorado y la vista de una transacción del clientes con la interfaz renovada.






Además en la versión 7.1 se agregó la posibilidad de seleccionar en tiempo de ejecución qué atributos se desean mostrar en una grilla. También es posible una integración mucho más sencilla de GXQuery y utilizar más controles provistos por GXUI Library. Además de esto  se agregó mucha más flexibiliad en el uso del patrón K2BTrnForm, permitiendo agregar web Components, botones de acción, regiones de usuario, atributos requeridos y subniveles en cualquier ubicación.


Por último destacar la integración con el wiki de K2B Tools que fue incorporada en esta versión para que el usuario pueda tener la ayuda que necesite directamente desde el IDE GeneXus.











  • Otra herramienta liberada fue "WWtoK2BTools":
Herramienta que permite convertir WebPanels generados con el Pattern Work With de GeneXus al Pattern K2BEntityServices de K2B Tools. Esta herramienta soporta tanto la conversión individual de cada instancia como la conversión de varias instancias simultáneamente.  

Por más información sobre esta herramienta pueden entrar en el siguiente enlace.








  • Por otro lado se liberó K2B Audit 3.0 y luego K2B Audit 3.5:


En K2B Audit 3.0 se aumentó la cantidad de datos incluidos dentro de los registros de Auditoría, brinda la capacidad de escoger qué atributos se auditarán y mejora  la información de explotación permitiendo mostrar además del nombre del atributo su descripción. De esta manera el análisis sobre la historia de modificaciones de cada registro es mucho más rico.

Luego se lanzó K2B Audit 3.5  donde su principal novedad fue el soporte para DB2 for ISeries v.1.






  • Integración con GAM:
Otro de los importantes temas abarcados a lo largo de este año fue la integración con el GAM (GeneXus Access Manager), donde se generó un backend hecho 100% con K2BTools. Vinculado a ello se publicó el artículo "GAM y K2BTools, aplicando esquema de seguridad avanzada a nuestros proyectos " en donde de detalla más en profundidad sobre el tema. Se puede encontrar más información en nuestro wiki.


  • En el mes de Octubre llegó el XXIII Encuentro GeneXus en donde estuvimos presentes como todos los años:
  Como sucede año a año K2BTools hizo su participación en el Encuentro GeneXus. Este año estuvimos presentes realizando un fuerte trabajo en el stand de K2BTools en donde se presentó de forma reiterada y continua las nuevas versiones de K2BTools y de K2B Audit antes mencionadas.

  Pero no solo fue eso. También, como siempre, estuvimos brindando diferentes charlas que las detallamos a continuación:
    • K2BTools: for real business applications :
"Alguien que está de nuestro lado, alguien que puede lograr que grandes aplicaciones sean factibles"... es un comentario  cada vez más frecuente entre quienes usan K2BTools. Conozca las ventajas de K2BTools y hacia dónde vamos para que cada vez más, grandes proyectos se hagan realidad.



    • Conociendo K2BAudit: la mejor manera de auditar tu aplicación:
Saber qué pasó con los datos es un requerimiento común en las aplicaciones actuales. ¿Quién modificó determinado valor?¿Cuándo?¿En qué operación?. ¡Conoce que tan sencillo y completo es obtener esta imformación con K2BAudit!


    • Desarrollando con K2BTools:
En un mundo complejo como el de hoy, es fundamental contar con una herramienta que nos asista para realizar proyectos exitosos. Conozca de una manera práctica como se utiliza K2BTools y qué beneficios aporta.




Además de las charlas también se realizó el "Café con K2BTools". Instancia en donde se aprovechó para discutir sobre las nuevas funcionalidades que se dieron en la charla de Roadmap, se intercambiaron diferentes ideas, tips y soluciones entre todos los participantes. 

Y por último algo a destacar que ya mencionamos al comienzo del artículo, es que al culminar el evento Federico Dominioni, líder de nuestro equipo de desarrollo de K2BTools recibió  en manos de Nicolás Jodal el reconocimiento por el aporte a la innovación a través de la novedosa herramienta K2B WebPanelDesigner

  • Para cerrar llegó el turno del Webinar del WebPanelDesigner: 
En el mes de Noviembre se llevó a cabo el Webinar sobre el WebPanelDesigner. En el mismo se repasaron las principales características de la herramienta y los beneficios que aporta al desarrollo con GeneXus. En donde se dejó en claro el mensaje de que ahora "la forma de crear WebPanels cambió para siempre".

Les dejamos a continuación el video para que lo puedan volver a ver.


Para ir cerrando queremos agradecerles a todos nuestros clientes, socios y amigos por la confianza que hemos recibido en este año. Para el 2014 esperamos seguir aportando mucho más en la innovación y seguir creciendo juntos con la ayuda y el aporte de todos. Nuestros deseos de prosperidad para todos ustedes en estas fiestas. ¡Muchas felicidades!

Equipo de K2BTools
For real business applications.





martes, 29 de octubre de 2013

GAM y K2BTools, aplicando esquema de seguridad avanzada a nuestros proyectos

K2BTools  nos ofrece dos variantes para la implementación de seguridad en  nuestros proyectos web:
  • K2BFastStart,  en caso de  que el proyecto web sea  una  aplicación  pequeña, con requerimientos de seguridad básicos.

  • K2BFastStartGAM,  en el resto de los casos.   

Esta  entrada  pretende compartir un par de líneas gruesas  que nos permitirán la implementación del segundo caso  K2Btools-GAM,  que ha venido debatiéndose en el foro en los últimos meses.  En caso de requerir mas detalles sobre el primero,  podrán descargar  documentación aquí.

Lo primero que debemos hacer para  implementar el GAM en  nuestro  proyecto web  es habilitarlo en las Preferences del Modelo:    a partir de lo cual  esté realizará la importación de todos los objetos externos necesarios que facilitan el acceso a la API GAM ,



Lo siguiente que se debe hacer es cambiar la siguiente propiedad:







Seguido a lo cual  procedemos   a   importar  FastStartGAM.xpz  el cual se podrá  descargar  de  la Wiki  a la cual podrán acceder también  en  todo momento desde el IDE de Genexus, a partir de la versión 7.1, con la nueva  opción  Go to K2B Tools Wiki.
             
                   

Por último, es necesario cambiar  los objetos  que  nos coloca  GAM  por defecto a nivel de propiedades del modelo, por los que nos  aporta  el  FastStarGAM.xpz:  


Realizados  estos tres pasos,  procedemos  a correr la aplicación, contando ahora con  una nueva opción en nuestro menú a través de la cual podemos administrar el esquema de seguridad avanzada que nos  ofrece GeneXus con  GAM (Genexus Access Manager), con las facilidades de usabilidad que nos aporta K2BTools.





Desde este módulo  podemos administrar todas las opciones de seguridad que nos habilita el  GAM  una vez ha sido integrado a GeneXus. Estas son: 


  • Administrar  usuarios, asignarle roles, actualizar  sus datos  => k2bfsgwwuser


  • Administrar roles.  Asignar  actividades a cada rol  => k2bfsgwwrole

                



  • Administrar aplicaciones, Agregarles  permisología  =>k2bfsgwwapplication


  • Administrar tipos de autenticación  => k2bfsgwwauthtype



  • Definir políticas de seguridad  => k2bfsgwwsecuritypolicy



  • Realizar configuraciones al repositorio  => k2bfsgrepositoryconfiguration































  • Configurar conexiones => k2bfsgwwconnections












Como se puede apreciar en las imágenes arriba referidas, con K2BTools podemos ahora integrar toda la potencia de la seguridad GAM a nuestras aplicaciones web/smart devices, facilitando la administración centralizada desde el mismo frontend, en solo tres pasos:
  1. Activar el GAM
  2. Importar el FastStartGAM.xpz
  3. Cambiar los dos objetos por defecto en el Web specific de las preferences del Modelo: K2BFSGLogin y K2BNotAuthorized
K2BTools atiende criterios de usabilidad que aportan mucha riqueza y valor a nuestras aplicaciones web y, en materia de seguridad, con ambas variantes (básica o avanzada) atienden muy bien la octava heurística de Nielsen: Estética y diseño minimalista, siendo que solo presenta al usuario, por defecto, las opciones a la que tiene acceso, evitando distraerle o frustrarle con visualización de acciones “apagadas”.  
Para finalizar, les cuento que el FastStartGAM.xpz está en proceso de mejoras, por los que sus revisiones, recomendaciones y aportes serán de gran ayuda al equipo de desarrollo de K2BTools. Una vez logre el punto de acabado, se espera sea integrado en la IDE de GeneXus en futuras versiones de la suite de patrones que nos aportan K2BTools, que con cada nueva versión potencian nuestras capacidades a nivel de gestión y desarrollo de aplicaciones en tiempos cada vez mas óptimos.

Esperando se animen a probar y aportar sus comentarios, Carmen Pedrique Controlps, C.A