Release Notes Version 8.1

Release Notes Version 8.1 Índice Índice ...............................................................................................................
15 downloads 2 Views 1MB Size
Release Notes Version 8.1

Índice Índice ............................................................................................................................................................. 2 Introducción .................................................................................................................................................. 4 Mejoras en la navegación de una aplicación ................................................................................................ 4 Menú multinivel ........................................................................................................................................ 4 Independencia del tab del browser en la navegación de la aplicación ...................................................... 12 Mejoras en la usabilidad de K2BTools para el desarrollador...................................................................... 12 Mayor facilidad en el cambio de UI ........................................................................................................ 12 Mejoras en la especificación de los filtros .............................................................................................. 14 Descripciones por defecto de los atributos y variables dentro del patrón ............................................ 15 Reutilización de la descripción de la transacción ................................................................................... 15 Mejoras en el editor de instancias .......................................................................................................... 15 Mejoras en la velocidad a la hora de refrescar instancias que no fueron modificadas ......................... 16 Más claridad en grillas basadas en SDTs. ................................................................................................ 16 Mejoras en el manejo del General Settings y Web Panel Designer Settings. ......................................... 16 Mejoras en la usabilidad de la aplicación generada por K2BTools ............................................................. 17 Insert en Prompts ................................................................................................................................... 17 Historia de la entidad en el EntityManager ............................................................................................ 19 Otras mejoras.............................................................................................................................................. 23 Nuevas opciones de personalización en RWD ........................................................................................ 23 Propiedad Theme para la grilla de múltiple selección ............................................................................ 23 Mejoras en la configuración de variables basadas en SDT en el Web Panel Designer ........................... 24 Mejoras en el manejo de imágenes en grilla .......................................................................................... 24 Uso de “Tooltip” para atributos y variables en el Pattern y en el Designer ........................................... 24 Preferred Render en QueryViewer ......................................................................................................... 24 Errores corregidos ....................................................................................................................................... 25 2

Generales ................................................................................................................................................ 25 Patterns ................................................................................................................................................... 25 Web Panel Designer ................................................................................................................................ 26 Errores corregidos para GeneXus Evolution 3 U4 ................................................................................... 26 Instalación ................................................................................................................................................... 27 Instalación en GeneXus Server ............................................................................................................... 28 Anexo I – Navegación independiente del Tab para generación HTML. .................................................. 29 Anexo II - Actualización a AccordionMenu ............................................................................................ 30

3

Introducción Este documento presenta las novedades de la versión 8.1 de K2BTools. En esta versión se han realizado mejoras en la navegación de aplicaciones generadas por K2BTools, incorporando un menú multinivel además de lograr que la navegación sea independiente de las pestañas del browser. Por otro lado seguimos trabajando en que el uso de K2BTools sea cada vez más fácil para el desarrollador GeneXus y que las aplicaciones generadas sigan mejorando su experiencia de usuario. En particular destacamos la posibilidad de hacer inserciones dentro del Prompt y la integración entre K2BTools y K2BAudit a través de una pestaña en el Entity Manager.

Mejoras en la navegación de una aplicación En la versión 8.0 de K2BTools incluimos una nueva manera de acceder a la aplicación a través del buscador universal. En esta versión seguimos trabajando en esta línea y hemos agregado un menú multinivel (definido en un patrón) y damos la posibilidad de que la navegación en aplicaciones generadas por K2BTools sea independiente de la pestaña del browser que se utiliza, permitiéndole al usuario final realizar tareas de forma paralela en su aplicación. En esta sección describiremos cada uno de los puntos.

Menú multinivel En esta versión K2BTools incluye un menú multinivel en el que el usuario puede configurar como se accede a la aplicación. El menú cuenta con una parte visual implementada mediante un nuevo User Control (AccordionMenu) y un patrón donde el desarrollador podrá configurar qué elementos se mostrarán en el menú y a partir de él generar el procedimiento de carga. Este menú está disponible para aplicaciones generadas con Responsive Web Design. AccordionMenu

