K2BTools 13.2 - Release notes

Version compatibility (**)

  • GX17U6
  • GX17U7
  • GX17U8 (*)
  • GX17U9 (*)

(*)When using or importing K2BTools GAM integration module, an error importing or specifying K2BFSG.WCAuthenticationTypeEntryGeneral may arrise. This problem is fixed in version. For more information read K2BTools GAM Integration Module 13.2 and U8 or higher

(**) Known issues of version Invalid attribute K2BT_JavaScriptWindowObject


In GX17U6 GeneXus has released an excellent feature: The Design System Object that improves the way styles are configured inside the knowledge base. The focus of this version is to add support to the design system object, so K2BTools users can quickly benefit from this feature. Additionally we have simplified how user interfaces are created when using K2BTools by providing predefined user interface options. Furthermore we continue adding more user interface controls, and more options to configure in the design system configuration. See the detailed features below.

Design System Object support

GeneXus has dramatically improved how to customize our UI’s appearance by adding the Design System Object. The Design system object replaces the Theme object but its usage is not mandatory: Both objects can be used in the latest version of GeneXus.

Design System Object

The Design system object improves how styles are managed inside GeneXus applications:

  • It allows the developer to configure the style in an easier way, in a text language very similar to CSS.
  • By using the import rule, it is possible to separate the styles defined by K2BTools and the developer, simplifying the upgrade process when changing from one K2BTools version to the next.
  • Shortly, it will allow you to change the tokens in runtime by using the Design System Token Options.

As this is the first GeneXus version with Design System Object support, K2BTools has chosen to support both for the time being, leaving that choice to the developer. When using this version new knowledge bases will be created using the Theme object by default. The developer can choose to use the Design System Object using the Web Design System Configuration wizard.

In this version the Design System Object is only available for the “Orion” and “Atlantic” options. You may choose these options in the first step of the Web Design System Configuration wizard. The options implemented using the design system object are marked using that object’s icon.

Selecting to use Design System Object

Using the wizard you can customize the most common options in the design system. If you want to customize the design system object further, we recommend reading this.

We are excited by this new object and plan to improve support and usage of this new object. We look forward to your feedback and suggestions on how to improve this integration.

Create K2BEntityServices instances more easily than ever

MasterDetail grid template

When using K2BTools to create user interfaces, the developer can use and combine several properties to tweak the UI to its needs.

We’ve simplified this, by selecting the most common combinations of these properties and presenting them as templates when creating a new pattern instance. The developer can now use a simple UI to select which template should be used. We think this will flatten the learning curve and help developers discover new features in each K2BTools version.
This change impacts the dialog to create a new instance. Now the developer can choose between:

Applying entity services pattern instance

  • Creating the instance using the default template: the default instance used in previous versions.
  • Creating the instance based on template: A dialog will appear in which the developer can choose a template for the WorkWith and the EntityManager.

When a template is selected, a real time preview will appear, to illustrate how the generated objects will look like.

Template selection dialog

When displaying the templates, K2BTools analyzes the transaction and its relationships with other transactions to discard templates that are not suited for that transaction.

This feature can also be used in an instance that has already been created. To use it the developer must right click on the corresponding Work With or Entity Manager node, and execute the “Change Work With” or “Change Entity Manager” action.

ChangeWorkWithAction ChangeEntityManagerAction
Change WorkWith action Change EntityManager action

For more information read Creating an Entity Services instance and Creating an EntityServices instance based on a template.

User interface improvements

New Control type: Toggle bar

In many cases the end user must select an option from a list when completing a form. When the list is small a “Toggle” control may be used, where the list is shown directly in the form and the user may select an option simply by clicking on it.

The control type called “Toggle K2BTools” can be used to implement these scenarios.

This control can be used in scenarios similar to comboboxes, but using a different UI. We’ve included three UI variants of this control that can be selected by the developer.

