Vous êtes sur la page 1sur 34

Release Notes Versin 8.

ndice
ndice ............................................................................................................................................................. 3
Novedades de la versin 8.0 ......................................................................................................................... 5
Mayor usabilidad en la aplicacin generada ................................................................................................ 6
Bsqueda Universal .................................................................................................................................. 6
Mayor potencia en el WebPanelDesigner .................................................................................................. 14
Manejo de SDT en Web Panel Designer ................................................................................................. 14
Mejoras en la personalizacin de la interfaz de usuario ............................................................................ 19
Nuevas opciones de themes: .................................................................................................................. 19
Mejoras en configuracin de Layouts ..................................................................................................... 20
Posibilidad de deshabilitar el seteo de Master Page en Web Panel Designer y Patterns ...................... 21
Mejoras de usabilidad en el desarrollo ....................................................................................................... 23
Comandos Enable / Disable K2BTools Dynamic Pattern Application ..................................................... 23
Comando Force K2BTools Patterns Application .................................................................................. 23
Mensajes de advertencia al detectar partes fuera del default ............................................................... 24
Mensajes de advertencia para ausencia de invocacin a stack en Master Pages .................................. 24
Opcin para mantener regla Parm de la transaccin dentro de un slot fixed........................................ 25
Personalizacin de ubicacin de parte Designer .................................................................................... 26
Otras mejoras.............................................................................................................................................. 27
Visualizacin de descripciones en reportes Excel y PDF ......................................................................... 27
Seleccin de columnas en runtime para Exports .................................................................................... 27
Deshabilitacin global de Back to Work With ........................................................................................ 27
Posibilidad de agregar cdigo en nodos Action ...................................................................................... 28
Propiedad para deshabilitar grids sortables ........................................................................................... 29
3

Propiedad Enable datepicker en patterns ........................................................................................... 29


Propiedades Height y Width en Embedded Pages ................................................................................. 30
Nuevas subrutinas de usuario para Add y Remove en Multiple Selections ........................................... 30
Errores corregidos ....................................................................................................................................... 32
Patterns ................................................................................................................................................... 32
Web Panel Designer ................................................................................................................................ 32
Instalacin ................................................................................................................................................... 33
Instalacin en GeneXus Server ............................................................................................................... 33
Anexo I Actualizacin de reportes Excel. ................................................................................................. 34
Anexo II Incorporacin del buscador universal. ....................................................................................... 34

Novedades de la versin 8.0


Entre las nuevas funcionalidades incorporadas en K2BTools 8.0 se destaca el aprovechamiento
de la funcionalidad Full Text Search de GeneXus, mediante la posibilidad de incorporar de forma sencilla
un buscador universal en las aplicaciones generadas por K2BTools, agregando un nuevo punto de acceso
a la aplicacin.
Dentro del WebPanelDesigner se sigue aumentando la flexibilidad, haciendo ms sencilla la
integracin con servicios, mediante la posibilidad de poder incorporar SDTs directamente en pantalla.
Por otro lado seguimos apuntando a mejorar la usabilidad de la herramienta. Para esto hemos
implementado un acceso directo a la funcionalidad de GeneXus dynamic pattern update para poder
habilitar y deshabilitar de forma rpida la actualizacin automtica de instancias de patterns. Adems
ahora se emiten warnings cuando se detectan situaciones anormales en la KB y se brinda una accin que
aplica todas las instancias del patrn.
Seguimos trabajando en tener una mayor facilidad en la personalizacin de la interfaz de
usuario. En este caso basados en el tema K2BModern proveemos otros nuevos temas, adems de
brindar mayor flexibilidad al desarrollador.

En estas release notes hemos dividido las funcionalidades nuevas en cinco categoras:

Mayor usabilidad en la aplicacin generada: Aqu se muestra cmo hacer uso de la funcionalidad
de FullTextSearch para poder tener un buscador universal en la aplicacin generada.
Mayor potencia en WebPanelDesigner: Aqu se presenta la posibilidad de agregar SDTs en
pantalla directamente desde el WebPanelDesigner, para hacer ms sencillo interactuar con
servicios que devuelven o reciben datos en forma de un SDT.
Mejoras en la personalizacin de la interfaz de usuario: En esta seccin se muestran las nuevas
opciones de interfaz que provee K2BTools.
Mejoras de usabilidad en el desarrollo: Aqu se listan las mejoras que se hicieron en esta versin
para hacerle ms fcil al desarrollador usar K2BTools
Otras mejoras: En esta seccin se muestran varias mejoras que se incluyen tambin en esta
versin.

Para el pasaje de versin de una KB con la 7.1 a la 8.0, se sugiere seguir el Anexo I.

Mayor usabilidad en la aplicacin generada


Bsqueda Universal
En la versin 8.0 se K2BTools se agreg la posibilidad de incorporar fcilmente Full-Text Search
en los sistemas generados. Usando esta funcionalidad, se puede brindar al usuario una interfaz ms
fluida y ms agradable para hacer bsquedas.
Visin funcional

El resultado final de incorporar esta funcionalidad es la inclusin de la opcin de bsqueda en la


aplicacin generada, con el comportamiento que se describe a continuacin
Consultas
En la Master Page de la aplicacin, aparece un campo para ingresar el criterio de bsqueda.

Ilustracin 1 - Campo de bsqueda en la Master Page

Luego de completar este campo, se redirige al usuario a una pgina con el resultado de su
bsqueda:

Ilustracin 2 - Resultados de bsqueda

Pueden usarse las opciones en la parte superior para ver los resultados de un tipo particular: Los
clientes, las ciudades, etc.

Ilustracin 3 - Vista de clientes de los resultados obtenidos