AccordionMenu es un User Control que permite generar un menú Responsive basado en la biblioteca MetisMenu.

4

Dicho User Control tiene las siguientes propiedades:

 





5

Control Name: Nombre del control. Toggle: Si su valor es true, cuando se está posicionado en un subnivel y se selecciona otro paralelo, automáticamente el subnivel anterior queda colapsado. En false mantiene abierto ambos subniveles. Use Image Class As Font Awesome: En caso de estar en true, las clases que se le asignen a los elementos del menú irán contra la librería de íconos Font-awesome. En caso de false, irán contra una clase configurada en el tema. Menu Items: Variable en la que se definen los elementos del menú. Esta variable deberá estar basada en el SDT K2BMultiLevelMenu.

Estructura del SDT K2BMultiLevelMenu

Las propiedades de los elementos son las siguientes:       

Code: Código del elemento. Debe ser único y no repetirse en toda la estructura del árbol. Title: Título del subnivel u objeto en el menú. ImageUrl: Url de imagen a mostrar en el elemento del menú. ImageClass: Clase del tema asociada a la imagen. Link: Url del enlace al seleccionar un elemento. No tiene efectos sobre subniveles. Items: Si es un subnivel, hijos de dicho subnivel. ShowIn: Para cada una de las categorías de los dispositivos (ExtraSmall, Small, Medium, Large), indica si el subnivel o elemento es visible o no.

Uso de Font-Awesome

Es posible integrar este menú para usar la biblioteca de fuentes Font-awesome tanto en los subniveles como en las opciones individuales. Esta librería presenta un conjunto de íconos que se pueden integrar de forma sencilla a la aplicación. En el siguiente ejemplo, el ícono de ‘Events’ está asociado a la imagen del Font awesome fa-book.

6

Para poder configurar ese ícono, el menú tiene que tener la propiedad “Set Image Class As Font Awesome” en true, y el ícono debe ser cargado en el SDT de la siguiente manera:

El texto ‘fa-book’ asociado a la clase de la imagen es la manera de identificar un ícono de la librería Font-awesome.

La versión de Font-awesome usada por K2BTools es la 4.4.0. Carga del menú – Pattern K2BMenu

Implementar la carga de un menú de forma manual no es una tarea sencilla. El menú puede contener varios elementos por tanto el código para darlos de alta puede ser complejo. Además lo correcto que los elementos sean incorporados al menú únicamente si el usuario tiene permisos para acceder a ellos. Esto hace que la lógica del procedimiento de carga del menú sea engorrosa, por lo que es muy probable que el desarrollador en su implementación cometa errores. Para que esta tarea pueda realizarse de manera sencilla, y que el desarrollador no tenga que programar, hemos desarrollado un nuevo patrón que se encarga de generar el procedimiento de carga asociado al menú. Este procedimiento retorna el SDT K2BMultiLevelMenu, que es el usado por el User Control AccordionMenu para mostrar los elementos. Si no se desea cargar el menú directamente de memoria sino desde la base de datos, este procedimiento puede ser muy útil para hacer una carga inicial del menú en la base de datos, además de brindar la posibilidad de desarrollar procedimientos que actualicen el menú en la base de datos según los objetos nuevos que se van incorporando a la KB. Comenzando con K2BMenu

Para comenzar a trabajar en el patrón, lo que se tiene que hacer es ir al diálogo de crear un nuevo objeto. Dentro de este diálogo aparecerá la opción “K2BMenu” dentro de “Patterns”.

7

Allí debe seleccionarse el nombre del menú y el módulo dentro del que va a estar. El menú será creado vacío, como aparece en la siguiente imagen.

Propiedades dentro de K2BMenu

En el nodo menú puede configurarse el nombre del procedimiento que va a generar el patrón.

El valor predeterminado para el nombre se obtiene del settings del pattern K2BMenu, usando la propiedad mostrada en al siguiente imagen.

A partir del nodo Menu, se pueden agregar dos tipos de nodo, SubMenu y WebObject.

8