The developer can configure the item values, item descriptions and images as in a dynamic combo. If the attribute/variable is based on an enumerated domain, the options are loaded from the domain automatically.

These are examples of the variants currently available:

ToggleSmall ToggleMedium ToggleLarge
Toggle Style = SmallChip Toggle Style = MediumChip Toggle Style = LargeRectangle

See more information in Toggle control type.

Action Groups

Previous versions of K2BTools included a feature called “Combo Actions”. That name was a consequence of early implementations of the feature, based on comboboxes.

That feature was renamed to “Action Groups”. We believe this is an improvement as it abstracts how the feature is implemented and allows us to add new options in the future.

Aside from the naming change, two improvements were made to the feature:

  1. Action groups no longer use <select> elements in the HTML to define them. This improves how we create the control, allowing us to simplify the HTML structure and the event code associated with this control.
  2. Action groups are now supported in grids when using K2BTools patterns.
  3. Actions contained in action groups are now defined using the same nodes as actions outside groups. This allows the developer to refactor a UI easily organizing the actions in groups simply by copying and pasting.

Extended combo

Keyboard navigation is now supported. The up and down arrows allow the user to change the value of the combo box as in standard comboboxes.

Generation improvements

We’ve worked on improving the HTML generated by K2BTools as a part of two ongoing objectives:

  1. Making the HTML smaller and more efficient.
  2. Empowering developers to customize the UI of their applications.

In this area we’ve improved two things: how cards are created and how the confirm dialog is created.

Cards are now defined using the “K2BT_Component” user control, defined using as an object in the KB. Using this control we’ve simplified the HTML structure used to define them, and we’ve also centralized this definition and placed it in a place that can be customized by developers.

The same goes for the Confirm dialog. This dialog is now implemented using the “K2BT_ConfirmDialog” user control object. This will enable developers to change how this control looks easily.

Developer improvements

Preview improvements

Preview of grids with inline editing will show more clearly what is going to happen when the instance is applied. When a web panel uses a dynamic layout the preview will show more accurately what the generated web panel will look like.

K2BToolsInstanceToPreview DynamicLayoutPreview
Instance definition Instance preview

Validation of conditions

This version validates conditions added by the developer in pattern instances before applying each instance. We expect this to help find some bugs that sometimes arose when invalid conditions were discarded silently by GeneXus.

More customization in the “Web Design System Configuration” wizard

  1. The developer can now choose font and font sizes in the wizard for primary buttons, secondary buttons and tertiary buttons. Additionally the corners of the buttons can be customized. Furthermore background color of the buttons can be changed for a color different from K2BToolsAccentColor.
    Buttons configuration

  2. The developer can now customize the background and foreground colors in the application menu.
    Menu colors
    Menu colors

Export to CSV

Export to csv support was added in both K2BEntityServices pattern and WebPanelDesigner. By default the feature is disabled. This feature can be enabled in an EntityServices instance by setting the property “Export to CSV enabled” located in the Standard Actions node to true. To enable this feature to all EntityServices instances, set the “Enabled by default” property to true, in the K2BEntityServices Settings under StandardActions/Export to CSV.
In WebPanelDesigner, to enable the export to csv in an specific webpanel the “Export to CSV enabled” property in the Grid node node must be set to true.
CSV parameters can be modified by setting a “Export to CVS layout procedure” and editing the ‘AfterInitialization’ subroutine.

CSV parameters to be modified

For more information read Export Layout

