K2BTools 14.1 - Release notes

Status: Released. For the use of K2BTools with GX18 please read this

Version compatibility

  • 14.1.3
    • GeneXus 18 U0, U1, U2 (please read this)
  • 14.1.2
    • GeneXus 18 U0 (please read this)
  • 14.1.1
    • GeneXus 17 U10
    • GeneXus 17 U11

Introduction

We continue to improve the user experience of applications developed with K2BTools.

Collection variables are now supported in most control types. There are many scenarios where there is the need for the user to select multiple values of a certain field in an entry form. This is where collection variables came to the rescue.

Data providers are now supported by K2BTools suggest control, which now can be used in transactions.

The numeric slider control type was added and the semantic date range filter was improved.

Collection variables

Collection variables are now supported. Every variable node now has an “Is Collection'' property that, when set to true, reduces the available control types to those that support collection variables. Many control types were updated to support them. With this feature, developer can have more options when deciding how to show in the user interface related entities, as a subworkwith or as a multiple input value

Dynamic Combo Box control type

As seen below, when used in collection variables a checkbox is added to allow the selection of multiple items. Selection may be shown as text or separate tags.

ComboboxTags ComboboxText
Selection shown as tags Selection shown as text

Clear selection action can be configured to deselect all the items.
ComboboxClearSelectionAction
Clear selection action

For more information read Dynamic Combo Box control type

Suggest control type

As seen below, when used in collection variables a checkbox is added to the suggested items, to allow the selection of multiple items.

SuggestCollection
Suggest displaying a collection

For more information read Suggest control type

Toggle control type

When used in collection variables multiple items can be selected.

ToggleCollection
Toggle control in a collection variable

For more information read Toggle control type

Image Region Selector control type

When used in collection variables multiple items can be selected.

ImageRegionSelectorCollection
Image region selection in a collection variable

For more information read Image Region Selector control type

Dynamic List K2BTools control type - new!

A new Dynamic List K2BTools control type with support for collection variables was added.

DynamicListRuntimeAppearance
Dynamic list in runtime

DynamicListCollection
Dynamic list displaying a collection

For more information read Dynamic List control type

Edit control type - new!

The new edit control type is used for collection variables.

EditControlTypeRuntime
Edit Control Type in runtime

For more information read Edit K2BTools control type

Numeric slider control type - new!

In all entry forms, a slider can be used to select a numeric value.

SliderControlTypeUIExample1
Example 1: Number invisible

SliderControlTypeUIExample2
Example 2: Number visible, readonly

SliderControlTypeUIExample3
Example 3: Number visible, editable

For more information read Numeric Slider Control Type

Dataprovider support in suggest - new!

Datasource from dataprovider is now supported in suggest control types allowing, for example, to use it in transactions.

ProductUnitsExample
Example of a N to N relationship using collection variables inside a transation

For more information read Suggest control type

Semantic date range supports data providers

The ranges used in Semantic Date Range filters can now be defined in a data provider. This is often simpler than the properties used in previous versions, and it allows changing the range set in runtime.

K2BTools provides several predefined data providers. This feature allows the developer to create its own to match the requirements. For more information read Date Range filters

Other features

  • WPD: Autoresize property supported in QueryViewer node
  • K2BTools patterns: Open GXObject action available in “Action” node
  • An error message is thrown when a filter is defined in a not supported datatype (eg:Images, Bitmap)
  • K2BEntityServices Pattern: In K2BEntityServices settings, Template node, a “Default Component Distribution” property was added to change the default value of “ComponentDistribution” property in the Entity Manager components.
    DefaultComponentDistributionProperty
    Default Component Distribution propety in K2BEntityServices settings.

  • Grid settings and paging is hidden when using selection summary with tabs and the user is in the selection summary tab.
  • “Add filter for column” action added for variables inside grids based on variables.
  • Calculated description is shown in all nodes whose description is calculated dynamically.
    CalculatedDescription
    Calculated description is shown.

Bugfixes