El SubMenu representa un nivel del menú, el WebObject es un objeto GeneXus que puede estar en la raíz o adentro de un subnivel. SubMenu: Un submenú tiene las siguientes propiedades:

    

Code: Código del subnivel. Debe ser único en toda la instancia. Description: Título del subnivel que se mostrará en el menú. Image: Imagen dentro de la KB que aparecerá a la izquierda del ítem. ImageClass: Clase asociada a la imagen o ícono de Font-awesome según como esté configurado el User Control. ShowIn: Para cada una de las categorías de los dispositivos (ExtraSmall, Small, Medium, Large), indica si el subnivel es visible o no.

WebObject: Un “WebObject” presenta las siguientes propiedades:

9

     

GXObject: Nombre del objeto GeneXus que se va a invocar al seleccionar esa opción del menú. Description: Título asociado al elemento del menú. Image: Imagen asociada al elemento. ImageClass: Clase asociada a la imagen o ícono de Font-awesome según como esté configurado el User Control. ShowIn: Para cada una de las categorías de los dispositivos (ExtraSmall, Small, Medium, Large), indica si el elemento es visible o no. Security: Se especifica la información de seguridad asociado al objeto. En caso que el objeto sea generado por el Pattern K2BEntityServices o por el Web Panel Designer, no será necesario configurar estos valores ya que los tomará automáticamente según la definición hecha en esas herramientas.

Si el objeto que se quiere invocar en el menú, recibe parámetros, es posible configurarlo en el patrón a través del agregado del nodo Arguments como hijo del nodo WebObject.

Uso de Font-awesome desde el patrón: Tanto para WebObject como para SubMenu, la referencia a la clase Font-Awesome se hace en la propiedad “Image Class”. Por ejemplo supongamos que en “Image Class” se coloca el valor “fa-book”.

10

Si la instancia del User Control “AccordionMenu” usada tiene activada la propiedad “Use Font Awesome As Image Class”, se visualizará el elemento con el ícono correspondiente a “fa-book”. Scan Menu

Para ayudar al desarrollador a no tener que dar de alta los elementos en el menú uno por uno, K2BTools ha implementado dentro del patrón la acción “Scan Menu”. Esto lo que hace es escanear la KB y buscar instancias del patrón K2BEntityServices que tienen “Include In Menu” en true y objetos generados por el Web Panel Designer que tengan la propiedad “Include In Menu” con valor true. Una vez hecho esto incorpora los elementos al menú. Además, si en la KB se usan módulos, se incluirán subniveles según la jerarquía de módulos en las que se encuentre el objeto.

Luego este menú puede ser modificado manualmente, o es posible actualizarlo usando nuevamente el comando “Scan Menu”. Cuando el comando se utiliza sobre un menú ya creado, el comportamiento es:  

11

Si “Include In Menu” del objeto está en false, se elimina del menú (siempre y cuando este objeto no haya sido cambiado de ubicación dentro del menú). Se agregan en el nivel que corresponda los objetos nuevos del Pattern o el Designer que tienen “Include In Menu”= true y que no se encuentran dentro del menú.

Cada vez que se ejecuta el comando “Scan Menu”, en el Output de GeneXus aparecen mensajes las acciones ejecutadas por el proceso. La siguiente imagen tiene un ejemplo de esta salida.

|

Independencia del tab del browser en la navegación de la aplicación Existen varios escenarios en los cuales el usuario de la aplicación tiene la necesidad de hacer tareas independientes y paralelas; y para esto hace uso de diferentes pestañas del browser. A partir de esta versión la navegación deja de estar almacenada en sesión de manera de posibilitar el uso de la aplicación en diferentes pestañas sin que esto tenga efectos en la navegación, siempre y cuando las transacciones que se usen en cada pestaña sean diferentes. Migración de versión En KBs que estén haciendo uso de la UI con Responsive Web Design, los cambios serán tomados automáticamente. En KBs que estén usando la UI HTML deberá seguir los pasos del Anexo I – Navegación independiente del Tab para generación HTML.

