K2BTools 12 - Release Notes

This version is compatible wtih:

  • K2BTools 12.0.0 => GeneXus 16 U3, GeneXus 16 U4
  • K2BTools 12.0.1 => GeneXus 16 U4
  • K2BTools 12.0.2 => GeneXus 16 U4, GeneXus 16 U5


In K2BTools 12 we worked on giving developers more options to create great applications using GeneXus. This can be seen in two ways:

First, we increased available UI widgets to make generated applications easier to use. Check “Better UX for applications” below for further details on selection summary, wizard, and numeric range filters.

Second, we made development even easier with K2BTools. The "Development process improvements" section below describes the “Design System Configuration” wizard, that simplifies generated UI customization.

Scroll down to see all the features!

Better UX for applications

Selection Summary

Selection Summary lets the application user to easily identify what items are selected. It increases usability and reduces user errors.

Keeping track of selected items in large grids is usually awkward without an appropriate user interface. It is specially difficult when selection spans across grid pages or even when filters have to be changed to search for items.

Clearly identifiying selected items is crucial in most situations. Specially when actions are applied to them.

The Selection Summary feature can be used to mitigate this issue. When using it, the user can see all the selected items alongside the grid. These items are shown always, and paging/filtering do not apply to this list.

The developer can choose how selected items are shown:

On the right side.

Selection summary on the right

Below the grid:

Selection summary below

As a "Tab":

Selection summary tab

See more in Selection Summary in grids


A "Wizard" guides the application user through a set of predefined steps. It is a good way to split complex interactions into sequenced, smaller ones.

Using the "Wizard node" of the Web Panel Designer? in K2BTools 12 the developer can quickly create a Wizard that integrates several panels.

K2BTools provides wizard creation and application user navigation control. The developer is responsible of each steps logic.

Wizard UI

See more in Creating Wizard user interfaces.

Numeric Range filters

Date Range filters filters were included a few versions ago. In this version, we are including a new type of filters called “Numeric Range” filters.

This type of filters can be used to allow the user to filter data where an attribute’s value lies within a minimum and a maximum value.

The developer can choose how the user will select the minimum and maximum values. The available options are:

  1. Dynamic Range Set: The user can select a value from a set of predefined options, loaded from a DataProvider. The developer can define the data provider to suit the application’s needs.

  2. Manual (fields): The user can input the minimum and maximum values manually in the UI using two input fields.

  3. Manual (slider): The user can select the minimum and maximum values manually using a slider.

Range Type = Slider sample

See more information in Numeric Range Filters

Horizontal Menu

K2BTools 12 includes a new Horizontal menu that can be placed in the application’s header. To start using it, we recommend using the “Design System Configuration” option.

This menu is loaded using the same SDT as the AccordionMenu, so the migration among these user controls should be painless.

Horizontal Menu

Development process improvements

Design System Configuration wizard

K2BTools 12 includes a new configuration wizard that allows the developer to define the design system of the application.

Menu option

This wizard can be executed at any time. Some changes are only taken into account when each pattern instance is generated.

Using this wizard the developer can choose:

  1. A “Base” Design System.

  2. A “Base” Master Page object.

  3. Customizations on that Master Page object.

  4. Customizations on how K2BTools generates the UI. For example:

    1. Where actions are located.

    2. How filters are generated.

    3. The position for attribute labels.

  5. The application’s color palette.

Design System Configuration menu option UI

Improvements in generated objects

We updated how some components are generated to take advantage of new GeneXus features. Some examples are:

  1. When using the “tags collection” filter, the tags are shown in a flex table.

  2. When creating complex forms, non-responsive tables were replaced by section controls, improving page size and accessibility.

Automatic generation of prompt rules

In this version we included logic when applying patterns to generate prompt rules automatically. These rules will be generated for prompts generated using the K2BPrompt pattern.

In order for a prompt rule to be automatically generated, the following conditions must be met:
  1. A foreign key must exist to the transaction where K2BPrompt is applied.

  2. All members of the foreign key must be present in the transaction’s web form, and their control type is not Edit with Input Type = Descriptions.

This feature can be disabled for each instance using the “Generate Prompt Rules” in the Transaction node in the instance.

