K2BTools 11.3 - Release Notes

This version is compatible with GeneXus 16 U0 , U1, U2 and U3.

This version is not compatible with GeneXus15. The latest version compatible with GeneXus 15 is 11.2.

Introduction

In K2BTools 11.3 we worked on simplifying the development experience with K2BTools, avoiding common errors, improving the IDE performance, and simplifying the development process.

In particular, the process of using GAM was improved to avoid manual steps whenever possible.

See more details and features below.

Features and enhancements

Performance improvements

K2BTools generates several procedures that require scanning the whole Knowledge Base (KB) to generate. They are used in several K2BTools features. In large KBs, generating these procedures, often take long.

Version 11.3 simplified and optimized the generation process of these procedures to improve this experience.

IDE usability improvements

Objects not updated

Objects generated by K2BTools may be changed, sometimes unintentionally. Once changed, they are no longer updated by K2BTools. This is how GeneXus defaults work and it is a feature. Sometimes however, if changes are unintentional, it becomes a problem: the developer changes an instance and changes are not reflected in the generated object.

Previous versions generated warnings if the above happened. It did not seem to be good enough.

This version tries to avoid developer frustration by making that above situation visible in the instance editor too.

Existing objects that start to be generated by K2BTools

There were several scenarios in which objects that were supposed to be updated by K2BTools, were not. This caused confusion as many times the developer was not immediately aware of the situation and did not realize why, for example, changing a Pattern instance did not change generated objects.

The most common scenarios are:

  1. An instance was deleted and created again.
    If generated objects were referenced when the instance was deleted.
  2. An instance node is deleted and created again.
    If the Work With node for an instance is deleted, the instance is applied, and later, the node is recreated and applied.
  3. A new instance node is added and the object generated for it has the same name as an already existing object.

All the situations above where fixed in this version and objects that start to be generated by K2BTools are updated.

New generation options

After insert, update, delete properties

The “After Insert”, “After Delete” and “After Update” properties are available in WorkWith objects generated using the “Popup” edit mode. When using this edit mode, the “Entity Manager” option is not available. As these properties load their default value from the referenced transaction, if the transaction’s configuration is set to “Entity Manager” for one of these properties, the “Return To Caller” option will be used instead.

After insert, update, delete message properties

When using K2BTools, feedback messages are generated when the user completes an action such as inserting, updating or deleting a record. These feedback messages are useful to the user as they confirm that the operation took place as expected.

In some particular cases, however, these messages may not be required. To accomodate this scenario, if the value of any of these properties is empty, the corresponding message is not generated. Using this the developer may turn off the feedback messages for each operation independently.

Columns properties in Layout Content nodes

“Columns” properties are now available in the Layout Content nodes. These properties can be used to customize how the grid will be generated, selecting how many columns will be shown in each screen size (Extra Small, Small, Medium, and Large).

The default values for those properties are loaded from the layout object.

“Show Context Header” property for excel reports

This property was added to the Entity Services settings object, in the Export node. When set to False the excel reports are generated without including the preamble that shows the name of the entity shown and the applied filters.

To include the preamble (the default behavior in previous versions) the property must be set to True.

GAM Integration Module

The Fast Start GAM module was renamed to “GAM Integration Module” and many functions were rewritten to highly increase usability.

The installation process was improved, automating most of the process. It is easier to install and to work with.

The module itself was also improved. It now uses features included in recent versions of K2BTools and keeping it up to date with new options in GAM.

Automatic installation

InstallGAMIntegrationModule
Module installation

To install the module, use the Install GAM Integration Module menu option. The option will check that the module’s requirements are met, and import the module.

If the requirements are not met, the module may configure the KB, or ask the developer to perform some simple steps. For example, if GAM is not enabled, the developer must enable it manually.

Module improvements

The module is now using all the features included in the K2BOrion Design System, and it was updated with new GAM options:

The “Enable Tracing” option is now available.

The “Copy Role” option is now available.

Bugfixes

  • Conditions for actions in General components were evaluated outside a for each statement in some cases, causing the validation to fail. In this version, conditions for actions in General and SubWorkWith components are evaluated inside a for each command generated so that the base table is the Entity Manager’s, and the navigation is constrained to the record being shown in the UI.
  • In previous versions, after migrating to GX16, the check all control disappeared when the grid was refreshed.
  • The KB translation process was simplified, by marking more character values as non-translatable.
  • Previous versions had problems when working with remote licenses that were fixed in this version.
  • The Advanced Conditions property in Web Panel Designer is now shown only when applicable, and its editor was improved.
  • In previous versions, it was not possible to create more than one variable based on an external object in a pattern-generated object. This restriction was removed in this version.
  • In previous versions, update and delete actions in General components were not hidden when the user lacked permissions to execute them.
  • In previous versions, the GridSearch event in objects generated with Web Panel Designer was generated unnecessarily, and always included an invocation to the Grid.FirstPage() method. These error were corrected.
  • When calling Entity Managers from SubWorkWith components, the parameters were compared with the SubWorkWith’s variables in a Case Sensitive manner. This caused errors in generation.
  • Support for Downloads Section action region in Web Panel Designer was improved: The visibility of the region’s container is now handled properly when no actions are available, and the visibility code is generated only when necessary.
  • Validation of Item Value / Item Description values for Control Info nodes where Data Providers are used to populate the control are now done in a case insensitive manner.
  • In previous versions, the load event for grids based on data providers was generated using the “Item” method on the data provider output collection. In this version a For … in … loop is used.
  • In previous versions, the Save Grid State subroutine was not generated when a grid was included inside an Attributes node.
  • In previous versions, the Grid.Refresh event was generated only in some cases. In this version, it is always generated.
  • In previous versions, when using String filters or the Generic filter, the selected attribute list was not exported properly, leading to errors in in the import process (different attributes would be selected). This also affected KB’s sinchronized with GXServer. This issue is fixed in this version.
  • In this version, the support for Portuguese KBs was improved by handling plurals better in that language.
  • In previous versions, if the developer applied the Entity Services pattern to a transaction using the standard GeneXus pattern, several errors occurred. In this version that situation is prevented, and the developer is offered to convert the existing WorkWith instance to an Entity Services instance.

Minor updates

11.3.1

  • Base Trn was not set to true in K2BTools pattern generating RWD when UseBaseTrn was set to true.
  • When using WebUserExperience=Previous Version, and WebForm=Previous Version, in grids with confirm, a hidden variable appears visible in the webform.

11.3.2

  • Security improvements.