Mejoras en la usabilidad de K2BTools para el desarrollador En esta sección listaremos mejoras asociadas a la usabilidad de la herramienta.

Mayor facilidad en el cambio de UI Ahora, elegir entre las diferentes interfaces de usuario que brinda K2BTools, es más sencillo.

12

En el menú de K2BTools se cuenta con la opción Change K2BTools UI, que permite adoptar de forma rápida otra de las interfaces ofrecidas.

En el dialogo podrá optar por las diferentes interacciones (Responsive, HTML) y dentro de cada una cuál es el tema que se va a utilizar.

13

La interfaz puede ser modificada en cualquier etapa del desarrollo de la aplicación.

Mejoras en la especificación de los filtros A partir de esta versión se podrán eliminar, agregar y renombrar filtros sin que el desarrollador tenga que tener en cuenta las condiciones asociadas a este. La especificación de los filtros en los patrones, será similar a la que ya se tiene en el Web Panel Designer. Las condiciones de un filtro se definen en una propiedad Condition dentro del filtro.

Si un filtro tiene más de una condición las mismas se pueden especificar en esta propiedad separándola con “;” de la anterior. Por otro lado para especificar condiciones que no están asociadas a los filtros, a nivel de nodo Attributes de los WorkWith y SubWorkWith se cuenta con la propiedad Conditions.

Las condiciones tienen que estar separadas por “;”.

14

La conversión de la especificación de filtros anterior, a la nueva será hecha por el patrón de forma automática.

Descripciones por defecto de los atributos y variables dentro del patrón Ahora para modificar la descripción de un atributo, alcanza con modificar el Title, Column Title o Contextual Title en la definición del atributo y estas propiedades se impactan en las instancias de forma automática en la propiedad Description de los atributos o variables (siempre y cuando estén en su valor default). A partir de esta versión la instancia por defecto de los patrones dejan de calcular las descripciones de los atributos y variables, y estos son calculados en la instancia a partir de las propiedades de los atributos en los que están basados Por defecto el valor de la descripción de los atributos se toma del contextual Title. Esto puede ser modificado en el General Settings colocando la propiedad “Use contextual Title for descriptions” en false.

En este caso tomará el Column Title para atributos y variables dentro de una grilla, y el Title para el resto. En Web Panel Designer el cálculo de las descripciones ya estaba disponible, ahora se incorpora la posibilidad de configurar si se desea que se tome del Contextual Title o del Title y Column Title. Esto se configura en el Web Panel Designer Settings.

Reutilización de la descripción de la transacción Ahora los títulos de los WorkWith o SubWorkWith, Entity Manager y General tomarán su valor a partir de la descripción de la transacción relacionada. Esto posibilita que si se desea modificar todas las menciones a la descripción de una transacción sea posible centralizarlo en la descripción de la misma. Para que esto sea posible, las propiedades Description asociadas al nodo WorkWith, Entity Manager y SubWorkWith deberán estar en su valor por defecto.

Mejoras en el editor de instancias El desarrollador podrá visualizar sin tener que entrar a las propiedades del nodo si un campo es requerido, visible, o tiene NoSkip activado. Para esto, se presentará con un ícono diferente cada campo, en función del valor de estas propiedades.

15

En este caso CustomerId está invisible, CustomerFirstName está required, CustomerLastName es required y tiene NoSkip en true, y CustomerPhoto tiene NoSkip en true.

Mejoras en la velocidad a la hora de refrescar instancias que no fueron modificadas En esta versión, el desarrollador notará que el proceso de actualización de instancias que no fueron modificadas por el desarrollador será instantáneo, haciendo viable trabajar en modo Dynamic Pattern Update en true. Esta propiedad se puede habilitar en el IDE de GeneXus en K2BTools-> Enable Dynamic Update For All K2BTools Patterns.

Más claridad en grillas basadas en SDTs. En esta versión se incorporan mensajes más claros cuando el desarrollador en el Web Panel Designer agrega un SDTVariable cuyo valor “field” no se encuentra en el SDT. Por otro lado, el mapeo entre lo que el desarrollador ingresa en la propiedad “field” y el campo del SDT, deja de ser case sensitive.