It can also be disabled for the entire KB using the “Generate Prompt Rules” in the Transaction node inside the Entity Services object.

This feature is disabled by default in KBs created with previous versions of K2BTools.

Other improvements

Several usability improvements were included in this version, aimed at simplifying the development process. The main improvements are:

  1. K2BTools now validates that all the attributes referenced in a pattern instance are included in a table. This helps the developer diagnose several errors.

  2. Some changes were included in K2BTools to simplify the process of deleting attributes, especially when those attributes are part of a PK or FK.

  3. Filters are no longer generated for attributes with GUID type

  4. The TrnForm pattern now supports the TextBlock node.

  5. An “Open object” action was included for User Defined components in Entity Managers.

  6. The Preview option was improved to match the final UI more closely.

New Features

Automatic rule generation using K2BTools

Sometimes developers need to include attributes with a common behaviour in transactions. For example, the developer may wish to include attributes to log the user that created or modified a record, or the time when that happened.

When these attributes have to be included in several transactions, the developer must replicate the logic for those attributes in each transaction. Basically, the rules associated with each attribute must be copied and adapted to each transaction.

This process can be automated by defining “Automatic rule templates” in the Entity Services pattern configuration. To define a rule the developer must specify the criteria that an attribute must meet for that rule to apply to it, and a template for the rule that should be generated.

See more in Automatic rule generation using K2BTools.

Improvements in K2BTools internationalization

We included several improvements in how we handle languages to simplify the process of internationalizing applications created with K2BTools to other languages.

Also, all messages created by K2BTools are translated to Spanish, English, and Portuguese using the Language object.

Minor features

  1. The “Order By” user control is now available for columns created with variables that are based on attributes.

  2. The Business Analysis View component now supports components that reference the “&Context” variable.



  1. Spacing between attributes was too large when placing attributes inside a free style grid.

  2. Editable image attributes were not shown properly in the transaction (the current image was too small).

  3. Grid Associated (Right) actions were not properly aligned to the right.

  4. The Fixed Data contents were not properly aligned to the rest of the interface.

  5. Display and Refresh actions did not have an image in K2BOrion.

  6. CSS validation issues were fixed.

  7. Messages shown in the error viewer (in panels not generated with K2BTools) were not shown properly.


  1. In some cases tooltips from a previous panel were shown after navigating away from it.

  2. The user control was updated to the latest version of the bootstrap-select library to avoid compatibility problems with the dashboard object.

  3. Performance issues in this control when using many web components were fixed.

  4. Checkboxes style was lost when using checkboxes in a sublevel including an error rule.

  5. Checkboxes were duplicated when setting the visible property to “True” in the panel’s Events code.


  1. Improvements in visibility handling for components in Entity Managers.

  2. Errors shown in Windows’ Event Viewer when loading K2BTools were fixed.

  3. Correct handling for Data Selectors and Data Providers defined inside Modules.

  4. Duplicate lines in actions code were deleted. These lines appeared in actions with row selection in pattern instances.

  5. Some non-translatable strings in the K2BMenu pattern and when creating transaction autolinks were generated without marking them as non-translatable.

  6. Automatic rename for subroutine names in Web Panel Designer did not work if the “Do” statement was written using different casing (e.g: “do ‘test’” instead of “Do ‘test’”).

  7. The “Use in Work With” property was not being taken into account when generating a grid with conditional row classes.

  8. Autolinks were not generated when the DA was shown as the Item Description for another attribute (usually, the transaction’s PK).

  9. The Line Separator SDT was not imported automatically when using K2BTools for the first time.

  10. K2BGetUserAvatar and K2BGetUserEmail were not imported automatically when the developer upgraded to a new K2BTools version.

  11. The “Base Trn” property was not used when generating grids in K2BTools patterns.

  12. The definition of an SDT item for a LayoutVariable node in a WorkWith or SubWorkWith was using an incorrect type when the “Source” property was set to “Variable”.

  13. A “Break not allowed” error ocurred when using an attribute in the condition for an action with Confirm = True in General objects.

  14. In K2BPrompt, the invite message for the Generic filter was not translated.

  15. The K2BAccordionMenu control was refreshed after selecting an option. This is not desirable as the menu state is reset, and all open sublevels are closed.

  16. When using the “Previous version compatible” Web Form Editor, and the Smooth Web User Experience, the “GridKey” variable was shown in the UI.

  17. The “Conditions” property was not shown when the control info was set to “Suggest”.

  18. In grids with no base table, the “HasNextPage” variable was being set before executing the U_LoadRowVars subroutine.

