Release Notes K2BWebPanelDesigner Beta5
Índice Índice... 2 Nuevas funcionalidades:... 3 Mayor flexibilidad y potencia de interfaz de usuario:... 3 Objeto Layout:... 3 Flexiblidad en la descripción de los campos:... 6 Título asociado a secciones planas:... 8 Variables requeridas:... 9 Acciones en zonas planas:... 10 Allow Selection en grilla:... 11 Configuración de ubicación de botón de search:... 12 Scroll en grillas:... 13 Propiedad autoresize en variables y atributos:... 13 Configuración de cantidad de columnas dentro de un freestylegrid:... 13 Seguridad:... 15 Mejoras en la múltiple selección:... 16 Múltiple selección en un paso:... 16 Scroll en grilla de items seleccionados:... 16 Validación correspondencia con SDT:... 17 Más flexibilidad en el código:... 19 Option distinct:... 19 Posibilidad de escribir código cuando no hay registros:... 19 Otras funcionalidades:... 20 Opción Release from K2BObjectDesigner:... 20 Posibilidad de incluir una embedded page:... 20 Errores corregidos:... 22 Instalación:... 23 2
Nuevas funcionalidades: Mayor flexibilidad y potencia de interfaz de usuario: Con está Beta de K2BWebPanelDesigner obtendrá una mayor flexibilidad de customización en el web panel generado. Además de esta flexibilidad logrará una mayor potencia mediante nuevas funcionalidades que permitirán enriquecer su aplicación. Objeto Layout: Mediante esta funcionalidad es posible tener 100% de flexibilidad en el look & feel que van a tomar los objetos generados por K2BWebPanelDesigner. Esto permite decidir la distribución de los elementos dentro de la pantalla: dónde irán los filtros, la grilla, su paginado, los títulos, el ordenado por, etc. Con el Layout por defecto el siguiente web panel queda de la siguiente manera: Modificando el objeto de Layout es posible que quede de esta otra forma: 3
Como notarán los filtros fueron pasados a la izquierda, mientras que el ordered by y el paginado fueron colocados arriba de la grilla. Además se agregó un borde azúl al comienzo de la página. Para hacer esto en el settings se tiene una propiedad de nombre LayoutObject. En dicha propiedad se coloca el web panel que describirá como será el layout de los web panels generados. Por defecto su nombre es WebPanelDesignerLayout. 4
En dicho objeto se encontrarán un conjunto de divs que le indicarán al diseñador cuál es la sección que representa. Por ejemplo el div K2BSectionGridContainer representa la grilla. El WebPanelDesigner a la hora de generar el web form, tomará como base este web panel y sustituirá cada una de estas secciones por su contenido. K2BSectionGridContainer será sustituido por la grilla. Así para cada uno de los elementos. Los divs asociados a los componentes que se sustituirán pueden visualizarse en el settings del WebPanelDesigner. 5
Nota: Lo que se sustituye son los divs. Las imágenes que están adentro de los divs son para que sea más fácil de comprender el objeto; pero para modificar el objeto no hay que mover las imágenes sino el div que las contiene. En el document outliner se pueden cortar y pegar divs. Flexiblidad en la descripción de los campos: Ahora es posible configurar si la descripción asociada a un campo va a la izquierda o arriba. Para permitir esto en el nodo attributes que contiene estos campos se habilita la propiedad Descriptions Layout cuyos posibles valores son Left y Top. Si se coloca Left las descripciones se visualizarán a la izquierda del campo. 6
Si se coloca en Top, las descripciones estarán arriba como se muestra a continuación: Esto puede ser aplicado en cualquier sección donde se encuentren atributos o variables planas, ya sean filtros, grillas freestyle, etc. Es posible modificar masivamente el description layout de todos los objetos generados, ya que el valor por defecto es configurable. En el settings se encuentra a nivel general con la propiedad Descriptions Layout. Esto aplica para todas las secciones planas menos los filtros. Para los filtros en la categoría Filters se puede configurar el valor de su description layout. 7
Título asociado a secciones planas: Para mejorar la comprensión por parte del usuario final del web panel, se brinda la posibilidad de configurar una descripción a las secciones planas. Para esto se habilita a nivel de nodo attributes la propiedad Title. Esto permite englobar la sección plana de la siguiente manera: 8
Variables requeridas: Esta funcionalidad permite agregar ayudas visuales cuando un campo es obligatorio. Para esto a nivel de variable se cuenta con la propiedad requirded. 9
Para que esta propiedad este disponible enable tiene que tener el valor true. Acciones en zonas planas: Muchas veces se tiene la necesidad de ubicar una acción entre diferentes atributos. En esta versión del Web Panel Designer es posible hacerlo. Para esto el nodo attributes posee como hijo las acciones. Las acciones pueden ser imágenes, botones y textos. La acción se ubicará a la derecha del último campo agregado. 10
Allow Selection en grilla: Una forma de poder seleccionar una fila dentro de una grilla es que la fila pueda ser seleccionada mediante el mecanismo AllowSelection. A partir de esta beta queda disponible en las grillas está propiedad.en la imagen se puede ver la selección del cliente usando allowselection. Debajo está programado para mostrar la transacción del cliente seleccionado en modo display. Para usar esto; a nivel de grilla se cuenta con la propiedad AllowSelection 11
En caso que este en true, aparecerá otra propiedad de nombre Generate On Line Activate. En true lo que hace es además de habilitar esta propiedad en la grilla genera el código del evento que invoca a la subrutina U_OnLineActivate para que el usuario pueda escribir su propio código. Event GridCustomer.OnLineActivate // ---- K2BTools - Do Not Change, Editor Method ---- Do 'U_OnLineActivate(GridCustomer)' EndEvent Sub 'U_OnLineActivate(GridCustomer)' EndSub La posibilidad de setear la propiedad Generate On Line Activate en false, está dada únicamente para aquellos usuarios que en versiones anteriores a la beta 5 hicieron este seteo por código y programaron su propio evento. Estos usuarios ya van a tener programando el evento y no van a querer que el WebPanelDesigner los genere de nuevo. Configuración de ubicación de botón de search: Por defecto el botón de search se posiciona a la derecha del último filtro. En esta versión se agregó la posibilidad de poder colocar el botón de search debajo del último campo. Para hacer esto se cuenta a nivel de settings con la propiedad Filter Description Layout que permite configurar dónde va a estar el search. 12
Scroll en grillas: Es posible crear un scroll si la grilla supera determinado tamaño. Para esto se cuenta con la propiedad scroll. En caso de que esta se setee en true, se podrá configurar a partir de qué ancho y que largo aparecerá un scroll dentro de la grilla. Propiedad autoresize en variables y atributos: En el desarrollo de aplicaciones muchas veces se requiere configurar el tamaño de determinado campo que se visualiza en pantalla. Para esto en los atributos y variables en cualquier ubicación dentro del webform se agregó la propiedad autoresize. Si está en false aparecerán propiedades para configurar el ancho y alto. Configuración de cantidad de columnas dentro de un freestylegrid: Muchas veces se desea mostrar la información repetitiva en varias columnas. Para esto a nivel de FreeStyleGrid se cuenta con la propiedad Columns. 13
A continuación se puede visualizar una grilla free style de productos con columns seteado en 2. 14
Seguridad: En versiones anteriores los objetos generados con K2BWebPanelDesigner solo podían configurarse para que chequen seguridad como si fueran una actividad no standard. Esto no es del todo cierto ya que muchas veces estos web panels representan una actividad standard, como un listado, actualización, etc. Para esto se brinda la posibilidad de configurar la seguridad completa del objeto. Esto se hace a través del nodo raíz que cuenta con las siguientes propiedades: Otra de las funcionalidades que se agregaron es la generación de un proc que carga en un sdt todas las actividades de seguridad. Este proc se actualiza a demanda y para hacerlo hay que ir a preferences, seleccionar el settings de Web Panel Designer y presionar GenerateSecurityProcedure. 15
Mejoras en la múltiple selección: Mejoras en la usabilidad del desarrollador y del usuario final en el web panel designer, para que sea aún más fácil usar la múltiple selección. Múltiple selección en un paso: Ahora es mucho más fácil crear una múltiple selección. Simplemente se cuenta con la acción Add Multiple Selection From Transaction. Al hacer esto, automáticamente se genera el sdt de ítems seleccionados, se asigna su valor a la propiedad sdt y se agrega la grilla. Todo esto en un solo click. Scroll en grilla de items seleccionados: Existen casos en que la grilla de items seleccionados puede crecer mucho. Para que esto no suceda y además el usuario final pueda ver todo lo que seleccionó en la misma pantalla se cuenta con la posibilidad de definir un scroll en la grilla de ítems seleccionados. Para esto en la grilla de múltiple selection podemos configurar la propiedad Scroll. 16
Este es un ejemplo de como quedaría el web panel de selección de actividades asociado a un rol, con la grilla con scroll. Validación correspondencia con SDT: En esta versión se brindará un mensaje de error en el caso de que exista una variable que se visualice en la grilla de ítems seleccionados pero que no este asociado a un campo del sdt. Esto pretende detectar problemas en la etapa más temprana del desarrollo. Si encuentra una variable no correspondida, al salvar el web panel se mostrará el siguiente mensaje de error. \error: MultipleSelection SDT items must match with grid variables. Variable name ProductObservations. (MultipleSelection) 17
18
Más flexibilidad en el código: En las grillas sin tabla base con for each inferido se han habilitado opciones para hacer más flexible el código generado. Option distinct: Posibilidad de configurar option distinct en el foreach. Esto se hace a nivel de nodo grid.. Posibilidad de escribir código cuando no hay registros: Ahora es posible escribir código cuando no se tienen registros. Para esto cuando el WebPanelDesigner genera un foreach anexará código para when none y agrega la invocación a una subrutina para que el usuario pueda escribir su propio código. When None Do 'U_WhenNone(GridProduct)' EndFor 19
Otras funcionalidades: Opción Release from K2BObjectDesigner: Ahora es posible hacer reléase del web panel designer desde el menú contextual asociado al objeto Posibilidad de incluir una embedded page: Es posible incluir una embedded page en el WebPanelDesigner. 20
Hay que configurar el nombre del control, su alineación y el scroll bars. 21
Errores corregidos: En el WebPanelDesigner si se agregaba un comentario a continuación de un evento daba error de parseo. El objeto webpanel era salvado sin actualizar las referencias, logrando que en.net si el web panel designer invocaba a un nuevo proc, (seguridad, salvado de estado) daba error de compilación. Si se agregaba a una variable en una grilla un control info de tipo checkbox cuando se salvaba se obtenía el siguiente mensaje : value cannot be null si se intenta seguir salvando da el siguiente error: Invalid control reference: '[var:60]'. Cuando se agregaba un control info de tipo dynamic combo las descripciones correspondientes a las propiedades ItemValues e ItemDescriptions eran incorrectas. 22
Instalación: Siga los siguientes pasos para instalar K2B Tools. 1. Ejecute el setup 2. Coloque la ruta del directorio de instalación GeneXus y siga los pasos. 3. Si ya tenía la versión anterior de k2bwebpaneldesigner recomendamos respaldar antes la KB. 4. K2BWebPanelDesigner puede ser usado sin k2btools. En caso de tener k2btools instalada, deberá usar la versión 6.0 Upgrade 1 o posterior. 5. Para instalar K2BWebPanelDesigner en el server colocar como ruta de instalación el directorio GeneXusServer\VDir\BinGenexus dentro de la carpeta donde se encuentra el server. 23