Mejoras en el manejo del General Settings y Web Panel Designer Settings. A partir de esta versión es posible exportar y ver el histórico de estos objetos, a partir de los nodos que los representan.

16

Mejoras en la usabilidad de la aplicación generada por K2BTools En esta sección agruparemos funcionalidades que hacen más usable la aplicación generada por K2BTools. En particular destacamos el poder hacer inserciones de forma nativa en el Pattern K2BPrompt, y la integración con K2BAudit para mostrar el histórico de una transacción, en la aplicación generada por K2BTools.

Insert en Prompts Un escenario común es que cuando un usuario busca mediante un Prompt un determinado registro ese registro no esté dado de alta aún. En esta versión el usuario podrá darlo de alta directamente desde el Prompt mediante la nueva funcionalidad de “Insert en Prompt” generada automáticamente por el Pattern K2BPrompt. Para habilitarlo, en el Pattern K2BPrompt se tendrá una propiedad de nombre Insert.

Si la misma se coloca en true, ya quedará habilitado para hacer el Insert.

El valor por defecto de esta propiedad se toma del K2BPrompt Settings, como se ve en la imagen.

17

Cuando el usuario realiza un Insert en el Prompt, luego del Insert existen dos posibles flujos sobre cómo debe seguir la aplicación. El desarrollador puede elegir cuál de estos flujos usar. El primero, es que una vez dado de alta el registro se retorne a la transacción con el elemento recién dado de alta instanciado.

Esto se consigue colocando valor “ReturnToTransaction” en la propiedad “After Insert” del nodo Modes.

En el segundo flujo, una vez que el usuario da de alta el registro, vuelve al Prompt, donde además si hay un filtro por el “Description Attribute” de la transacción en el Prompt, ya va a parecer el valor correspondiente al atributo en el registro recién insertado en el filtro. Desde allí el usuario podrá seleccionar ese registro u otro.

18

Pada poder usar este flujo, la propiedad “After Insert” tiene que estar en el valor “ReturnToPrompt”.

El valor por defecto de esta propiedad se toma del Settings del Pattern K2BPrompt, nodo Transaction propiedad “After Insert”.

Historia de la entidad en el EntityManager Para los usuarios de K2BAudit ahora será posible acceder al histórico de una entidad, desde el Entity Manager. El histórico se verá como una pestaña nueva.

19

Al seleccionar la pestaña, se mostrará el histórico asociado a la entidad visualizada.

Dando la posibilidad de visualizar los valores anteriores y posteriores de cada campo.

20

Para poder habilitar esta funcionalidad deberá tener instalada la versión 4.1 de K2BAudit. La transacción deberá tener la auditoría activada.

Una vez hecho esto en el nodo Entity Manager aparecerá la propiedad “Generate History Component”.

Cuando esta propiedad se encuentre activada, se podrá configurar el valor del componente, la descripción de la pestaña y las condiciones que determinan su visibilidad. El valor por defecto de la propiedad “Generate History Component”podrá ser configurado desde el nodo template propiedad “Generate History Component”.

El nombre por defecto del componente (“History Component Name”) será tomado desde el nodo “Objects” de la configuración del patrón Entity Services, en la propiedad “HistoryComponent“.

El valor predeterminado de la descripción del tab (HistoryComponentDescription) se toma desde el nodo “Labels” de la configuración del Pattern Entity Services, en la propiedad “History Component Description”.

21

La pestaña además podrá habilitarse o inhabilitarse según la seguridad. En tal caso la configuración de seguridad en K2BTools es la siguiente:   

EntityName: AuditQuery TransactionName: AuditQuery StandardActivityType: List

Que se mapea con el permiso AuditQuery_Execute en caso de usar el GAM. Este es el mismo permiso con el que chequean las pantallas funcionalmente equivalentes en la aplicación K2BAuditAnalyzer.

22