Compatibility issues

K2BToolsGXPreferences external object

This external object has been included in K2BTools for several years. This object has been used to read the application’s configuration in runtime in code generated by K2BTools.

This is used mainly to change the application’s behaviour when URLs are encrypted.

As this object is included in the Knowledge Base, developers may have referenced it in objects not generated with K2BTools.

Two recent changes in GeneXus affect this solution:
  1. GeneXus has released the Configuration Manager external object, offering the same features to developers.

  2. GeneXus will introduce breaking changes to internal APIs used by the K2BToolsGXPreferences object. These changes will be included in GeneXus 16 Upgrade 4.

Because of these changes, we have decided to:
  • Update all code generated with K2BTools so that K2BToolsGXPreferences is not referenced any more, calling the Configuration Manager instead.

  • Update the K2BToolsGXPreferences external object so that it is compatible with the changes introduced in GeneXus 16 U4.

  • As of this version, the K2BToolsGXPreferences external object is deprecated, and will no longer be maintained by K2BTools.

We advise you to follow these steps after migrating to K2BTools 12:
  1. Reapply all K2BTools instances.

  2. Open the K2BToolsGXPreferences external object and find all references to it.

    1. If no references are found, skip to the third step.

    2. If references are found, migrate those references to the Configuration Manager. In having doubts, contact our support team.

  3. Delete the K2BToolsGXPreferences external object.

Minor updates

K2BTools 12.0.1


  • GeneXus 16 U4

Bugs fixed

  • CheckAll checkbox was not correctly aligned with the grid checkboxes in GeneXus 16 U4.
  • Preview was not updating in real time.
  • Problem with color palette when using themes K2BFlatCompactBlue, K2BFlatCompactGreen and K2BFlatCompactBordeaux and updating to K2BTools 12.
  • Design System Configuration
    • When changing the color palette, the hover of the actions were not updating the color.
    • Configuring the Filters Always visible layout was not working.
  • Tooltips of grid actions were not shown property.
  • Selection summary: rows with editable variables with value were shown in the summary when they were not selected.
  • Switches were not shown properly.
  • Problem in save sate of numeric range filters.

K2BTools 12.0.2


  • GeneXus 16 U4
  • GeneXus 16 U5

Bugs Fixed

  • Compatibility with U5.
  • Runtime column selection was not taken into account when generating excel reports that were associated to a transaction that was inside a module.
  • Javascript error when using combo actions in subworkwiths.
  • Problems in GXServer when commiting Grids based on DataProviders.
  • Problems in GX16U5 with concurrent application of instances.
  • Master pages in GX16U5 were not properly shown. There was a separation between the menu, logo and application name.

Installation steps

Note: K2BTools 12.0.0 is compatible with GX16 U3, GX16 U4. K2BTools 12.0.1 is compatible with GX16 U4.

  1. Install K2BTools using the setup file downloaded in GeneXus Marketplace.
  2. Upgrade the licenses as described in Upgrading K2BTools licenses
  3. If K2BTools licenses are not installed, install licenses as described in Requesting K2BTools licenses
  4. Open GeneXus.
  5. To upgrade a Knowledge Base to K2BTools 12:
    1. Open the Knowledge Base
    2. In the GeneXus Development Environment Menu Bar, select K2BTools ->Reapply K2BTools and Build.
    3. Once this process have finished, you are ready to enjoy the new features of K2BTools 12.
  6. In any doubt contact support team: support@k2btools.com

Multiple instances of K2BTools for GX16 ?

You can download the files, and copy them, in the GeneXus root directory or the GeneXusServer instance. After that peform a GeneXus.exe /install in the command line in case of a IDE installation, or restart applicaiton pool in case of installing in GXServer.