Descargar - K2BTools

Anuncio
Release Notes Versión 7.0
Índice
Índice ............................................................................................................................................................. 2
Novedades de la versión ............................................................................................................................... 4
Patrones básicos K2BTools ........................................................................................................................... 5
Aplicaciones multi-tenant con K2BTools .................................................................................................. 5
Mejoras en generación de Reportes PDF ................................................................................................. 6
Más opciones para personalizar los objetos generados ........................................................................... 6
Posibilidad de ocultar grilla de segundo nivel en transacciones .............................................................. 7
Seguridad .................................................................................................................................................. 7
Mejoras en K2BLoadActivityList............................................................................................................ 8
Actividades diferentes de seguridad para reportes PDF y Excel........................................................... 8
Integración con GAM en XEv2 .............................................................................................................. 8
Chequeo de seguridad en los business components ............................................................................ 9
Mejoras en la búsqueda............................................................................................................................ 9
Mejoras en traducción de aplicaciones generadas con K2BTools .......................................................... 10
Errores corregidos:.................................................................................................................................. 11
K2B Web Panel Designer............................................................................................................................. 13
Mayor flexibilidad: .................................................................................................................................. 13
Propiedad Custom Render ................................................................................................................. 13
Paginado correcto con automatic refresh en XEv2............................................................................. 13
Personalización de código de paginado .............................................................................................. 13
Configuración completa de seguridad en las acciones ....................................................................... 14
Grillas desde DataProvider ..................................................................................................................... 14
Add Grid From DataProvider............................................................................................................... 14
Invocación al Data Provider ................................................................................................................ 16
Paginado.............................................................................................................................................. 17
Customizacion ..................................................................................................................................... 17
2
Errores corregidos:.................................................................................................................................. 17
Licenciamiento K2BWebPanelDesigner. ..................................................................................................... 18
Instalación ................................................................................................................................................... 19
Anexos......................................................................................................................................................... 21
Cambios en el theme usado por K2BTools ............................................................................................. 21
3
Novedades de la versión
La principal novedad de la versión 7.0 es la inclusión de K2BWebPanelDesigner como parte de la
suite K2BTools, al terminar su proceso de beta. La versión incluida de K2BWebPanelDesigner es distinta
a la versión RC, ya que incluye correcciones de errores detectados en esa versión, y también algunas
funcionalidades nuevas. Las mejoras respecto a la versión RC se encuentran en la sección
“K2BWebPanelDesigner”.
Los patrones básicos de K2BTools también han recibido mejoras en esta versión, estas mejoras
pueden encontrarse en la sección “Patrones básicos K2BTools”.
La inclusión de K2BWebPanelDesigner en K2BTools, finalizando al mismo tiempo su proceso de
beta, provoca algunos cambios referentes a cómo es licenciado K2BWebPanelDesigner. Estos cambios
están detallados en la sección “Licenciamiento”.
Por último, se incluye, en la sección “Instalación” una guía para instalar el producto y evitar
posibles problemas en el proceso. Esta versión de K2BTools está disponible solo para clientes que estén
con mantenimiento al día. Por tanto deberán seguir unos pasos para actualizar su licencia que serán
detallados en la sección de “Instalación”
4
Patrones básicos K2BTools
Aplicaciones multi-tenant con K2BTools
En esta versión se incorporan funcionalidades orientadas a que sea más sencillo construir
aplicaciones multi tenant. Ahora, se puede establecer un data selector universal dentro de las
configuraciones de K2BTools que será aplicado en todas las grillas generadas con K2BTools.
Para poder usar un data selector universal, este deberá recibir un único parámetro que se
corresponda con la variable “&Context” utilizada en los objetos generados con K2BTools.
Una vez establecido, el data selector será usado en todas las grillas, siempre que no se defina en
el nodo correspondiente otro data selector de forma explícita.
También puede indicarse en cualquier nodo con grilla que no se desea usar ningún data selector,
en el caso en que no se desee usar un data selector para esa grilla particular.
Para completar esta funcionalidad, fue necesario también realizar mejoras en el manejo de Data
Selectors dentro de los patterns de K2BTools. En particular, se mejoraron los siguientes aspectos:
5
1. El Data Selector asociado a una grilla es usado tanto en el work with como en los reportes PDF y
Excel asociados al nodo donde fue agregado.
2. Es posible ahora agregar argumentos al nodo Data Selector en la instancia de K2BEntityServices
y K2BPrompt.
Mejoras en generación de Reportes PDF
Se hicieron mejoras en esta versión en la generación de reportes PDF para mejorar la apariencia
de estos en algunos casos.
La mejora está relacionada a cómo se muestran los atributos y variables en la grilla. Para el caso
en que se tienen atributos basados en dominios enumerados, se muestra el resultado de aplicar la
función “EnumerationDescription()” al atributo/variable (con lo que se mostrará la descripción del valor
dentro del enumerado, y no el valor en sí).
Se agregó en k2bentityservices settings una propiedad que permite deshabilitar esta
funcionalidad debido a un error que está detallado en el SAC #32972. Esta propiedad la pueden
encontrar dentro de standardactions->report y la misma es show “Enumerated Domains Descriptions”.
En el caso en que se tienen variables con nodos Control Info dinámico donde se indica que se
muestren descripciones, y se establecen las propiedades “Item Value” e “Item Description”, se agrega
código en el reporte generado para recuperar la descripción correspondiente al valor del
atributo/variable.
Más opciones para personalizar los objetos generados
En esta versión se agregaron opciones para aumentar las posibilidades que posee un usuario de
K2BTools para modificar la apariencia de las instancias generadas.
Se agregó la posibilidad de modificar la posición donde se muestra el botón search en los
objetos work with y sub work with. Esta propiedad se encuentra en las configuraciones de K2BTools,
bajo la categoría filters con nombre SearchButtonLayout.
Sus valores posibles son Right o Bottom e indican la posición del botón con respecto a los filtros.
6
Además, en las configuraciones generales de K2BTools, en la categoría filtros y transacción, se
agregó la propiedad “Descriptions Layout”. Los valores posibles para este campo son “Left” (es el valor
por defecto, con esto se generan los objetos de la misma forma que hasta la versión 6.0) o “Top” para
ubicar las descripciones por encima del campo.
Description Layout: Top
Description Layout: Left
Relacionada con la propiedad anterior, se agregó una propiedad de nombre “Description
Layout” en cada nodo que contiene atributos planos (no en grilla) por ejemplo los filtros. Sus valores
posibles son “Default”, “Left”, “Top”. El valor “Default” indica a patterns que debe seguir lo establecido
en las configuraciones generales de K2BTools, mientras que los valores “Top” y “Left” indican que en ese
nodo particular debe usarse esa lógica, sin importar lo establecido en el settings.
Importante:
1. Los cambios realizados sobre las configuraciones generales de K2BTools son utilizados
en las aplicaciones del pattern posteriores a la modificación. Por lo tanto, si se modifica
alguna de las propiedades mencionadas, y no se vuelven a aplicar los patrones, estos
cambios no serán visibles. En casos de KBs grandes con muchas instancias de patterns,
para aplicar todas las instancias se puede modificar el settings del pattern K2B Entity
Services, y correr la aplicación con F5 (si la versión tiene “Dynamic pattern update” en
“Yes”, antes de generar la aplicación se actualizarán todas las instancias de patterns).
2. En caso de querer hacer uso de esta funcionalidad, y estar trabajando en una KB creada
usando una versión anterior de K2BTools, lea el anexo “Cambios en el theme usado por
K2BTools” para obtener instrucciones sobre cómo actualizar el theme de la KB para
lograr la misma apariencia que en las imágenes mostradas arriba
Posibilidad de ocultar grilla de segundo nivel en transacciones
En esta versión la grilla y la sección superior que permite ocultarla o mostrarla, se agrupan en un
div con control name. De esta forma en GeneXus X Evolution 2 es posible ocultarlo con una única línea
de código.
Seguridad
Esta versión incorpora varias mejoras en el manejo de la seguridad tanto para Genexus X
Evolution 1 como para la Evolution 2.
7
Mejoras en K2BLoadActivityList
En la versión anterior, existían casos en los que el texto del programa era muy largo y generaba
problemas. En esta versión se intentó mitigar este problema mediante el agregado de dos propiedades.
Estas son:
• Ignore Standard Activity Type: Si su valor es “True”, no se agrega el código correspondiente a las
actividades estándar en la generación de este procedimiento.
• Ignore Pgm Name: Si su valor es “True”, se ignoran los nombres de programa.
Ambas propiedades se encuentran en el nodo “Templates” de la configuración del patrón K2B
Entity Services. Usando estas propiedades puede disminuirse significativamente el tamaño del programa
generado. Si se elige realizar esta modificación, es necesario asociar a todas las entidades las actividades
estándar en los objetos que invoquen a este procedimiento.
Actividades diferentes de seguridad para reportes PDF y Excel
En esta versión pueden definirse actividades diferentes para el PDF y Excel. Para esto en el nodo
“Templates” del K2BEntityServices Settings se agregaron dos propiedades “Export User Activity Type” y
“PDF User Activity Type”. Si tienen algún valor, este es utilizado como “User Activity Type” en la
generación de PDF’s y Excel’s
Integración con GAM en XEv2
Para mantener el mismo esquema de seguridad de K2BTools y además poder usar el GAM
(GeneXus Access Management), en los objetos generados por K2BTools se seteará la propiedad
permisión prefix del objeto generado. Su valor será el nombre de la transacción asociada al objeto. Esto
hará que no sea necesario usar k2bloadactivitylist, dado que los permisos serán dados de alta
automáticamente por el GAM. Más información sobre el GAM puede ser encontrada aquí:
http://wiki.gxtechnical.com/commwiki/servlet/hwiki?Category%3ABuilt-in+Security+Module++GeneXus+Access+Manager+%28GAM%29,
En caso de no querer esta funcionalidad pueden deshabilitarla en el K2BTools Settings bajo el
nombre SetPermissionPrefixInAllObjects.
8
Chequeo de seguridad en los business components
Se agregaron dos propiedades en el nodo “Transaction” de la configuración del patrón Entity
Services: “Check security in BC” y “Not Authorized In BC Error Message” (dentro de la categoría
General), que indican si debe chequearse seguridad en las transacciones cuando son usadas como BC, y
cuál es el mensaje de error a emitir cuando el usuario no está autorizado.
Además, se modificó el
código generado en el evento Start de
las transacciones, pasando la llamada
al proc “K2BIsAuthorizedActivityList”
al interior de un tag web. Esto elimina
algunos errores asociados al uso de
transacciones como BC en contextos
donde no está disponible la sesión
web.
Mejoras en la búsqueda
Se agregó la posibilidad de que al generar la instancia por defecto del pattern K2BEntityServices;
se pueda elegir si las conditions las genera por like o por like + “%” o cualquier otra condición. Para esto
se cuenta con la propiedad StringSearch
Cuando se genera la condition para un string, lo que hace k2btools es sustituir donde dice
<attName> por el nombre del atributo y &<varname> por el nombre de la variable.
Para que las instancias que ya están generadas puedan actualizar estos cambios se cuenta con la
herramienta avanzada Update All Conditions.
9
Para esto hay que indicarle a la herramienta cuál es el formato anterior que tenían las
conditions y el la reemplazará con el que está especificado en el general settings.
Mejoras en traducción de aplicaciones generadas con K2BTools
En esta versión, todos los textos incluidos en objetos generados por patterns pueden
modificarse a través de las configuraciones de Patterns. Para aquellos que vienen ya trabajando con
K2BTools, pueden seguir utilizando el mecanismo actual, en tal caso pueden en EntityServices settings ->
Labels->Use Deprecated Transaction Scheme en true y seguir trabajando como lo estaban haciendo
antes.
10
En caso de tenerla en false, los literales podrán ser modificados en el nodo labels.
Errores corregidos:
•
•
•
•
•
•
En la versión 6.0U1 de K2BTools, si se tiene una transacción que indica que no debe chequear
seguridad, y esta transacción es referenciada en un Sub Work With se genera código de
seguridad a la hora de mostrar el tab en el EntityManager asociado. En esta versión este
problema fue corregido (Se agrega el código de seguridad sólo si la transacción asociada al Sub
Work With indica que se debe chequear seguridad).
Se solucionó un problema presente en versiones anteriores de K2BTools, donde no funciona
establecer el valor de las propiedades “After Insert” y “After Update” en “None”.
Se solucionó problema en K2BTrnForm, que causaba errores cuando se indicaba que un atributo
de la transacción fuera no visible en la instancia del pattern.
Fixed Data en K2BEntityServices con visible en false en la primera variable, la misma no aparecía
en el Web Form y además se generaba en el evento start código para hacerla invisible (esto
generaba un warning durante el build).
La parte Web Form de la transacción deja de quedar en rojo al aplicar el pattern
K2BEntityServices o K2BTrnForm. Nota: esto elimina el provider de la transacción. Si se remueve
el pattern K2BEntityServices volverá a recuperar su provider. En caso de error al remover la
instancia de patterns hay una herramienta que vuelve a agregar el provider a la transacción.
Esta herramienta se encuentra en K2BTools-> Advanced-> Recover Transaction GeneXus
Default.
Si se aplicaba patterns a una transacción que tenía una paralela; agregaba un tab asociado a esa
transacción y colocaba código para crear la transacción en un web component. Si esta
transacción no tenía el type en component daba error de spec. En esta versión hasta que no sea
11
•
•
•
•
web component no se agregará el tab y se dará un warning al aplicar el patrón advirtiendo de la
situación.
Se corrige problema que provocaba que cuando se cerraba la KB quedaba la licencia de
K2BTools tomada.
Se mejoró la subrutina “SaveGridState” generada en Work With’s y Sub Work With’s para
manejar correctamente fechas anteriores al año especificado en la propiedad “First year of 20th
century” del generador.
Si un atributo clave de la transacción comenzaba con “Mode” se producía un error al generar el
componente general ya que el pattern remplazaba el string “Mode” por “K2BTrnMode”.
En los filtros con combo dinámico se colocaba de valor por defecto para el texto de empty item
GX_EmptyItemText. Al ser un filtro este no era el valor correcto. Por tanto en esta versión el
valor por defecto pasa a ser GX_AllItems.
12
K2B Web Panel Designer
Mayor flexibilidad:
Propiedad Custom Render
En esta versión se podrá configurar la propiedad custom render en el WebPanelDesigner. A nivel
de grilla se habilita esa propiedad.
Paginado correcto con automatic refresh en XEv2
En la XEv2 es posible usar automatic refresh tanto en grillas con tabla base como sin tabla base.
Cuando se cambia un filtro automáticamente se va a la página uno.
Personalización de código de paginado
Ahora será posible para que en los eventos de paginado se invoquen a subrutinas que
comiencen con U_. Este comportamiento hay que habilitarlo por grilla.
Una vez seteado en true se invocará una subrutina de usuario en cada evento de paginado.
13
Configuración completa de seguridad en las acciones
Es posible configurar de forma completa la seguridad dentro de las acciones del
WebPanelDesigner.
Grillas desde DataProvider
En las aplicaciones cada vez es más necesario encapsular la navegación sobre los datos,
independizarlos de la fuente desde la que son obtenidos y lograr una buena performance en su carga.
Esto se puede hacer en GeneXus mediante el objeto Data Provider.
Add Grid From DataProvider
De una manera sencilla, es posible utilizar un Data Provider para cargar las grillas. Para ello,
K2BWebPanelDesigner incorpora un nuevo tipo de grilla basada en Data Provider. Se agregan las
14
acciones Add FreeStyle Grid / Add Grid from Data Provider para permitir seleccionar el Data
Provider con el que se desea cargar la grilla y automáticamente se creará la grilla basada en éste.
Esta grilla contendrá los campos especificados en el SDT de salida. Por ejemplo si el SDT de
salida es el siguiente:
La grilla cargada desde ese Data Provider tendrá las siguientes variables
15
Se leerá la regla parm del Data Provider. Si en la parm la primera variable tiene como nombre
OrderedBy o OrderBy se agregará un nodo order en la instancia.
Por cada variable de la parm, que no se llame PageNumber ni PageSize y que esté basada en un
dominio u atributo se creará un filtro.
Invocación al Data Provider
A la hora de invocar al Data Provider, se pasará como parámetro en caso de tener el orden
seleccionado en la grilla. Para los filtros intentará mapear cada uno de ellos con los que recibe el Data
Provider.
En caso de que el nombre del filtro, sea igual al nombre del parámetro o al nombre del
parámetro + _filter el mapeo se hará automático.
En caso contrario, el usuario deberá mapear los filtros manualmente.
Para esto:
•
Por cada parámetro filtro del Data Provider se definirá una variable de nombre &DP_Filter_
+ <paramterName> + _<GridName>
•
Se invoca a una subrutina de usuario de nombre U_PrepareDataProvider(<GridName>) para
que el usuario pueda hace el mapeo manualmente.
16
Paginado
El Data Provider puede ser sin paginado o con paginado. Si es sin paginado, la paginación de los
datos se hace en el web panel, de la misma forma que está implementado para grillas sin tabla base ni
for each inferido.
Si el Data Provider posee paginado propio, se utiliza haciendo más eficiente la carga.
Para detectar que un Data Provider posee paginado los últimos dos parámetros del Data
Provider tienen que tener como nombre &PageNumber y &PageSize respectivamente.
Customizacion
En las grillas con Data Provider se podrá modificar el Data Provider. Esto es posible hacerlo en el
nodo grid mediante la propiedad Data Provider
Cuando la grilla tiene un Data Provider seteado, aparecerá a nivel de variable una propiedad de
nombre LoadFromDataProvider.
Si está en true se intentará cargar esa variable desde el Data Provider, en caso de que este en
false no se cargará y el desarrollador podrá asignarle un valor en las subrutinas de usuario.
Errores corregidos:
•
Importación:
o
No se podía importar el reléase de un web panel hacia otra KB. Al importarse si el objeto en
la KB destino tenía ese mismo web panel con el diseñador aplicado seguía con el diseñador
aplicado.
o
No era posible importar un web panel que en la parte K2BDesigner tuviera solamente el
nodo raíz.
•
Se corrige el uso de scroll en la Evolution2.
•
Subrutina U_Search no permitía ser editada por el usuario.
17
Licenciamiento K2BWebPanelDesigner.
Para usar tanto K2BTools como K2BWebPanelDesigner sin restricciones, es necesario tener
licencias de K2BTools 7.0 instaladas.
En caso contrario es posible solicitar una licencia de K2BTools Free Edition que permite:
•
Mantener hasta 20 web panels con K2BWebPanelDesigner.
•
Mantener 20 instancias de cada uno de los patrones de K2BTools.
Nota:
La versión “Free Edition” no permite desasociar K2BWebPanelDesigner de un Web Panel desarrollado
con este (No se permite hacer “Release” del objeto).
En caso de querer realizar esta acción, habrá que eliminar el objeto o abrir la KB sin
K2BWebPanelDesigner instalado y exportar el objeto a otra KB.
18
Instalación
Importante: Si usted viene utilizando versiones anteriores de K2BTools con licencia full, deberá
actualizar las mismas a la versión 7.0. Para hacer esto deberá tener el mantenimiento al día. Una vez
instalada la versión, no podrá usarla de forma inmediata, tendrá que actualizar las licencias.
Las licencias Free Edition no requieren actualización.
1. Si ya tenía la versión anterior de k2btools recomendamos siempre respaldar la KB usada antes
de pasar de versión (crear un xpz o hacer un branch en la KB)
2. Ejecutar el setup de la instalación.
3. Poner como ruta el directorio de instalación de GeneXus.
4. Actualizar licencias de K2BTools según lo indicado en el siguiente
documento(http://www.k2btools.com/files/como-actualizar-las-licencias?es)
5. Abrir GeneXus.
6. Si crea una KB desde cero, ya está listo para usar la versión.
7. En caso de estar usando una versión anterior seguir los siguientes pasos:
a. Si usted ya tenía traducidos todos los literales de K2BTools y no desea pasarlos al nuevo
esquema en Entity Services Settings nodo Labels, pueden setear la propiedad
UseDeprecatedTranslationScheme en true.
b. A partir de esta versión el WebPanelBuilder (pattern K2BWebForm) no será instalado
por defecto, ya que será sustituido por K2BWebPanelDesigner. Al abrir la KB si usted
tiene objetos realizados con el WebPanelBuilder se desplegará el siguiente mensaje
En caso de tener objetos realizados con este patrón, es posible instalarlo. Para hacerlo
en el directorio K2BTools\Deprecated hay una carpeta de nombre K2BWebForm. La
misma hay que descomprimirla dentro del directorio Packages\Patterns de GeneXus.
Hay que cerrar GeneXus y volver a abrirlo para que tome este cambio.
19
Para instalar K2BTools en GeneXusServer ejecutar el setup y poner como ruta
GeneXusServer\VDir\BinGenexus, tomando como referencia el directorio donde está instalado
GeneXusServer.
20
Anexos
Cambios en el theme usado por K2BTools
En las descripciones que deban crearse con Layout “Top” (sin importar si esto fue especificado en
la instancia o en las configuraciones), cuando el pattern escribe el html, a las clases del tema por defecto
les concatena el texto “_Block”. Por esto hay que tener las siguientes clases definidas en el tema:
• TextBlock_BoxTitle_Block
• TextBlock_AttDesc_Block
• TextBlock_TrnAttDesc_Block
• TextBlock_FixedDataBottonDesc_Block
• TextBlock_FilterDesc_Block
Todas estas clases deben ser hijas de las clases con el mismo nombre salvo el sufijo “_Block” y
deben tener seteadas las propiedades:
• display:block;
• font-weigth : bold
En caso de que este no sea el aspecto visual busacdo, puede ser modificado.
El theme por defecto de K2BTools ya posee estas clases configuradas.
21
Descargar