Otras mejoras Nuevas opciones de personalización en RWD En esta versión es posible configurar tanto en el Web Panel Designer como en el patrón: 

El símbolo de expandir el “Grid Settings”



El Caption del “Page Previous”



El Caption del “Page Next”

Estas configuraciones se hacen en el General Setttings tanto del Pattern como del Web Panel Designer. El símbolo de expandir del Grid Settings se hace en la propiedad “Grid Settiings Expand Symbol”.

Las opciones de siguiente página y anterior se configuran en “Page Previous Caption” y “Page Next Caption” respectivamente.

Propiedad Theme para la grilla de múltiple selección En el Web Panel Designer será posible indicar para la grilla de elementos seleccionados, una clase diferente a la grilla de elementos a seleccionar. Esto se hace mediante la propiedad Theme del nodo MultipleSelection.

23

Mejoras en la configuración de variables basadas en SDT en el Web Panel Designer Se incorpora a las variables dentro del SDT las propiedades:   

ShowIn dentro de las grillas basadas en SDT para poder configurar el comportamiento cuando se usa Responsive Web Design. Habilitación de “Run-Time Column Selection” en grillas basadas en SDTs. Propiedad Required para las secciones planas de las variables dentro del SDT.

Mejoras en el manejo de imágenes en grilla A partir de esta versión a aquellos atributos o variables de tipo imagen, se les asignará una clase especial, para evitar que si la imagen es muy grande esta termine ocupando mucho espacio en la grilla. La clase usada es Attribute_Image_Grid, que deberá estar configurada en el tema. Para realizar esta configuración ver los cambios que fueron realizados en el tema para esta versión.

Uso de “Tooltip” para atributos y variables en el Pattern y en el Designer A partir de esta versión será posible asignar Tooltips para atributos y variables, en el Pattern y en el Web Panel Designer. Para esto se habilita la propiedad Tooltip.

Preferred Render en QueryViewer En el Web Panel Designer se habilita la propiedad “Preferred Render” para configurar el Render tanto para las gráficas como para las Pivot Tables.

24

Errores corregidos Generales 



Problemas con las acciones en Combo. o A las acciones combo que están en el Web Panel Designer relacionadas a la grilla, no se les está asignando el Caption. o En la UI HTML se está generando siempre la imagen correspondiente al botón de Ejecutar acción cuando se tiene activada la propiedad “Execute Combo Action On Click”. o En el Web Panel Designer, las acciones combos con confirmación, no muestran en pantalla el mensaje de confirmación de la acción. No estaba funcionando el “Context Help” en campos de tipo CheckBox.

Patterns     

   

    

25

Acciones Popup con sus propiedades width y height en default, toman al revés sus valores del General Settings. Pasaje de transacción de RWD a Previous Version Compatible, da error cuando tiene en el Pattern K2BTrnForm atributos con la propiedad “Required” en true. Generación de metadata de K2BTools quedaba en loop, cuando se pasaba de Evo2 a Evo3. Cuando no había acciones Grid-Associated(Left) en el WorkWith o SubWorkWith en RWD, el GridSettings quedaba desalineado. En la instancia por defecto de los patrones K2BEntityServices y K2BPrompt, si el DA de una transacción era una imagen, se estaban generando los filtros por defecto asociados a dicha imagen. Error: Invalid attribute 'TextBlock_Required’ cuando se tiene en el pattern K2BTrnForm un atributo con required en true, NoSkip en true y la descripción vacía. Se deja de asignar la propiedad “Allow Non Standard Functions” en el nodo WorkWith del pattern. Manejo correcto de de “Back Color Style” en grillas en Responsive Web Design. Se valida en la instancia que los layouts de las acciones no permitan configurarse en GridAssociated(Left) o Grid-Associated(Right) cuando se usa la configuración “Previous Version Competible”. En RWD cuando se usan las AttributesSection se estaba generando una tabla que no era Responsive. Corrección de error en que filtros con dominio enumerado donde uno de los elementos de la enumeración tiene la descripción vacía da error al aplicar. Pattern K2BPrompt con “Order By” y “Generate Grid Settings” en true, estaba generando el evento “OrderBy.Click”. En el Pattern K2BEntityServices si se tiene una variable invisible sin descripción daba un warning de que a la variable le faltaba la descripción. En la UI “Previous Version Compatible”, en la pantalla de selección de columnas en tiempo de ejecución no estaba funcionando el paginado.

