K2BTools 10.1 - Release Notes


In K2BTools 10.1 we worked in three fronts:

  1. Improving the reports generated by K2BTools: In this version, we are giving the user more flexibility when customizing the reports generated by K2BTools.
  2. UI improvements: We fixed some issues that occur when using Responsive Web Design, and we added a new Dynamic Layout.
  3. Internal improvements in generated objects: In this version, we worked in replacing some User Controls and using native GX solutions instead.

Important: From this version onwards, all layout objects provided by K2BTools (currently, Flat and Modern layout objects),  will be updated automatically. You should save a copy of the layout objects before upgrading to K2BTools 10.1. If you already upgraded the version and need to recover the previous layout definition, you can use the “History” feature in GX. For more information see K2BTools layout objects upgrade in version changes.

Reports Improvements

All printblocks in reportlayout are included in generated objects.

This feature allows the developer to include watermarks in reports generated by K2BTools. If you want to know how to add a watermark in a report generated by K2BTools please follow this link How to add Watermarks in reports generated by K2BTools.

Variables are included in report and export

In PDF reports and XLS exports you can add variables. To use this feature just set the “Use In Report” or “Use In Export” property of the variable to “True”. After doing this, the code will be included in the generated report or export.

User code inside PDF reports and XLS exports

You can now add user code in PDF reports and XLS exports. Event nodes will have a new property “Use In Report” and “Use In Export”. If this property is set to true, the code will be included in the corresponding report.  

Sample User Code Inside Reports

“Report Width” property for attributes and variables in PDF

There are some scenarios in which the length of the attribute in the database greater than the length needed to see this attributes in the PDF report. This happens when a database field is large to account for the worst case scenario, but actual values are smaller. When this happens, a lot of space is wasted in the report as the length reserved for that attribute is larger than necessary.

Now you can use the property “Report Width” in order to change the width the attribute or variable will ocuppy in the PDF report. 

Sample Report Width Property

UI Improvements

A new Dynamic Layout called “Simple Image List” was added to the web dynamic layout catalog. You can use it with entities that have an image, and its visualization is the one shown below.

Simple Image List Dynamic Layout

Internal improvements in generated objects

In this version we removed some user controls that were replaced by GeneXus native code. We believe that in order to have less problems in upgrading from one version of GeneXus to another, we should use as much GeneXus native code as possible. 
In previous versions of GeneXus the only way to implement some features was to use User Controls. However, as GeneXus version give us more features, it is now possible to implement these features without using User Controls.
An example of the benefit of this approach, can be seen with the “Confirm” user control. In GX15, the HTML related to the images generated by GX changed, causing the “Confirm” User Control in GX15 to break. To avoid this, we have substituted the User Control with GeneXus native code.

New implementation for the “Confirm” property

In this version we included a new implementation of the confirm feature in our patterns. Now, patterns use the same implementation used by Web Panel Designer, that doesn’t use a User Control. With this new implementation confirm actions in K2BTools patterns can be used in GX15.

In K2BEntityServices and K2BPrompt, actions now have the “Event Begin Code” and “Event End Code” properties enabled always so that the developer can add code. 
From this version onwards, if you have an action with confirmation without a GXObject set, you must to place action code in the “Event Begin Code” or the “Event End Code” properties of the action. This is an improvement over previous versions, where the developer had to add an Event node to add the event code.
If an action with confirmation does not have a GXObject set, and its “Event Begin Code” and “Event End Code” properties are empty, a warning will be shown. For more information follow this link.

In K2BTrnForm, in order to support the new implementation of confirm actions, now all events associated with actions are be generated in a “Fixed” slot. The event will call a user subroutine that starts with the prefix “U_” so that the developer can implement the action’s code. 
Migrations from previous versions will be done automatically.

For more information on how to use  K2BTrnForm actions follow this link.

New implementation of “Context Help” in Responsive Web Applications

We changed the way we generate Context Help controls in Responsive Web Applications, removing the user control and using only GeneXus code.
This allowed us to fix one problem: In previous versions, when a field had both a prompt control and a Context Help control, the UI did not behave well.
This change also came with an improvement in the UI for fields with “Context Help” messages in grids. Now the visualization will be as follows. 

Context Help inside columns

Bug Fixes

  • When modifying the components of a dynamic layout the update related panels fails.
  • GeneXus crashes when using a multiple filter based on a domain in Web Panel Designer.
  • It was not possible to add a SDTVariable inside a group.
  • In pattern K2BTrnForm, when using the “Change Grid Layout” command from freestyle to grid, “Control Info” nodes were removed from attributes and variables.
  • When using a Knowledge Base with versions, and working on a path different than the main path the dynamic layouts were not loaded. 
  • Object reference not set to an instance of an object when having an action with noskip set to true, next to a group.
  • In pattern K2BTrnForm, variables inside groups, tabs, columns and line separators were not defined.
  • Additional tables were generated in Web Panel Designer when having one Textblock next to another, that changed the UI when migrating from 8 to 10.0.
  • NoSkip properties in Textblock nodes were not shown inside Columns, Groups, Line Separators and Tabs.
  • In K2BTrnForm, when using User Regions inside a Line Separator, an error “Check Line Separator” was shown.
  • In GX15, it is now possible to reference domains from other modules when defining a variable.

Note: If you are upgrading K2BTools from a version other than K2BTools 10.0, we recommend reading all release notes for intermediate versions.

Getting ready

  1. Download the setup file from the GeneXus Marketplace.
  2. Perform a backup of your KB’s.
  3. All themes provided by K2BTools will be updated automatically. If you modified these themes to create a custom UI for your application, you should save a copy of the theme with another name before upgrading K2BTools. (If you already upgraded the version and need to recover the previous theme definition, you can use the “History” feature in GX). Changes made in the theme for this version are documented in K2BFlat Compact Theme, K2BFlat Theme and K2BModern Theme.
  4. Starting with this version, all layout objects provided by K2BTools (Flat and Modern Layouts),  will be updated automatically. You should save a copy of the layouts before upgrading to K2BTools (If you already upgraded the version and need to recover the previous theme definition, you can use the “History” feature in GX) For more information see K2BTools layout objects upgrade in version changes.


  1. Install K2BTools 10.1 using the setup file downloaded in the previous section.
  2. If you were using a previous of K2BTools 10, you will need to update your 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. If after applying the first pattern instance you get a "failed" error message then:  follow these instructions
  6. If you have personalize layouts objects of the patterns, you will need to update them, in order to include conditionalconfirm section. A message will be given when applying K2BTools patterns. For more information  follow this link.