Este mecanismo de bsqueda acepta consultas complejas. Por ejemplo, es posible indicar
trminos como *@example.com, que retornar (en este caso) todos los clientes con direccin de
email en el dominio example.com.

Ilustracin 4 - Resultado de buscar "*@example.com"

El motor tambin acepta expresiones booleanas, como NOT Perez AND Gerente, que
retornar las entradas que tengan la palabra Gerente pero no la Palabra Perez, en este caso:

Ilustracin 5 - Resultado de buscar "NOT Perez AND Gerente"

Las consultas aceptadas estn documentadas en la pgina del wiki GeneXus sobre esta
funcionalidad.
Controles de seguridad
Las siguientes consideraciones son hechas al momento de ejecutar la bsqueda:
7

1. Para que el usuario pueda realizar bsquedas deber tener permisos a realizar la actividad de
usuario: K2BToolsSearchResult. Si se usa la integracin con el GAM el permiso ser
K2BToolsSerachResult_Execute
2. Al momento de mostrar los tabs para filtrar los resultados de bsqueda, se toman en cuenta los
permisos del usuario conectado, usando la API de seguridad de K2BTools.
3. Cuando se realiza la bsqueda, se usa esta misma API para verificar que el usuario tenga acceso
a los objetos encontrados.
Formato del resultado
Cada uno de los resultados tiene los elementos definidos a continuacin.

Ilustracin 6 - Composicin de resultado de bsqueda

Ingreso a resultados
Cuando se presiona en el ttulo de un resultado, se dirige al usuario al Entity Manager
Correspondiente.

Ilustracin 7 - Redireccin a "Entity Manager"

Administracin
Es posible administrar el motor de bsqueda en el panel K2BToolsIndexAdmin, donde se habilita la
opcin de volver a regenerar los ndices utilizando la operacin reindex-all.

Para poder acceder a la administracin, el usuario deber tener permisos para realizar la actividad de
usuario K2BToolsIndexAdmin, o en caso de usar la integracin con GAM tener el permiso habilitado de
K2BToolsIndexAdmin_Execute.
Cambios en patterns

Para implementar esta funcionalidad, fue necesario incorporar nuevas propiedades a la


instancia de patterns. Estas propiedades afectan nicamente la generacin de los dilogos de bsqueda.
Los cambios estn acotados al pattern K2BEntityServices.
Las propiedades agregadas fueron:

En el nodo raz de la instancia

Ilustracin 8 - Propiedad "Entity Image"

En este nodo se agreg la propiedad Entity Image. El contenido de esta imagen debera
representar de forma genrica a los elementos de la entidad correspondiente. Es usado en algunos
casos como icono para el resultado de la bsqueda si el registro a mostrar no tiene una imagen
asociada.

En el nodo Transaction
En este nodo se especifican las propiedades que definirn si la entidad puede ser buscada
mediante el buscador universal, y, en caso de poderse, cmo son mostrados los resultados.

Ilustracin 9 - Nuevas propiedades en nodo Transaction

A continuacin se describen estas propiedades y su uso.


Searchable
9

Esta propiedad determina si las instancias de esta transaccin sern incluidas en el motor de
bsqueda o no. Su valor es copiado a la propiedad Searchable de la transaccin GeneXus.
Como una transaccin slo puede ser incluida en el motor de bsqueda si es Business
Component, esta propiedad se muestra solo en este caso.
Si el valor de la propiedad es False, se deshabilita la generacin de los dilogos de bsqueda
para la transaccin. Por esta razn, se ocultan tambin todos los campos asociados a esta bsqueda.
Search Result Title
Esta propiedad indica cul es el ttulo que debe mostrarse en el resultado de bsqueda. El valor
default es el Description Attribute de la transaccin en caso de existir.
Search Result Displayed Image
Esta propiedad determina si se usar un atributo imagen de la transaccin (definido en la
siguiente propiedad) como imagen para los resultados de esta entidad, o se usar la imagen
correspondiente a la entidad (definida en el nodo raz de la instancia).
Los valores posibles para esta propiedad son:

Object Only: Se usar siempre el atributo del objeto que se est visualizando.
Entity Only: Se usar siempre la imagen correspondiente a la instancia.
Prefer Object: Se usar el atributo del objeto siempre que contenga un valor vlido, y la
imagen correspondiente a la entidad en cualquier otro caso.

Search Result Image Attribute


Esta propiedad determina cul es el atributo que ser mostrado como imagen del resultado de
bsqueda. El uso de esta propiedad est condicionado al valor de la propiedad Search Result Displayed
Image. El valor default es el Image Attribute de la transaccin en caso de existir.
Show BC Preview as Result Description y Search Result Description
La propiedad Show BC as Result Description indica si debe usarse un preview del BC como
descripcin del resultado o no. En caso de usarse, se aprovecha la funcionalidad de highlighting presente
en GeneXus.

Ilustracin 10 - Highlighting en resultados

10

En caso de no usarse, la descripcin se toma del atributo indicado en la propiedad Search


Result Description. Esta posibilidad permite definir descripciones basadas en el valor de un atributo de
la transaccin. Puede usarse tambin para crear descripciones elaboradas usando atributos frmula.

Ilustracin 11 - Uso de "Search Result Description"

Objetos generados por K2BTools

Para cada instancia del patrn Entity Services que tiene la propiedad Searchable en True,
K2BTools genera los siguientes objetos:

GetSearchData<TrnName>: obtiene el contenido a mostrar para un resultado de bsqueda


determinado, asumiendo que el tipo del resultado se corresponde con la transaccin a la que
pertenece la instancia del patrn.
SearchViewer<TrnName>: redirige al usuario al EntityManager correspondiente a la
transaccin. Es asignado como Search Viewer de la transaccin padre de la instancia. Su
generacin es necesaria porque esta propiedad acepta objetos que tienen una regla Parm que
recibe slo la PK de la transaccin.