Web Panel Designer           



Artech.Common.Diagnostics.GxException cuando se cambia el “Label Size” de una variable a 8%. Soporte para editor de Responsive Sizes en el nodo Column. Grillas con DataProvider no estaba funcionando setear la propiedad AllowSelection en true. En la UI “Previous Version Compatible” si se tenía una acción con confirmación en grilla, se mostraba una variable que debía estar invisible en el Web Form. Error de generación de ContextHelp. El nodo Summary de la grilla de múltiple selección se estaba mostrando arriba de la grilla, cuando debería mostrarse debajo de ella. La Acción “Add Grid From DataProvider” estaba dejando a todos los atributos con “Show In Extra Small” en true. Web Panel Designer estaba importando los objetos básicos cuando se ejecutaba dentro de GXServer. Se agrega referencia al Web Panel Designer Settings y los objetos de Layout para que no de problemas en el envío del WebPanel a GXServer. No funciona agregar el nodo QueryViewer. Paginado en grillas sin atributos en Responsive Web Design, permitía ejecutar el Page Next cuando se llegaba a la última página, incrementando el contador de páginas .Pasaba lo mismo con el Page Previous cuando la página era la primera. Cuando se borraba una variable en la parte del Designer, que era referenciado por código, se estaba comentando todo el código del evento o subrutina donde estaba esa variable. Ahora no se comenta más y es el desarrollador quién deberá eliminar la variable no definida del código cuando de error al salvar o Warning al especificar.

Errores corregidos para GeneXus Evolution 3 U4 

 

26

Check All en grillas con Responsive Web Design no funcionaba correctamente. Las filas quedan seleccionadas en la UI, pero en el código cuando se consulta por cuales quedaron seleccionadas, solo aparece la primera. Mensajes de error se muestran como mensajes de éxito. Grillas sin tabla base con for each inferido muestran cuando se ejecuta una acción que refresca la grilla el texto “No Result Found”, pese a que la grilla mostraba resultados.