Other improvements

  • Automatic rules in transactions: the Regular Expression used to define a rule can now contain the “<TrnName>” value.
  • Filter Summary - new options available in each filter:
    • The developer can now choose to exclude filters from the “Filter Summary” component by using the "Include in filter summary" inside the Filter variable node.
    • Read-only filters and filters that do not support an empty value are now non-deletable from the filter summary
  • Stepper: Minimum and Maximum values are loaded from the “Value Range” by default.
  • Improvements in how Simple Order nodes descriptions are generated: they now use the Contextual Title of the attribute.
  • Query Viewer node in Web Panel Designer: the “Map” type and its associated properties are now supported.
  • Notifications and collaboration module: when a notification is not set because of lack of permissions, store that information to allow easier debugging.
  • Attributes nodes in web panel designer now generate its main container control in the web form with a control name equal to the “Name (Id)” property. To preserve compatibility with old versions, the values of this property are automatically updated to the name of that control name in previous versions (ResponsiveTable_MainAttributes_{NodeName}). You can simplify these names (returning to the {NodeName} value) using the ConvertOldAttributeNodes action in the K2BTools\Advanced menu inside the GeneXus IDE.
    Convert all attributes node

  • All generated code now uses the “StyleClass” keyword instead of the “ThemeClass” keyword. This was done to adapt to the new features released by GeneXus as a result of the creation of the Design System object.


  • An error that causes prompt and calendar images associated with a form field appeared below it was fixed.
  • The “Login as a different user” button in the Access Denied web panel was fixed.
  • The control type “Dynamic Combobox K2BTools” can now be used in variables outside grids in patterns.
  • An infinite loop when using Entity Managers was fixed. This occurred when the Entity Manager contains a group defined as tabs and all the components of that group were invisible.
  • Grid variables in SubWorkWith interfaces are now included in Export procedures.
  • A typo in the “Generate Initialization Procedure” property inside K2BMenu settings was fixed.
  • The K2BT_EntityInstanceReference domain was redefined to allow for bigger primary key valures.
  • Automatic Refresh = No is now supported when using Date Range filters.
  • The default value for the “Descriptions Layout” property is now loaded from settings when the node is not included in an Attributes section.
  • An error that caused some filters to be ignored when the Clean filters feature was used is now fixed.
  • The overflow menu was included in the aggregations row in grids.
  • The overflow menu was not created correctly in grids with no orders, aggregations, or filters associated with the grid’s columns.
  • Alignment issues in grid settings and downloads section dialogs were fixed.

Installation steps

  1. Install K2BTools using the setup file downloaded in GeneXus Marketplace.
  2. If K2BTools licenses are not installed, install licenses as described in Requesting K2BTools licenses
  3. If K2BTools licenses are installed but in a version lower than 13.0, an upgrade of the licenses is required as described in Upgrading K2BTools licenses
  4. Open GeneXus.
  5. To upgrade a Knowledge Base to K2BTools 13.2
    1. Open the Knowledge Base.
    2. In the GeneXus Development Environment Menu Bar, select K2BTools ->Reapply K2BTools and Build.
    3. If errors appear when executing the "Reapply K2BTools and Build", verify if conversion of old attributes / grid nodes is necessary.
    4. Update the theme if needed. Updating a K2BTools theme to a new version.
    5. From versions lower than 13.1
      1. If updating the GeneXus version from a version lower than GX17 U3, upgrade the GAM Integration Module or follow the steps of Migration of GAM Integration Module to GX17U3 or higher
      2. If the K2BTools User Preferences Persistence Module is installed in a version lower than 13.1, the module must be updated. More information in User Preferences Module must be updated
    6. Once this process have finished, you are ready to enjoy the new features of K2BTools 13.2.
    7. If you want to use the Design System Object instead of the Theme, go to the Design System Configuration, and in the first step select Orion (using Design System Object) or Atlantic - horizontal menu (using Design System Object). For more information read K2BTools 13.2 - Release notes
  6. In any doubt contact support team: support@k2btools.com