Objetos bsicos

La implementacin de la bsqueda puede ser modificada por el desarrollador GeneXus, tanto


para modificar la apariencia de las interfaces como para agregar controles u optimizaciones y
extensiones particulares al escenario que se est resolviendo.

Ilustracin 12 - Objetos bsicos de search

Los objetos involucrados en esta solucin cumplen con las siguientes funciones:

11

1. K2BGetSearchableEntities: Retorna la lista de entidades que estn incluidas dentro del ndice de
bsqueda.
2. K2BGetSearchableEntitiesCustomImplementation: Permite al desarrollador GeneXus extender
la lista de entidades incluidas dentro del ndice de bsqueda.
3. K2BGetSearchDataCustomImplementation: Permite al desarrollador GeneXus extender la
extraccin de datos desde un resultado de bsqueda para resultados que no se corresponden a
ninguna transaccin generada con K2BTools. Este procedimiento es til en caso de que el
desarrollador use el motor para indexar documentos fuera de las transacciones de la KB.
4. K2BGetSearchResultFromData: Este objeto no debera ser modificado por el desarrollador, ya
que es mantenido automticamente por K2BTools. Este procedimiento se encarga de
determinar el contenido a ser mostrado de un resultado a partir de lo retornado por el motor.
5. K2BHeaderModernSearch: Es el header para el theme K2BModern que incluye el campo de
bsqueda. Puede ser alterado para adaptar el header al theme corporativo de la KB.
6. K2BToolsSearchResult: Es el SDT usado para mantener en memoria los resultados a mostrar.
7. K2BTabbedViewForLayoutModernSearch: Contiene la implementacin necesaria para separar
en tabs por entidad los resultados de bsqueda.
8. K2BToolsGetSearchResults: Obtiene los resultados a mostrar en la interfaz de usuario. Puede
ser extendido para agregar controles de seguridad u otras funcionalidades.
9. K2BToolsIndexAdmin: Es un Web Panel de muestra que permite al administrador del sistema
forzar la regeneracin del ndice dentro del motor.
10. K2BToolsSearchResult: Es la interfaz principal para mostrar los resultados de bsqueda. Puede
ser modificada por el usuario para adaptar la interfaz o agregar ms opciones.
11. K2BToolsSearchResultEntityWC: Es la interfaz que despliega los resultados para cada entidad.
Puede ser modificada por el usuario para adaptar la interfaz o agregar ms opciones.
12. SearchableTransactions: Usado por el procedimiento K2BGetSearchableEntities para enviar la
lista de entidades auditables.
Impacto en configuracin de Entity Services

Se agregaron nuevas propiedades al objeto de configuracin del patrn K2BEntityServices. Estas


propiedades son las descriptas a continuacin.

Ilustracin 13 - Propiedad "Searchable" en configuracin de Entity Services

En el nodo Transaction, se incluye la propiedad Searchable. El valor de esta propiedad es el


tomado como default por la propiedad de mismo nombre en la instancia del Patrn. Puede usarse esta
propiedad para habilitar o deshabilitar globalmente la inclusin de transacciones en el ndice.

12

Ilustracin 14 - Propiedades "Search Viewer" y "Search Get Data Procedure"

En el nodo Objects se incluyen dos nuevas propiedades: Search Viewer y Search Get Data
Procedure. Estas propiedades pueden usarse para cambiar el nombre de los objetos generados.
Extensibilidad

Es posible agregar resultados a esta interfaz de bsqueda que no estn dentro de transacciones
GeneXus. Para hacer esto, es necesario usar el mecanismo detallado en la documentacin de GeneXus
correspondiente.
Adems de realizar estos pasos, es necesario actualizar los procedimientos
K2BGetSearchableEntitiesCustomImplementation y K2BGetSearchDataCustomImplementation. En
estos procedimientos es necesario agregar la lgica para:

K2BGetSearchableEntitiesCustomImplementation: Incorporar la nueva entidad a la lista de


entidades habilitadas para el usuario. Esto la incorporar a la vista de resultados globales, y
agregar un nuevo tab para la entidad.
La incorporacin o no debe considerar los permisos del usuario autenticado en el sistema.
K2BGetSearchDataCustomImplementation: Obtener la informacin a desplegar en pantalla
para un resultado particular. Concretamente, deben completarse los parmetros de salida para
indicar ttulo, descripcin, e imagen.

13

Mayor potencia en el WebPanelDesigner


Manejo de SDT en Web Panel Designer
En la versin 8.0 se incorpor en Web Panel Designer la posibilidad de mostrar variables
definidas a partir de SDTs. Esto sirve tanto para crear secciones planas de atributos como para crear
grillas con el contenido de un subnivel coleccin del SDT.
Creacin manual

Para este fin se cre un nuevo nodo, el nodo SDT Variable, que est disponible dentro de nodos
Attribute o dentro del contenido de grids normales o free style. Adems, se agregaron propiedades a los
nodos Attributes, Grid, y Free Style Grid, para indicar el SDT que contienen.
Los nodos Attributes, Grid, y Free Style Grid tienen ahora dos nuevas propiedades: Based On
SDT y Based On SDTLevel. Estas propiedades permiten especificar el SDT que ser usado dentro del
nodo, y el nivel del SDT al que se corresponde el nodo.

Ilustracin 15 - Nuevas propiedades en nodos Attributes, Grid, y Free Style Grid

La definicin de un SDT puede contener varios niveles. Por esta razn, es posible tener varios
nodos Attributes, Grid, o Free Style Grid asociados a un mismo SDT. Por ejemplo si consideramos el
siguiente SDT:

Ilustracin 16 - SDT de ejemplo

