K2BTools 12.2 - Release Notes

This version is compatible wtih:

  • K2BTools 12.2.1 => GeneXus 16 U8, GeneXus 16U9 GeneXus 16U10

Introduction

In K2BTools 12.2 we kept working on improving the UX of applications and adding more customization to the design system configuration. We also worked on many interesting features that were requested by many K2BTools developers. Feedback is always welcome.

See more details below :)

New options in the Design System Configuration wizard

The design system configuration wizard now allows developers to change the sizes and positions of several controls in the user interface.

Using these new properties, the developer can create new “compact” or “large” variants of the Orion design system to suit its needs.

DesignSystemConfigurationSizesStep
Sizes step

As with all features in the design system configuration, the developer can view how changing the sizes affects the app using the live preview on the right.

Below are examples of User Interfaces that can be achieved using these new options.

DesignSystemK2BOrionCompact
Orion Compact

DesignSystemK2BOrionLarge
Orion Large

UX improvements for end users (in the generated app)

Grid columns totals and averages

Grid columns based on a numeric type can now include aggregations, shown at the grid’s bottom.

GridTotalizer
Grid Aggregators UI

To include these aggregations, the developer must use the “Include Aggregation” property in the column. The possible values for that property are No, Average, and Sum.

GridTotalizerProperty
Grid Aggregators Property

When the value is not “No”, K2BTools will include code in the panel to compute the Sum or Average, and show it at the grid’s bottom.

When calculating the aggregation filters are applied, and all available pages are considered, not just the one that’s currently visible.

This feature is available in standard grids only, and only when the grid is loaded directly from the database (with a base table, or with a for each command inferred by K2BTools).

Business Analysis view in Web Panel Designer

Business analysis nodes can be added to any grid in Web Panel Designer. The node’s usage is the same as it already was in the Entity Services pattern.

BAVInDesigner
Business Analysis View in Designer

This means that:

  1. The web panel’s UI will include an action to switch between the grid and the business analysis views.

  2. The referenced grid’s parameters and conditions will be updated to match the filters for the grid.

Notifications and collaboration module in K2BFlat

This module is now supported in KBs using the Flat design system, with all the features already available for the Orion design system.

NotificationsFlat
Notifications in K2BFlat

The module can be installed using the “Install Collaboration and Notifications module” command in the K2BTools menu.

Better handling for Descriptions in Combobox filters

When a filter is based on a combobox, and its values are defined in the filter definition, the filter summary and report/export files now show the description instead of the value.

Improvements in line separators

The implementation of line separators in this version was updated. The new implementation supports these scenarios:

  1. Changing the title in runtime.

  2. Opening and closing the line separator from GX code.

  3. Including Line Separators in Free Style grids.

UX improvements for developers (in the GeneXus IDE)

New actions

In attributes belonging to grids:

AddXForThisAttribute
New actions in attributes

Add order for this attribute: This action is available in grid columns, and allows the developer to quickly add a Simple order node associated with the selected node.

Add filter for this attribute: Similar to the previous action, but adding a filter instead.

In the Wizard Node:

OpenWizardRelatedObjects
New actions in wizard node

Open after complete panel: This action is only available when an after complete panel is set in the wizard node, and allows the developer to quickly navigate to that object.

Open wizard SDT: This action is only visible after the wizard SDT is set, and allows the developer to quickly navigate to it.

In the Grid node:

Configure selection summary: This action was enhanced to work in more cases, simplifying the activation and deactivation of the selection summary feature:

  1. The action is shown always, not only when the summary is enabled. If the feature was not enabled before executing the action, it will be enabled automatically.

  2. The action now includes an option to disable the selection summary feature.

We believe these changes will simplify the “Selection Summary” feature usage.

New properties

“Display Flat” property in date fields: This property can now be set in the K2BTools instance. For more information see the GeneXus documentation.

“Display” property in blob attributes: This property can now be set in the K2BTools instance. For more information see the GeneXus documentation.

