Académique Documents
Professionnel Documents
Culture Documents
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
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.
Luego de completar este campo, se redirige al usuario a una pgina con el resultado de su
bsqueda:
Pueden usarse las opciones en la parte superior para ver los resultados de un tipo particular: Los
clientes, las ciudades, etc.
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.
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:
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.
Ingreso a resultados
Cuando se presiona en el ttulo de un resultado, se dirige al usuario al Entity Manager
Correspondiente.
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
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.
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.
10
Para cada instancia del patrn Entity Services que tiene la propiedad Searchable en True,
K2BTools genera los siguientes objetos:
Objetos bsicos
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
12
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:
13
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.
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:
14
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:
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
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.
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:
16
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.
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
K2BModernBlue
K2BModernBordeaux
K2BModernGrey
K2BModern
19
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.
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.
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
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.
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.
21
Propiedad Set Object Theme PromptLayout: Afecta la generacin de objetos del patrn
Prompt.
22
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.
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.
Para solucionar este problema, es necesario abrir el objeto involucrado y ejecutar la accin
Apply Default (All Parts) dentro del man Edit de GeneXus.
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.
24
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.
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.
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
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.
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.
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.
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.
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.
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.
29
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.
30
Estas subrutinas pueden ser usadas en varios escenarios diferentes. Algunos posibles usos son:
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.
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.
33
34