La siguiente estructura de Web Panel Designer es vlida:

14

Ilustracin 17 - Estructura SDT en Web Panel Designer

La anidacin puede continuar tantos niveles como sea necesario. No es obligatorio contemplar
todos los niveles del SDT en la definicin del Web Panel (pueden ignorarse algunos de estos niveles,
siempre que no sean niveles intermedios del SDT).
La regla a seguir en estos casos es incluir siempre un nodo Grid o Free Style Grid para cada nivel
coleccin, y un nodo Attributes para cada nivel que no es coleccin. La eleccin entre usar un nodo Free
Style Grid o Grid es libre, con la limitacin natural de que no es posible usar un Grid si se desea incluir
subniveles del nivel actual dentro del Web Panel.
En el nodo asociado a la variable del SDT, se deber indicar en la propiedad Field el campo del
SDT que se estar visualizando.
Para el SDT del ejemplo, podemos ver correspondiente a las variables dentro del freestylegrid:

Ilustracin 18 - Estructura de una variable basada en un SDT

El campo CityId referencia al campo CityId, dentro del SDT CountryCityCusomterSDT, nivel City.

Creacin automtica

Para facilitar la creacin de estructuras basadas en SDT dentro de Web Panels creados con Web
Panel Designer, se agreg una nueva accin Add SDT.

15

Ilustracin 19 - Accin Add SDT

Esta accin est disponible en los nodos: WebForm, Attributes, Free Style Section, Group, Line
Separator, Multiple Selection y Tab (los mismos nodos donde en versiones anteriores est disponible la
accin Add Grid From Transaction).
Cuando se ejecuta esta accin, se presenta al desarrollador un dilogo como el que se muestra a
continuacin.

Ilustracin 20 - Dilogo de seleccin de SDT

Luego de que el desarrollador selecciona el SDT que quiere agregar en pantalla, se agrega la
definicin del SDT al nodo correspondiente siguiendo la siguiente heurstica:

Por cada miembro del SDT, se agrega un nodo SDT Variable.


Por cada nivel no coleccin, se agrega un nodo Attributes con el contenido del nivel.
Por cada nivel coleccin que no contiene sub niveles, se agrega un nodo Grid.
Por cada nivel coleccin que contiene sub niveles, se agrega un nodo Free Style Grid.
La siguiente imagen muestra el resultado de ejecutar la accin a partir del SDT origen.

16

Ilustracin 21 - Resultado de ejecutar "Add SDT"

De forma anloga a lo que sucede con las acciones Add Grid From , el resultado de esta
accin es modificable por el desarrollador. El desarrollador puede, si quiere, eliminar atributos o
inclusive niveles completos.
Carga del SDT

Siempre que se agrega un SDT en pantalla, se genera una subrutina de usuario llamada
U_LoadSDT. Esta subrutina es la encargada de cargar los valores correspondientes del SDT, usando el
mecanismo que el desarrollador crea ms conveniente.
El momento de ejecucin de esta subrutina depende de la definicin del nodo correspondiente
a la raz del SDT en el Designer. Si este nodo es un nodo Attributes, la subrutina es invocada en el evento
Refresh. Si es un nodo Grid o Free Style Grid, esta subrutina puede ejecutarse en ms momentos. Por
ms informacin, ver la seccin Nuevas propiedades en grillas.
Nuevas propiedades en grillas

Cuando se cargan grillas desde un SDT, existen dos opciones: Que el procedimiento de carga del
SDT maneje la paginacin, o que el procedimiento retorne todos los valores, y sobre este conjunto el
Designer implemente su paginacin.
La primera opcin tiene como principal ventaja que puede evitar costos de carga del SDT, ya que
el desarrollador tiene la libertad necesaria para cargar en cada momento nicamente los tems visibles
en la pgina actual. Para hacer esto, el desarrollador debe considerar la variable
&CurrentPage_{GridName} y el valor de la propiedad Page dentro del nodo.

17

La segunda opcin tiene como principal ventaja el hecho de que la programacin queda ms
simple, ya que el desarrollador carga una nica vez el SDT a mostrar, y Web Panel Designer generar
cdigo para pasar entre las pginas correspondientes (en caso de existir).
Para poder seleccionar entre estas dos opciones, los nodos Grid y Free Style Grid incluyen la
propiedad Get SDT On Grid Paging.

Ilustracin 22 - Propiedad Get SDT On Grid Paging

Cuando esta propiedad est con su valor en True, el SDT ser recargado cada vez que el
usuario final cambie de pgina en la grilla. En este caso, la subrutina U_LoadSDT ser invocada en cada
cambio de pgina. El desarrollador debe contemplar la posicin del usuario en la grilla para hacer la
carga en la subrutina.
En el caso contrario, cuando el valor de la propiedad es False, la subrutina ser invocada una
nica vez en el evento Refresh, y no ser invocada en ningn otro momento por el Designer. En este
caso, el desarrollador no debe contemplar la posicin del usuario en la pgina al momento de cargar el
SDT.
Notas:

Esta propiedad es mostrada slo en grillas que no se corresponden con subniveles de un SDT
mayor.
En grillas que se corresponden a sub niveles dentro de una estructura mayor, la paginacin
puede hacerse solamente en la grilla correspondiente al primer nivel del SDT (si la raz del SDT
no es una coleccin, no es posible realizar paginado en las grillas generadas).
En grillas que se corresponden a sub niveles la propiedad Page no es mostrada, y su valor se
asume igual a cero, es decir, se muestran todos los elementos del nivel.

18

Mejoras en la personalizacin de la interfaz de usuario