Generated application's UI:

  • K2BFlat and K2BFlat Compact UI:
    • Confirm UI was shown incorrectly.
    • Grid checkall, was shown above the menu
  • Standard disabled grid actions were not correctly shown in secondary views and in standard grids when grid actions were always visible.
  • Wizard steps were not correctly shown when the step description was too long.
  • Dynamic Combo Box K2BTools:
    • In some cases item images were not shown when searching
    • In some cases a scroll in the form appears when having a dynamic combo with many items.
  • Multiple filters were incorrectly shown when they were placed in a grid with “Horizontal Scroll” property set to Scroll.
  • Actions group with Position property set to Top were shown below the grid when “Freeze column titles” property was enabled.
  • Date fields were incorrectly shown in sdt grids when using selection summary with tabs

IDE:

  • Conditions properties (in grid and filters) were shown when the grid was based on a Dataprovider or SDT.
  • “Allow Runtime Column Selection” property was shown in invisible variables
  • In some variables with associated events, the “Go To Event” node action was not working.
  • Preview:
    • Collapsible cards were not shown correctly.
    • Wizard steps were not shown correctly.
    • In pattern K2BTrnForm invisible attributes were shown.
  • Design System Configuration for Smart Devices did not allow to change each color.
  • Add grid from dataprovider: when output is a transaction inferred attributes and formulas were added as columns in the grid.
  • Error: Unable to cast object of type 'Artech.Genexus.Common.CustomTypes.CT_GXTXVAL_type' to type 'Artech.K2B.ObjectDesigner.Types.CT_GX is thrown when setting the “Values” property to “Combo Box“ “Control Type” in WebPanelDesigner.
  • Element relative position property, was not changing node appearance when used in SDT Variables node.
  • In pattern instances, to add a “Grid Columns” node, developers had to select the “add attributes” action.
  • Warning: ‘When not using Responsive Web Design, "Element Relative Position" set to "Same cell" will behave the same as ‘ was incorrectly shown when using Responsive Web Design.
  • Error “Image WarningIcon does not exist” was thrown when using Import from CSV and Theme K2BOrion.
  • Error: “Validation of Basic Layout Web 'ImportPreviewLayoutOrion' failed” was thrown when creating a new knowledge base and selecting to use Design System Object in the Design System Configuration.
  • Error: "Invalid attribute 'FilterCollapsibleSection_Combined' in K2BTools pattern when the “GenerateGenericFilter” property was set to false and there were only filters with “Display In” set to Columns.
  • WPD: when having a “ResponsiveLayoutObject” set at grid level action´s position property was showing the available Regions of the layout object set in the “ResponsiveLayoutObject” property of the WebForm node.
  • “Empty Item Text“ property default value in control Info node: In same cases it was set to “GX_AllItems” when it should be “GX_EmptyItemText”

Generated application logic:

  • Confirm code was not generated for actions inside “ActionsGroup” when using K2BTools patterns.
  • “Refresh grid” property was not taking into account actions inside the “ActionGroup” node when using K2BTools patterns.
  • When adding a simple order for an invisible column, it was not possible to select the order of the column in runtime.
  • Warning “spc0047: Variable Gridcolumn<VarName> not defined; N(10.2) assumed” in exports in some cases when “Runtime Column Selection” in the user interface was not allowed for that variable.
  • When generating export files some session keys were left empty.
  • WPD: All advanced filters were always shown when having a grid with “Save Grid State” set to false.
  • Check all was not setting the “Selecting” class of the grid.
  • Extended suggest: Variable description was not shown when its value was set in the start code.
  • Picture was not applied in grid columns aggregation values.

GAM Integration module

  • K2BToolsFSG.UserAddRole was filtering for RoleDescription field instead of RoleName.
  • There were some unnecessary commits In K2BTools menu update process.
  • error: src0265: Invalid attribute 'DetailedFiltersContainer_OnlyDetailed' (Web Component 'K2BFSG.WWUserRole' Events, Line: 691, Char: 5), error: src0216: 'Class' invalid property. (Web Component 'K2BFSG.WWUserRole' Events, Line: 691, Char: 43) was thrown when installing GAM Integration Module when using Design System Object and default filters were configured to “Floating vertical filters”
  • When installing the GAM Integration Module after Notification and Collaboration module some objects that had to be overwritten were not imported.