Instalación Pasos previos: 1. Si ya tenía la versión anterior de K2BTools recomendamos siempre respaldar las KBs utilizadas antes de pasar de versión (crear un XPZ o congelar la versión de la KB) Instalación: 1. Ejecutar el instalador de K2BTools 8.1 2. Seleccionar como ruta el directorio de instalación de GeneXus. 3. En caso de no tener licencias anteriores a K2BTools 8.0 actualizar licencias de K2BTools según lo indicado en el siguiente documento(http://www.k2btools.com/files/como-actualizar-laslicencias?es) 4. Abrir GeneXus. 5. Si crea una KB desde cero, ya está listo para usar la versión. 6. En caso de estar usando una versión anterior a. Si está en una versión anterior a la 7.1, adicionar a estos pasos los de la release notes 7.0. 7. Pasaje a Responsive Web Design: En caso de querer pasar a RWD hacer lo siguiente a. En la KB que se está utilizando, ir a las preferencias del modelo y colocar las siguientes propiedades en los siguientes valores

b. Seleccionar desde el menú K2BTools-> Force K2BTools Pattern Application c. Dar F5 Nota: Si está migrando de Evo2 a Evo3 y quiere pasar a responsive recomendamos luego de respaldar la KB, abrirla en Evo3 y luego habilitar las propiedades de responsive. Si la migración es a partir de la importación de un XPZ en Evo3, deberá importar el XPZ con las propiedades en la KB de DefaultWebForm en “Previous Version Compatible” y “Default Web Form Editor” en “Html”. Una vez que culminó la importación del XPZ, ahí sí puede cambiar las propiedades para generar con Responsive Web Design. 8. Importe la última versión del tema, o actualice el tema de forma manual, según la UI que utilice, siguiendo los pasos aquí listados: a. Si el tema está basado en K2BModern siga los siguientes pasos. b. Si el tema está basado en K2BFlat siga los siguientes pasos. c. Si el tema está basado en K2BFlatCompact siga los siguientes pasos. 9. Si está usando la UI HTML y desea tener navegación independiente del Tab del browser siga el Anexo I

27

Instalación en GeneXus Server Para instalar K2BTools en GeneXus Server ejecutar el instalador y seleccionar como ruta “\VDir\BinGenexus”, donde es la ruta donde fue instalado GeneXus Server.

28

Anexo I – Navegación independiente del Tab para generación HTML. Si se desea incorporar esta funcionalidad a la interfaz HTML, deberá dejar de usar los recent links ya que los mismos no son compatibles con esta funcionalidad. Para hacer esto se listan aquí los pasos que hay que hace si se desea tener la navegación independiente del tab en la UI HTML. Lo primero que hay que hacer es ir al K2BEntityServices Settings nodo Template propiedad “Use Session Stack” en false. De esta manera la transacción dejará de usar el stack de ejecución.

Esto va a provocar que el botón de close que está en el header por defecto de la interfaz modern y los recent links no funcionen de forma correcta. Para que el botón de close funcione de forma correcta en el header de la UI html (por defecto es K2BHeaderModern): 1. En el evento K2BClose hacer un return

Event 'K2BClose' return EndEvent

Finalmente en la master page por defecto eliminar el Web Component “RecentLinksComponent” y eliminar el código en el evento refresh que crea el componente de RecentLinks

RecentLinksComponent.Object K2BRecentLinksModern.Create(Form.Caption, true)

29

=

Anexo II - Actualización a AccordionMenu Para comenzar a usar el K2BAccordionMenú, se deben seguir los siguientes pasos Paso 1

Actualizar el tema Responsive utilizado. 1. En caso de usar un tema basado en el K2BFlat siga los siguientes pasos. 2. En caso de usar un tema basado en el K2BFlatCompact siga los siguientes pasos Paso 2

Crear el menú de la aplicación con el Pattern K2BMenu. 1. Usar el Pattern K2BMenu para crear el menú de la aplicación. 2. Aplicar el patrón para generar el procedimiento de carga del menú. Paso 2

Actualización de master page existente:

En caso de haber hecho personalizaciones en la master page de la aplicación, hacer lo siguiente:

1. 2. 3. 4. 5.

Ir a la master page que se está usando (por defecto K2BWWMasterPageFlat) Ir a la celda donde está el Textblock con ControlName Menu. Eliminar dicho Textblock. Colocar en esa celda el User Control AccordionMenu Ir a la parte de eventos a. Eliminar la invocación al programa (K2BListPrograms.Call(&ListPrograms)) b. Eliminar el siguiente código

K2BListPrograms

&htmlCode = '' &htmlCode += '' For &Program in &ListPrograms &htmlCode += '' + &Program.Description + '' EndFor &htmlCode +='' &htmlCode += '' Menu.Caption = &htmlCode

c. Agregar el siguiente código en el evento Start, donde “MainMenuLoader” es el nombre del procedimiento generado por el patrón K2BMenu en el paso 1. 30

&MenuItems = MainMenuLoader.Udp() En caso de no haber hecho personalizaciones sobre la master page

1. Importar desde Packages\Patterns\K2BEntityServices\Resources\K2BTools80Upgrade.xml el objeto K2BWWMasterPageFlat o K2BWWMasterPageFlatCompact según cuál se use. 2. Ir a la parte de eventos a. Eliminar el siguiente código K2BListPrograms.Call(&ListPrograms) &MenuItems = K2BListProgramsToMultiLevelMenuSDT(&ListPrograms)

b. Agregar el siguiente código en el evento Start, donde “MainMenuLoader” es el nombre del procedimiento generado por el patrón K2BMenu en el paso 1. &MenuItems = MainMenuLoader.Udp()

31