Nuevas opciones de themes:
En la versin 7.1 de K2BTools se introdujo el nuevo theme K2BModern. Continuando con la
evolucin de K2BTools en este sentido, en K2BTools 8.0 se incluyen tres variantes de este theme, para
que el desarrollador pueda elegir la que ms se acerca al resultado deseado.
Las opciones de theme incorporadas a la versin 8.0 son las siguientes.

K2BModernBlue

K2BModernBordeaux

K2BModernGrey

K2BModern

Ilustracin 23 - Opciones de theme versin 8.0

Para cambiar el theme seleccionado, seguir estas instrucciones:


1. Cambiar el valor de la propiedad Theme de la versin de la KB.
2. Cambiar el valor de la propiedad Theme de (las) Master Page(s) de la aplicacin.
3. Cambiar el valor de la propiedad Theme de las configuraciones de Web Panel Designer y
ejecutar la funcionalidad Update All WebPanels
4. Cambiar el valor de la propiedad Web Theme de las configuraciones generales de los patrones
K2BTools.
5. Ejecutar un Rebuild All en GeneXus.

19

Mejoras en configuracin de Layouts


A partir de la versin 8.0 de K2BTools, se flexibiliz la eleccin de objetos de Layout en los
patrones Entity Services y Prompt, y tambin en el Web Panel Designer. Adems, se mejor la
integracin con las Master Pages de la KB para simplificar el uso del patrn. Los cambios en esta rea
apuntan a flexibilizar la generacin de objetos.
Los cambios se detallan en las prximas secciones.
Eleccin de layouts a nivel de instancia en K2BEntity Services y K2BPrompt

Se agreg nuevas propiedades a las instancias de estos patrones, que permiten al desarrollador
seleccionar el Layout que se desea usar en esa instancia particular cuando se genera el objeto.

Ilustracin 24 - Nuevas propiedades en patrones K2BEntityServices y K2BPrompt

Estas propiedades son tiles en escenarios donde existen varios puntos de acceso al sistema, y
se desea que un conjunto especfico de web panels tenga una visualizacin diferente a la default del
sistema.

Ilustracin 25 - Configuracin de Layouts default para K2BEntityServices

Los valores default de estas propiedades se toman desde la configuracin del patrn
correspondiente.
Para usar un nuevo Layout, es necesario agregar el nodo correspondiente bajo el nodo Layout dentro de
la configuracin del patrn correspondiente. Se recomienda hacer esto copiando un nodo existente y
alterando las propiedades necesarias (generalmente, la propiedad Layout Object).
Eleccin de layout a nivel de Web Panel en Web Panel Designer

Ilustracin 26 - Propiedad "Layout Object" en nodod Web Form

20

Se agreg una nueva propiedad en el nodo Web Form (raz de la especificacin de un Web Panel
creado con Web Panel Designer) llamada Layout Object.

Ilustracin 27 - Propiedad "Layout Object" en configuracin de Web Panel Designer

Esta propiedad especifica el objeto de layout que debe usarse en la generacin del Web Panel.
El valor por defecto de esta propiedad se toma de la propiedad con el mismo nombre del objeto de
configuracin de Web Panel Designer.

Posibilidad de deshabilitar el seteo de Master Page en Web Panel Designer y


Patterns
Existen escenarios en los cuales es deseable poder setear una master page diferente segn el ambiente
para el cul se est generando. Por esta razn, se agreg la posibilidad de que la master page pueda ser
tomada del environment. Para poder habilitar este comportamiento se agrega una propiedad para que
los patrones y el webpaneldesigner no seteen la master page sino que tomen la por defecto.
Las propiedades agregadas son:
Propiedad Set MasterPage en configuracin de Web Panel Designer: Afecta la generacin de
objetos creados usando Web Panel Designer.

Ilustracin 28 - Propiedad "Set Object Theme" en configuracin de Web Panel Designer

Propiedad Set MasterPage WorkWithRulesLayouts: Afecta la generacin de objetos Work


With del patrn Entity Services.

Ilustracin 29 - Propiedad "Set Object Theme" en WorkWithRulesLayouts

21

Propiedad Set MasterPage EntityManagerRulesLayouts: Afecta la generacin de objetos


EntityManager del patrn Entity Services.

Ilustracin 30 - Propiedad "Set Object Theme" en EntityManagerRulesLayouts

Propiedad Set Object Theme PromptLayout: Afecta la generacin de objetos del patrn
Prompt.

Ilustracin 31 - Propiedad "Set Object Theme" en PromptLayout

22

Mejoras de usabilidad en el desarrollo


En la versin 8.0 de K2BTools se mejor la interaccin del desarrollador con los patrones para
simplificar su uso y para hacer ms sencillo el diagnstico de errores comunes.

Comandos Enable / Disable K2BTools Dynamic Pattern Application


En KBs grandes muchas veces es necesario desactivar la actualizacin dinmica de los patrones
(incluyendo los patrones de K2BTools) para disminuir los tiempos del proceso de build. Es posible lograr
esto usando las propiedades de la versin que se muestran a continuacin:

Ilustracin 32 - Desactivacin de actualizacin automtica de patrones

En la versin 8.0, decidimos incorporar funciones para simplificar el uso de estas propiedades.
Usando estas funciones es posible habilitar/deshabilitar la aplicacin automtica de los patrones en el
proceso de Build.

Ilustracin 33 - Opciones Enable/Disable K2BTools

Usando esta funcionalidad el desarrollador GeneXus puede administrar la actualizacin


automtica de una forma ms simple y eficaz.

Comando Force K2BTools Patterns Application


En algunos casos es necesario que todas las instancias de patterns sean aplicadas en el prximo
build. Esto puede ocurrir, por ejemplo, cuando se modifica el objeto de settings de un Pattern, o algn
objeto de Layout.

Ilustracin 34 - Comando "Force K2BTools Pattern Application"