“Generic Filter String Search Template” property: This property can be used to customize how string attributes are compared with the value set by the user in the generic filter. This can be used, for example, to compare the values in a case insensitive way.

The default value for this property is: <attName> like "%" + &<varName> + "%". Using this value the search is performed in a case sensitive way.

To perform a case insensitive search, use this value: <attName>.ToLower() like "%" + &<varName>.ToLower() + "%"

Allow event subscription / Allow user comments in Entity Services settings: The values set here are used as the default value for the corresponding properties in the Transaction node.

SettingsPropertiesLocation
Location of properties in Entity Services settings

Other improvements

  • The pluralizer for Spanish was improved to work well in more cases, avoiding manual intervention by the developer to fix incorrect pluralizations. This is used for example to determine the WorkWith title depending on the transaction description.

  • Primary keys are included in grids regardless of the value of the “show in default forms” property.

  • The “Add Grid from DataProvider” action now supports data providers that return BCs and not SDTs.

Performance improvements

The reapply K2BTools actions were improved:

  1. They are multithreaded now to take advantage of CPUs with several cores.

  2. They execute in a separate process to improve memory handling and stability.

  3. The process was improved to avoid redundant actions.

The pattern application process was accelerated. This improvement affects performance in KBs with a greater history, where pattern generated objects have many revisions.

The performance of commiting changes to GXServer was improved, as web panels using Web Panel Designer are not updated in the server.

Improvements in PDF generation

PDF reports generation were improved in this version.

Default layout

We focused on making the default useful by changing the way fields and spacing is calculated. The idea is to show more fields on each line.

To accomplish that, the space allocation heuristic was changed. When space is not sufficient to fit all columns, the largest string columns are shortened, in small steps, until all columns fit or there are no more columns to shorten. This usually works as string fields often allocate space for the worst case.

Multiline support

Fields having a string data type (character, varchar, etc.) having a length of more than 80 characters have the “Multiline column” property.

Setting it to true makes the generated report to split the value of the field in multiple lines, if required.

Alignment

Alignment issues were also solved, such as the centering of the authorization error message, and the positioning of numeric values.

Improvements in Excel files generation

Excel exports in Web Panel Designer

Excel files are now supported in grids created using Web Panel Designer, not only in grids associated with work with or sub work with interfaces.

To generate an Excel export action in a grid in Web Panel designer, set the “Export (Spreadsheet)” property in the grid node to “True”.

ExcelExportInDesigner
Excel export in Designer

The export action will be generated as defined in the settings for the Entity Services pattern.

Note: Excel export actions are only supported in grids with base table and with for each commands inferred by K2BTools.

Layout objects for Excel exports

The developer can now reference an Export Layout object that must be used when generating the Export action. This layout object can be used to include standard code in the resulting files.

The most common use case for this feature is adding headers or footers to the file.

The layout object must adhere to a set of rules, that are explained in Export Layout.

Other features

  • The GAM Integration Module now supports the “Test Authentication Type” feature.

  • The GAM Integration Module can be used when using K2BTools Free Edition without affecting the number of Web Panel Designer instances allowed in this license.

  • SDDesigner now supports Order By nodes.

  • Grid Actions implemented with an image now as “Image_Action” as their default class.

  • The Designer Part now includes a compare interface to view changes among panels or versions of a panel.