Minor updates

  • (**)
    • Improvements in performance in UI with checkboxes
    • Fixed navigation warning and pagination when using generic filters with enumerated domains and dynamic translation.
    • Improvements in GAM integration module (only when using Orion Design System)
      • Fixed compatibility with GeneXus 17 U8
      • OTP y 2FA supported
      • Activation Method = "User" supported
      • Improvements in translation of messages.
      • New User Interface of GAMConfiguration panel.
      • User interface of Repository connections updated with new GAM fields
      • Recover password updated using the GAM configuration.
    • Problems in missing conditions in control info conditions
    • Legacy code of check all removed when using deprecated multi row logic selection configuration. (bugfix)
    • Report target default value was not using the settings GenerateInPopup property when Changing standard actions behavior.(bugfix)
    • EntityManager: when using ComponentInEditModes = "WebComponent", the web component was always called in insert mode (bugfix)
    • Subworkwith secondary view, the input variable associated with the primray key of the main transaction, was not defined in the variables part. (bugfix)
    • "Action groups with property position = Ingrid are only avaiable when using Responsive web Design" error thrown when using UI not responsive and ingrid actions.(bugfix)
    • Fix in global events and domain K2BT_LargeID to allow use K2BTools without having modules (bugfix)
    • Target = "_blank" outside grid image actions:supported.
    • Reports pdf with generate in popup in true, when the standard action has no image: supported.
    • ActionsGroup: conditions and security conditions in actions inside an ActionsGroup were not correctly checked.
    • Storage provider support for Excel reports.
    • Missing "!" in some string constants in the generated code.
    • PDF report : PDF action button supported when "Generate in Popup" is set to false (before the report action had to be an image)
    • Design system configuration: "Validation of Design System failed" error fixed when font value was modified in the Form Controls
    • "Object reference not set to an instance of an object" error fixed when creating a SDPanel with SDPanelDesigner.
    • In new knowledge bases EntityManagers were created without a master page (bugfix)
    • "UpdateVisibility_Combo is an undefined subroutine" error fixed when using ActionsGroup in previous version compatible UX.
    • "Invalid attribute 'OverflowMenu_UC_GridInvoice'" error fixed when using ActionsGroup in previous version compatible UX.
    • Missing validation that ActionsGroup cannot be used in grids when using previous version compatible UX.
    • Remove action in MultipleSelection was not working (bugfix).
    • Export condition was not working (bugfix)
    • Confirm in TrnForm is not working when using previous version compatible UX.
    • Grid conditions and filter conditions validator throw an error in some valid conditions. This error prevents the instance from commiting to GXserver. The validator will throw a warning insted an error in this version, and the issue will be fixed completely in next version.
    • A "Value cannot be null" error was thrown when using the wizard node (bugfix)
    • AttributesNode: Section class property was ignored in the generated code (bugfix)
    • AttributesNode: The property "Show Borders" was added to this node.
    • Conversion process of attributes nodes was improved and renamed to "Fix K2BT_Component UC compatibilty"
      • Process output is stored in a file in the knowledge base directory.
      • The process does not cancel if an error ocurrs when updating a WebPanel.
      • All attributes nodes with a SectionClass edited manually will be listed in the output.
      • Grid titles were not correctly converted (bugfix)
      • In some cases, lines of code were wrongly commented. (bugfix)
      • For more information read Converting Attributes/Grid nodes from versions prior to 13.1
    • The file K2BTools.Utils.UI.dll was released without setting its version number (bugfix)
    • In some cases the preview was not shown (bugfix)
    • Control info node
      • Error was thrown when importing an instance from older versions with control info nodes with ItemValue or ItemDescription properties set. (bugfix)
      • In some cases some properties were incorrectly visible and hidden when using control info node. (bugfix)
      • WPD: a check of not null was missing for the properties item values and item descriptions when they were required. (bugfix)
    • Unable to cast object of type 'InputType_Enum' to type 'System.String error was thrown in the event viewer (bugfix)
    • In the design system configuration borders of attributes and variables where not shown in the preview.
    • When using the Design System Object
      • In the design system configuration a change in the "Form Controls" section, in the Borders and Corners properties were not taken into account. (bug fix)
      • Conditional row selection was not working (bugfix)

Multiple instances of K2BTools for GX17 ?

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