Usando este comando, se indica al motor de Patterns que todas las instancias deben ser
aplicadas en el prximo build. De esta forma, cuando se ejecute el prximo build de la KB, todas las

23

modificaciones que se hayan hecho en las configuraciones de los patrones sern impactadas en los
objetos generados.
IMPORTANTE: Este comando es independiente a los mecanismos descriptos en la seccin
anterior. Por lo tanto, la aplicacin forzosa de los patrones ocurrir incluso cuando la actualizacin
dinmica de los patrones est desactivada.

Mensajes de advertencia al detectar partes fuera del default


Una de las fuentes de errores ms comunes en el uso de Patterns es la desvinculacin accidental
del default para algunas partes de los objetos generados por el patrn.
Cuando esto sucede, los cambios hechos en la instancia del patrn no se ven reflejados en los
objetos generados.
Para ayudar en el diagnstico de esta situacin, en la versin 8.0 se agreg la generacin de
mensajes de advertencia durante el proceso de aplicacin del pattern.

Ilustracin 35 - Mensaje de advertencia para partes modificadas por el usuario

Para solucionar este problema, es necesario abrir el objeto involucrado y ejecutar la accin
Apply Default (All Parts) dentro del man Edit de GeneXus.

Ilustracin 36 - Accin Apply Default

Alternativamente, puede ingresarse a la parte que fue modificada y ejecutar la accin Apply
Default (<Nombre_Parte>). Usando estas acciones, se vincular nuevamente la/las partes modificadas a
su default generado por el pattern.

Mensajes de advertencia para ausencia de invocacin a stack en Master Pages


En el inicio de proyectos desarrollados con K2BTools al adaptar las interfaces generadas a lo
requerido por el cliente es frecuente que se creen nuevas Master Pages para los objetos de la KB. Esto
puede implicar un problema menor en casos donde la nueva Master Page no invoca directa o
indirectamente al procedimiento K2BStackManagement.
Este procedimiento es quien se encarga de mantener el stack de objetos llamados dentro de la
KB, y es usado desde varios lugares. En particular, este stack es usado para retornar al objeto llamador al
finalizar una accin dentro de una transaccin.

24

Ilustracin 37 - Warning ausencia de invocacin a stack en Master Page

Este problema es una fuente comn de errores. Por esta razn se agreg un mensaje de
advertencia cuando el pattern detecta que alguna de las Master Pages usadas en los objetos generados
por el pattern no contiene en su rbol de llamadas al objeto K2BStackManagement.

Opcin para mantener regla Parm de la transaccin dentro de un slot fixed


A partir de esta versin, se incorpora una propiedad en el nodo Transaction dentro de las
configuraciones del patrn K2BEntityServices, con nombre Generate Fixed Slot For Parm.

Ilustracin 38 - Propiedad "Generate Fixed Slot For Parm"

Cuando el valor de esta propiedad es True, la regla Parm se generar dentro de un slot fixed
en la transaccin. Esto implica que la regla ser actualizada por el pattern siempre que sea necesario. En
particular, la Parm ser modificada siempre que haya alguna modificacin dentro de la PK de la
transaccin a la que pertenece la instancia del pattern.

Ilustracin 39 - Regla Parm en slot fixed

El valor False provee la opcin de mantener compatibilidad hacia atrs: La regla se generar
en un slot no fixed, y por lo tanto podr ser modificada por el usuario.

25

Ilustracin 40 - Regla Parm en slot no fixed

En caso de Activar la generacin en slots fixed, en la prxima aplicacin del pattern las reglas
Parm sern colocadas dentro de un slot fixed y los cambios que se hubieran hecho dentro del Slot se
perdern.
En KBs creadas con versiones anteriores de K2BTools, esta propiedad se mantendr en False
para facilitar el proceso de conversin. En caso de no tener reglas parms modificadas, se recomienda
que el desarrollador cambie el valor de esta propiedad.

Personalizacin de ubicacin de parte Designer


En esta versin se permite al desarrollador personalizar la posicin donde se quiere mostrar la
parte del Designer al abrir un Web Panel existente o crear uno nuevo. Para hacer esto, se incluy en la
configuracin de Web Panel Designer una propiedad llamada Form Designer Part Position.

Ilustracin 41 - Propiedad "Form Designer Part Position"

Los posibles valores para esta propiedad son:


1. First: Mantiene el comportamiento actual de Web Panel Desginer, la parte es la primera
mostrada en el Web Panel (a la izquierda del Web Panel).
2. Last: La parte es la ltima mostrada en el Web Panel (a la izquierda del Web Panel).
3. First If Active: La parte es la primera mostrada en al abrir web panels con Web Panel Designer
activado, y es la ltima mostrada en cualquier otro caso.
Esta propiedad puede ser til en escenarios de migracin, donde la mayora de los Web Panels
todava no usan la parte Designer. El cambio de esta propiedad no afecta los web panels que estn
abiertos. Es necesario cerrarlos y volverlos a abrir.

26

Otras mejoras
Visualizacin de descripciones en reportes Excel y PDF
En la versin 8.0, cuando la propiedad Show enumerated domain description en el nodo
report est activada, se consideran (adems de los casos contemplados en versiones anteriores), los
siguientes casos:
1. Columnas de reportes Excel que estn basadas en dominios o en atributos basados en dominios.
2. Filtros en reportes Excel con Control Info Dynamic Combo o Dynamic List Box.
3. Filtros en reportes PDF con Control Info Dynamic Combo Box y Dynamic List Box o basados en
dominios enumerados.

Seleccin de columnas en runtime para Exports


En esta versin, se extiende la funcionalidad de seleccin de columnas en runtime. Ahora, las
columnas que fueron seleccionadas por el usuario para ser visualizadas en el Work With son tambin las
que se exportan en los reportes Excel.