Bugfixes

  • Invisible attributes took up space in the UI even when hidden.

  • Alignment issues were corrected. This affects attributes in free style grids and date attributes in grids. It also affects attributes with datepickers or prompts in the Extra Small screen size.

  • Accessibility issues were resolved, in the Theme object and in the generation of HTML code.

  • The K2BWizardSteps user control received a boolean parameter as a string, producing errors in runtime.

  • A “Not enough parameters” warning was shown when building the “InitializeEventTypes” procedure.

  • The notifications component was not refreshed properly in some cases.

  • The K2BTools.Utils.UI.dll file was included in the Packages directory when it should be included in the installation base directory. If installing manually, make sure that the version in the Packages folder is deleted.

  • An “Object reference is not set to an instance of an object” error was thrown when applying an Entity Services instance including a Sub Work With with a grid based on a Dynamic Layout and a Variables Definition node.

  • The preview option in Web Panel Designer was not refreshed when the panel definition changed.

  • The “Accordion Menu” and “Horizontal Menu” user controls, and the “My Account” component in the Master Page are now more robust, ignoring URLs that contain only whitespace. This affects the processing of images and classes.

  • Entity Manager: The responsive sizes property for component groups shown as Tabs was used in the generation, when it should be ignored.

  • If the record count of a grid was greater than 9999 it was not shown correctly, showing asterisks instead.

  • Columns of a WorkWith grid with Include in Export = True and Include in WorkWith = False were not shown in the export file when runtime column selection is enabled.

  • Grid actions in the Entity Services pattern with no image and an associated condition were generated as editable inputs.

  • The datepicker property was not working in grids.

  • The wizard's previous and next buttons were not positioned correctly.

  • When popovers were used in transactions, a shadow appeared onscreen when using the Insert, Update, or Delete modes of that transaction.

  • When generating actions outside of grids in Entity Services, if the action had security and a condition, an empty “Else” branch was generated.

  • Theme classes for web themes were imported when applying the SD Panel Designer.

  • When a WorkWith or SubWorkWith interface contains a “One Field” date range filter, and its default value is empty, the Report action did not work.

  • Context Help was not shown properly after executing actions that trigger the refresh event.

  • The “Change grid layout” action failed when the grid does not have a base transaction.

  • The design system configuration’s preview screen did not display the menu correctly in the “Flat” design system.

  • The design system configuration did not set the label position property for transaction attributes.

  • The “K2BFlatAndroid” theme was not imported to the KB when the SD Designer was applied for the first time.

  • The event handling for checkboxes was fixed to support all cases, following a change in GX behaviour. This affected several interfaces, most notably the “Add Permissions” interface in the GAM integration module.

  • Dates placed in an Entity Manager’s title were not formatted as configured.

  • The Add Grid From DataProvider action threw an “Object reference not set to an instance of an object” error when one of the DataProvider’s parameters was not based on an attribute or domain.

  • The Add Grid From DataProvider action in the SD Panel Designer was case sensitive when parsing the DataProvider’s parm rule.

  • An “Object reference not set to an instance of an object” was thrown when generating the selection summary for a grid with no image attributes.

  • Objects used in the “Insert in prompt” feature were not imported in the KB.

  • When a KB contains an Attribute and a Domain with the same name, code in the Report object was ambiguous, it was updated to make the reference explicit.

  • When using the Notifications and Collaboration module in Oracle, the table creation failed as “comment” is a reserved word in that DBMS.

  • The Notifications and Collaboration module now supports compound primary keys.

  • The logout button in the default master page was not defined correctly, its “Onclick event” was missing.

  • When using K2BFlatCompact, the Actions Visiblity = On Row Hover option did not work.

  • The column class property was set for variables not included in the grid, leading to specification errors.

  • When using the “Accordion Menu” user control, levels did not work properly when the menu structure changed.

  • When using popovers and navigating through screens, in some cases errors were shown in the Javascript console.

  • The color selected for images was lost after upgrading K2BTools version.

  • When installing the GAM Integration Module, the “Integrated Security Level” was not set to “Authorization”.

  • In grids created using Web Panel Designer, the Generic Filter Attributes did not contain Numeric Attributes by Default.

  • Some attributes that should not be translated were not marked as non-translatable.

Installation steps

Note: K2BTools 12.2 is compatible with GX16 U8. For previous versions of GeneXus use K2BTools 12.1.

  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 the version is lower than 12, upgrade the licenses as described in Upgrading K2BTools licenses
  4. Open GeneXus.
  5. To upgrade a Knowledge Base to K2BTools 12.2
    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
    4. 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.