Notifications and Collaboration Module

  • K2BT_EventTypeMessageTemplate was named EventTypeMessageTemplate, without the "K2BT_" prefix.
  • GeneXus IDE hangs when installing Notifications and Collaboration module in an empty KB
  • Problems with information length and trims with attributes based on K2BT_Code domain in some DBMS. The datatype was changed to VarChar(20) instead of Character(20)

User preferences module

  • Fields that have to store the state of the grid, were not long enough in some cases. Changed to LongVarChar(2M)

Version update process

  • When using the Design System Object, some configurations performed in the Design System Configuration was missing when updated to the new K2BTools version.

Installation steps

  1. Install K2BTools using the setup file downloaded in K2BTools download center
  2. If K2BTools licenses are not installed, install licenses as described in Requesting K2BTools licenses
  3. If K2BTools licenses are installed an upgrade of the licenses is required as described in Upgrading K2BTools licenses
  4. Open GeneXus.
  5. To upgrade a Knowledge Base to K2BTools 14.1
    1. Open the Knowledge Base
    2. In the GeneXus Development Environment Menu Bar, select K2BTools ->Reapply K2BTools and Build.
    3. Update the theme if needed. Updating a K2BTools theme to a new version if using Theme object.
    4. Update desing system object if using Design System Object (see section below)
    5. Once this process have finished, you are ready to enjoy the new features of K2BTools 14.1.
    6. Check for deprecated user controls by running Find Deprecated User Controls References. For more information read User controls deprecated in K2BTools 14.0
  6. In any doubt contact support team: support@k2btools.com

Design System Object => Changes made in the Design System Configuration

Due to an error, if there were changes made in the Design System Configuration when using K2BTools 14.0 and Design System Object, this changes will not be applied after the default K2BToolsOrionDS is imported. For this purpose, the changes made in the design system configuration must be repeated. This error is fixed in this version, so there will be no be further necesity of doing this in the following versions.

To customize the Design System object we recommend following these instructions. If this was not done in the previous version, you may find that some customizations are lost after the migration. If that happens, we recommend checking the object's history to find the manual customizations and reapply them using the recommended mechanism.

If you find any problems in the migration process you can contact our support team at support@k2btools.com.

Important

User controls deprecation: Some User Controls were deprecated and will be removed in K2BTools 15.0. Migration to an equivalent User control should be automatic in most cases. See User controls deprecated in K2BTools 14.0 for details on how to check your KB for usages of the User Controls and see if manual actions are required.

Modules support: Up to this version, K2BTools supports having no modules in the KB (besides the "Root Module"). This means that users migrating from old versions can continue to work without modules, which is necessary in some cases to preserve the URLs as they were in those versions.

Starting in K2BTools 15.0, this will no longer be possible as we will import modules with our basic objects to improve the quality of KBs generated with K2BTools and their modularization.

We recommend using the URL rewrite object to preserve current URLs that msut be accesible after migrating to 15.0.

Minor updates

  • K2BTools 14.1.3.22150
    • Design system configuration wizard replaces tokens references with values
    • Pattern properties changes can be made one at a time
  • K2BTools 14.1.3.22037
    • Grid columns aggregations was not updated in some scenarios
    • In some cases, when creating a new Knowledge base with K2BTools, a java compilation error was thrown due to a variable incorrectly defined in MarkWebNotificationAsRead procedure.
    • Mismatched input '.' expecting <EOF> at line 1026 when applying Design System Configuration (fixed)
  • K2BTools 14.1.1.20039
    • "Object reference not set to an instance of an object on GeneXus.Packages.ModuleManager" was thrown in some cases when commiting to GXServer.
    • User Controls were not automatically copied to the generated application.
    • When using K2BAudit 8.0, the user interface of K2BAuditAnalyzer was incorrectly shown.
    • Dataprovider parameters properties were not propertly shown in control info node.

K2BTools zip files

Follow K2BTools Installation to install K2BTools from files.

To be considered when using K2BTools for GX18

  • This is a GX18 restriction. GX18 uses css layers. Css layers was added to the browsers in February 2022. In GX18U0 the use of layers is not optional, in GX18 U1 layers will be used only when using Design System Object. We recommended to check which browsers your customers are using. For more information read this.
  • Due to the impact of css layers we are still having some visual issues when using the theme object. The use of Design System Object is strongly recommended.