Deshabilitacin global de Back to Work With


En versiones anteriores de K2BTools, es posible deshabilitar la generacin del enlace llamado
Back To Work With usando la propiedad Back To Work With del nodo Entity Manager de una
instancia del patrn Entity Services.

Ilustracin 42 - Propiedad "Back To Work With" en nodos "Entity Manager"

Usando esta propiedad es posible deshabilitar la generacin del enlace para esa instancia. En la
versin 8.0, el valor default de esta propiedad pasa a tomarse de la configuracin del patrn
K2BEntityServices, en la propiedad Enable Back To Work With Links del nodo Template.

Ilustracin 43 - Propiedad "Enable Back To Work With"

27

El valor default para esta propiedad es True, de forma de mantener la compatibilidad con
versiones anteriores.
Al modificarse esta propiedad, se actualiza el valor default de las propiedades Back To Work
With de los nodos Entity Manager. Esto implica que:
1. En instancias existentes, si la propiedad Back To Work With nunca fue modificada por el
desarrollador (su valor no aparece resaltado en negrita), la propiedad pasar a tener el mismo
valor que la propiedad Enable Back To Work With Links.
2. En instancias existentes, si la propiedad Back To Work With fue modificada intencionalmente
por el desarrollador (su valor aparece resaltado en negrita), el valor de la propiedad no ser
modificado.
3. En nuevas instancias, se considerar siempre el valor seleccionado en la propiedad Enable Back
To Work With Links salvo que el desarrollador indique explcitamente lo contrario.

Posibilidad de agregar cdigo en nodos Action


Para aumentar la usabilidad de las acciones dentro de los patrones, se agreg en estos nodos la
posibilidad de agregar cdigo que ser incorporado antes y despus de la invocacin al objeto
especificado en la accin.

El resultado de agregar una accin similar a la anterior es el siguiente:

Notas:
1. Esta opcin est disponible slo para acciones fuera de la grilla (cuya propiedad Layout tiene
valor diferente a Ingrid) y que tienen un gxobject asociado.
2. Este cdigo ser ejecutado siempre que se cumplan los chequeos de seguridad.
3. Esta funcionalidad convive con el mecanismo de adicin de eventos ya existente en los patterns.
Usuarios de versiones anteriores pueden mantener su solucin actual, y migrar progresivamente
segn resulte conveniente. El orden con el que se genera el cdigo para la accin es:
a. Cdigo Begin Code de nodo Event asociado a la accin (si existe)
b. Cdigo de inicio de seguridad.
c. Cdigo Begin Code de nodo Action
28

d.
e.
f.
g.

Invocacin a objeto GeneXus definido en nodo action.


Cdigo End Code de nodo Action.
Cdigo de fin de seguridad.(ENDIF)
Cdigo End Code de nodo Event asociado a la accin (si existe)

Propiedad para deshabilitar grids sortables


Las grillas GeneXus tienen en su definicin la propiedad Sortable. En versiones de K2BTools
anteriores a la versin 8.0, las grillas eran generadas con la propiedad Sortable activada.
Cuando una grilla tiene la propiedad Sortable activada, se permite al usuario ordenar los
valores presentes en la grilla cliqueando el ttulo de la columna por la que se quiere ordenar. Sin
embargo, cuando se usa una grilla con paginado, es importante notar que el orden se realiza sobre los
tems que estn visibles en la pgina mostrada en la grilla, no se recarga el contenido desde la base de
datos.
En algunos casos esto no es deseable, ya que frecuentemente los usuarios usaban la
funcionalidad asumiendo que el orden se realizaba sobre todos los registros, con comportamientos
inesperados.

Ilustracin 44 - Propiedad "Activate Sortable Property" en Web Panel Designer

Por esta razn, a partir de la versin 8.0 de K2BTools es posible decidir en la configuracin de
Web Panel Designer y Patterns si las grillas deben ser creadas con la propiedad sortable o no. Estas
propiedades son la propiedad Activate Sortable Property en la configuracin de Web Panel Designer, y
Activate Sortable Grids en la configuracin general de los patrones K2BTools.

Ilustracin 45 - Propiedad "Activate Sortable Grids"

Propiedad Enable datepicker en patterns


A partir de la versin 8.0, las variables en pantalla incluyen la propiedad Date Picker. Esta
propiedad est disponible slo para variables de tipo Date o DateTime.
Esta propiedad est disponible en:

29

1. Variables en filtros de objetos Work With, Sub Work With y Prompt.


2. Variables en secciones de atributos planos en objetos generados por Entity Services o Prompt.
3. Atributos en instancias de TrnForm.

Ilustracin 46 - Ejemplo de propiedad "Date Picker"

Se generar el Datepicker correspondiente a la variable slo si el valor de la propiedad es


True.
El valor default para esta propiedad se determina de la siguiente forma:
1. Si la transaccin asociada a la instancia del patrn tiene la propiedad Enable Datepicker en
Yes o No, entonces el valor default ser True o False respectivamente.
2. En cualquier otro caso, el valor default ser True.
Por este motivo, en escenarios de migracin slo es necesario revisar los casos de transacciones
donde la propiedad Enable Datepicker sea distinta a Yes o No.

Propiedades Height y Width en Embedded Pages

Ilustracin 47 - Propiedades "Height" y "Width" en EmbeddedPages

A partir de la versin 8.0, los nodos Embedded Page en instancias de Web Panel Designer
incluyen las propiedades Height y Width. Usando estas propiedades es posible modificar las
propiedades con el mismo nombre en el Embedded Page generado.

Nuevas subrutinas de usuario para Add y Remove en Multiple Selections


En la generacin de nodos Multiple Selection se agregaron dos nuevas subrutinas de usuario,
correspondientes a los eventos Add y Remove (cuando se agregan o se quitan elementos de la
coleccin de elementos seleccionados).
La invocacin a estas nuevas subrutinas se hace como se muestra en la siguiente imagen (se
ilustra el caso para Add). Es importante notar que la invocacin se realiza luego de agregar el/los tems
a la coleccin de tems seleccionados, por lo que es correcto asumir que la coleccin est actualizada al
momento de implementar la subrutina de usuario correspondiente.

30

Ilustracin 48 - Invocacin a subrutina "U_AddMultipleSelection"

Estas subrutinas pueden ser usadas en varios escenarios diferentes. Algunos posibles usos son:

Persistencia del conjunto seleccionado a medida que se realizan los cambios.


Actualizacin de una seccin de resumen a medida que se ingresan los datos. Por ejemplo,
actualizar un mensaje indicando la cantidad de tems seleccionados).

31

Errores corregidos
Patterns
Visibilidad del botn de search:

Se corrige problema que haca que en determinados escenarios el botn de search no apareciera en
pantalla aun cuando el desarrollador haba indicado que aparezca. Esto suceda tanto en el patrn
K2BEntityServices como en el K2BPrompt.
Error en inclusin de acciones en K2BTrnForm:

No era posible agregar acciones como hijos del nodo FreeStyleGrid y TrnForm.
Error en generacin de procedimientos K2BListPrograms y K2BActivityList

Muchas veces suceda que estos procedimientos quedaban muy grandes y ocurra un error de
compilacin en el cdigo generado. Se hicieron cambios para evitar que esto suceda.
Uso de propiedad Required en TrnForm:

Se soluciona el problema de que se tena required en true en el trnform y luego se pasaba a false, no se
borraba el slot required.
Error en Load Grid State en Pattern Prompt:

Si se tiene un prompt con algn filtro con savesate en false, el cdigo generado por K2BTools era
incorrecto, haciendo que no se salvara el estado de los filtros.
Uso de mensajes correctos en filtros Combo Box

En controles Dynamic Combo Box dentro de secciones de filtros, si el valor empty es aceptado, se estaba
colocando el valor empty tem text . En esta versin se pasa a colocar el GX_AllItems de GeneXus.
Errores en reportes Excel

En los reportes Excel para los atributos de tipo character se agrega trimend para evitar que se exporten
espacios en blanco que vienen desde la base de datos.
Tambin se corrige la visualizacin correcta de los atributos time, donde cada vez que se mostraba uno
de estos campos apareca un -1 en lugar del texto correspondiente a la hora.

Web Panel Designer


Errores en grillas con Data Provider

Se corrige el error que provocaba cuando se tiene una grilla con dataprovider y paginado, pero se coloca
0 al valor de la propiedad page el webpaneldesigner no defina la variable hasnextpage correspondiente
a la grilla.
Error en grillas con scroll

Cuando se tena una grilla con scroll, el designer no seteaba de forma correcta el height y el width.

32

Instalacin
Importante:
Para hacer uso de esta versin deber actualizar las licencias de K2BTools a la versin 8.0.
Para versiones anteriores de K2BTools es posible utilizar la licencia de la versin 8.0.

Pasos previos:
1. Si ya tena la versin anterior de K2BTools recomendamos siempre respaldar las KBs utilizadas
antes de pasar de versin (crear un XPZ o congelar la versin de la KB)
Instalacin:
1. Ejecutar el instalador de K2BTools 8.0
2. Seleccionar como ruta el directorio de instalacin de GeneXus.
3. Actualizar licencias de K2BTools segn lo indicado en el siguiente
documento(http://www.k2btools.com/files/como-actualizar-las-licencias?es)
4. Abrir GeneXus.
5. Si crea una KB desde cero, ya est listo para usar la versin.
6. En caso de estar usando una versin anterior
a. Si est en una versin anterior a la 7.1, adicionar a estos pasos los de la release notes
7.0.
b. Seguir los pasos del Anexo I Actualizacin de reportes Excel
c. En caso de querer incorporar la funcionalidad de Universal Search seguir el Anexo II.

Instalacin en GeneXus Server


Para instalar K2BTools en GeneXus Server ejecutar el instalador y seleccionar como ruta
<GeneXusServer>\VDir\BinGenexus, donde <GeneXusServer> es la ruta donde fue instalado GeneXus
Server.

33

Anexo I Actualizacin de reportes Excel.


Se realizaron modificaciones en la manera en que se utilizan los reportes Excel. Para esto se pasa a
tomar en cuenta el valor de la propiedad Temp Media Directory para almacenar temporalmente estos
archivos. Para que los reportes Excel se puedan visualizar el directorio deber existir. Se recomienda
por razones de seguridad setear un directorio que no est dentro del servidor de aplicaciones.

Anexo II Incorporacin del buscador universal.


Si se est haciendo uso de la master page K2BWWMasterPageModern, ya se incorporar
automticamente la posibilidad de usar este buscador siempre y cuando se tenga dentro del patrn
K2BEntityServices alguna transaccin con la propiedad Searchable en true.
En caso de no hacer uso de esta master page, se puede editar la master page utilizada y usar como
header el K2BHeaderModernSearch.
En caso de querer usar su propio header haga los siguientes cambios:

Defina dos variables SearchCriteria y SearchCriteriaSession basados en el tipo de datos


K2BSearchCriteria.
Copie en el webform desde el HeaderK2BModernSearch la seccin de control name
SearchContainer.
Incorpore en su webpanel en los eventos el cdigo de K2BModernSearch que se encuentra en:
o Evento Refresh
o Evento &SearchCriteria.IsValid
o Event DoSearch

34

Vous aimerez peut-être aussi