The new K2BTools version introduces Extensibility Forms, allowing end users to customize forms at runtime without code changes. It adds an advanced datepicker with selectable date ranges, enhances toggle and combo controls for better usability, and improves Kanban views with customizable columns and tooltips. Intent-based navigation is now more flexible and integrated, and display page count in grids have been improved for a smoother user experience.
Status: Released
A new Extensibility Forms module has been added, enabling runtime customization of forms in both transactions and web panels. This feature allows end users to define, edit, and organize additional fields and form structures directly from the application interface, without requiring code changes or redeployment.
 |
| Form editor |
Key features include:
-
Developers can insert an Extensibility Form node into transactions or web panels, enabling dynamic display of user-defined fields. See How to: Add extensibility form to a transaction and How to: Add extensibility form to a web panel
-
Supports a variety of field types (character, numeric, date, combo) and structural nodes (group, card, horizontal group, freestyle) for flexible form layouts. See Supported Field Types and Structural Nodes
-
End users can manage forms through an intuitive interface, featuring a tree view for structure, property editing, and a live preview. See How to: Edit extensibility form definition
This module significantly enhances the adaptability of K2BTools applications, empowering both developers and end users to respond quickly to evolving business requirements.
See more information in Extensibility forms module.
The "Datepicker K2BTools" control type extends GeneXus' default datepicker control to add advanced features:
- Establishing a range of valid dates. This can be done setting the minimum and maximum date expression properties.
- Specifying which dates are selectable. This can be accomplished using the "Day status provider" property. This is typically used to show the user which dates are valid/available. See more details below.
 |
 |
| Datepicker configuration |
Datepicker control in runtime |
As you can see in the images above, the control does not allow to select dates in weekends, and in runtime those days are shown as disabled. Also, the minimum and maximum dates are set, and that affects how navigation buttons are shown.
See more in Datepicker control type.
-
The developer can now choose to display the control even when it's readonly, instead of showing the selected value's description. This is sometimes useful as it allows the end user to see the alternative options that are not currenty selected.
-
A new property called ForceNonEmptySelection is now available. If set to False, when the toggle control has no empty item, and the associated variable is empty, the control no longer assigns the first item by default.
-
This control type now supports using all the fields in the K2BT_ExtendedControlValues SDT, using a logic similar to Dynamic combo/list boxes.
-
New property: "Include Clear Search". Available only if "Include Search" is set to True. If set to True, a button will be included in the control, inside the search field, to reset the field's content and the associated filter.
-
When loading the control using a procedure or data provider, the SDT now includes a "Tooltip" property that may be used to add extra information to each option.
 |
| Datepicker configuration |
The developer can now specify a class that will be used to display each column in the view. This class can be used to change the appearance of the column in runtime using CSS. This option is available when loading the view from a data provider.
Items can contain extra information, shown below the card's main information (the item's description, trailing tet, detail, and image). To add extra information the kanban board must be loaded using a data provider.
 |
| Kanban extra information |
The tooltip property is now supported in the Kanban View.
- Intent-based navigation now includes a K2BMenu object for backend integration, enhancing navigation capabilities and backend support.
- Intent-based navigation now allows passing RowsPerPage as a parameter when invoking an intent, providing greater control over pagination.
- WWIntentResolver usability has been improved: generic filters are now used as parameters, selective indexing is available, reindexing uses optimized APIs, procedure names have been clarified, UI details have been enhanced, and feedback messages are provided for actions such as confirm and delete.
- Intent-based navigation now supports invoking objects with a specified order, enabling scenarios such as viewing invoices ordered by total when the order is available.
- Intent-based navigation is now integrated into the WebPanelDesigner, including the implementation of an Intent Resolver object.
- Intent-based navigation generation can now be triggered from MSBuild, streamlining automation and integration in development workflows.
- The UI for WWParametersRealm has been improved: the grid now refreshes correctly when known values are added or removed, and feedback messages are displayed for parameter updates.
- The GEAI response parser in intent-based navigation has been enhanced to support JSON responses with prefixes and suffixes, ensuring robust handling of varied response formats.
- Intent-based navigation now supports Entity Managers with parameters different from the primary key, correctly inferring parameters from the EM instance.
- K2BT_IntentResolverConstantName is now a varchar(200) and no longer based on an enumerated domain, allowing greater flexibility for custom values.
- LoadIntentBasedNavigationMetadata now correctly distinguishes between parameters of subworkwiths and entity managers, ensuring accurate parameter association.
- Intent-based navigation's Parameter Realm now stops at the appropriate subtype when a table is defined, ensuring accurate realm calculation in specialized attribute hierarchies.
- RepositoryConfiguration now matches the GAM backend with K2BTools, including support for additional timeout properties, ensuring feature parity with GeneXus GX18U13.
- The GAM integration module now includes all required scopes for remote authentication and GAM Remote types, ensuring comprehensive support for new GAM features.
- The GAM Integration Module installation process now correctly imports K2BGetUserMenu, ensuring that the user menu is included and available after module installation.
- The display page count feature is available for all types of grids. Depending on how the grid is loaded, the page count can either be calculated automatically by K2BTools or implemented manually by the developer using a user subroutine. For more information read Display Page Count property in grids
- Basic Layouts: Layout validation now correctly handles warnings for non-existent controls, ensuring that messages are generated with the appropriate number of parameters and improving the robustness of layout validation.
- CSS: Actions with Row Selection Single and conditions now display correctly in the pattern, ensuring that single actions are shown as expected.
- CSS: Actions with icon sets (Button, IconSet) now correctly display as disabled in DSO Orion and Flat, with updated CSS rules and UI tests to ensure proper appearance.
- CSS: Actions with position right inside attributes are now correctly aligned, ensuring that action regions occupy appropriate space.
- CSS: Alignment issues with Description Left in Aries when multiple elements are in the same cell have been resolved, ensuring proper vertical alignment and field display.
- CSS: Checkall checkboxes are now correctly aligned in the Orion Design System, ensuring consistent appearance across UI tests.
- CSS: Filters with type = 'Multiple' in the same cell are now vertically aligned, ensuring consistent and visually appealing layouts.
- CSS: Grid actions with iconset icons now display tooltips with the standard format, ensuring consistent user guidance.
- CSS: Image actions with icon sets now display at the correct size and color in Flat and Orion themes, ensuring visual consistency.
- CSS: In Aries Master Page 3, the menu no longer appears open by default on mobile devices, ensuring correct initial state.
- CSS: Infinite scrolling now displays the 'Loading' text with appropriate background and opacity, ensuring visibility across all themes.
- CSS: The .Column_YellowWithBackground class definition has been corrected, ensuring proper styling without unnecessary line breaks.
- CSS: The DeleteAll action is now correctly aligned with the checkall checkbox, ensuring consistent layout in sample applications.
- CSS: The K2BModern theme now displays confirmation dialogs correctly, ensuring proper alignment and visual consistency.
- CSS: The appearance of collapsible advanced filter titles is now consistent between collapsed and expanded states, including font types and sizes.
- CSS: When freeze column titles is enabled, menu 4 now displays correctly above grid titles, ensuring proper z-index stacking.
- Calendar view: The work week view now correctly displays up to Friday, providing a complete and accurate representation of the work week.
- Calendar view: The control now supports loading elements with end times beyond midnight in day or week views, accommodating scenarios that span multiple days.
- Collaboration and Notifications Module: Collaboration module compatibility with Oracle has been improved, ensuring correct handling of unique indexes and empty values.
- Collaboration and Notifications Module: The collaboration module now correctly manages SMTP username/password fields when authentication is disabled, ensuring proper configuration.
- Collaboration and Notifications Module: The subscription table in the notifications module now avoids unique index issues in Oracle, ensuring compatibility across DBMSs.
- Control Types: Dynamic combo box filters with categories now work correctly with FixFilterValues, ensuring that filter values are preserved and filters operate as expected.
- Control Types: Enable and Visible properties now function correctly for extended control types in collections within designer-generated web panels.
- Control Types: K2BT_CalendarPeriodFutureDateTimeRangeProvider now correctly calculates current and next week ranges, ensuring accurate date values.
- Control Types: SDT variables with dynamic combobox control type and datasource from attributes now handle dataprovider associations correctly, preventing object reference errors.
- Control Types: Simple control types with .visible set to false now correctly hide actions in the same cell, ensuring proper control visibility.
- Control Types: The Enabled property now works correctly in all cases for the stepper control, with proper type handling for boolean values.
- Control Types: The visible resolver for the 'Data source parameters' property in control info is now implemented, displaying the property only when applicable.
- Controls: Resizing windows with K2BGridExtensions no longer causes 'Cannot read property of undefined (reading 'children')' errors, improving stability in multi-level transactions.
- Design System Configuration: The design system configuration and template selector now load reliably, even on first use in a newly opened KB, preventing UI hangs.
- Design System Configuration: The wizard now correctly applies changes to the Include Search property, ensuring that search functionality is enabled or disabled as configured.
- Excel exports: The issue with the Excel report template property has been resolved. Now, the template is correctly set before opening the Excel file, ensuring that the template is applied as expected when generating Excel reports.
- General: Error messages in the event viewer related to missing 'Artech.Architecture' or 'Artech.Packages' namespaces have been addressed, ensuring correct assembly references and build stability.
- General: File objects for K2BTools no longer have naming warnings, ensuring compliance with naming standards and improved KB execution.
- General: K2BToolsCommon.js now uses a unique object name to avoid conflicts with the GeneXus K2BTools object, preventing function overwrites and ensuring correct behavior.
- General: Model handling was improved in multi-version KBs, ensuring accurate model retrieval and improved version management.
- General: Performance issues when K2BAudit is installed alongside K2B ERP have been resolved, resulting in significantly improved instance application times.
- General: The Predefined options metadata folder is now included when installing K2BTools Web without SD, ensuring all necessary metadata is available.
- Grids: A defensive check has been added for empty conditionattributes in the generic filter node, preventing object reference errors and improving validation order.
- Grids: Action groups and overflow menus with icons using icon classes now function correctly, following recent HTML changes in the grid.
- Grids: Filter summaries for collection filters based on numeric enumerated domains now display the correct descriptions instead of numeric values.
- Grids: Generic filters now hide conditions and attributes properties when the grid is based on an SDT or dataprovider, maintaining a clean and relevant UI.
- Grids: Grids with a single available order and active grid extensions no longer display unnecessary or incorrect order indicators, ensuring accurate UI feedback.
- Grids: Paging controls in UI HTML or interfaces not using the paging bar are now correctly generated as images instead of buttons, improving consistency and visual accuracy in the generated UI.
- Grids: Row detail component click behavior has been improved: clicking on a previously closed row now correctly opens the row detail, ensuring consistent interaction.
- Grids: Row detail is now maintained after a grid.refresh, ensuring that expanded rows remain open in scenarios where this behavior is desired.
- Grids: Row detail now functions correctly when the user changes pages with the row detail open, preventing DOM detachment issues.
- Inline edit mode: Inline editing now validates that all attributes referenced in after messages are present in the grid, preventing specification errors and providing clear warnings when necessary.
- Intent based navigation: The '!' character is no longer incorrectly added to Parameter.description in Load Intent resolver filters, ensuring clean and accurate parameter descriptions.
- Intent based navigation: Thumbs up and thumbs down icons in intent-based navigation now adapt to the Design System colors, ensuring visual consistency across themes.
- Kanban: Kanban view in WPD now always generates the ExecutedAction variable, ensuring consistent action handling regardless of how actions are defined.
- Kanban: Kanban views under CollectionView with compound order now save correctly without object reference errors, ensuring reliable operation.
- Kanban: Object reference errors related to Kanban View properties have been resolved, improving stability and reliability.
- Menu: Horizontal menu null pointer errors have been resolved, improving stability in K2BHealth and similar applications.
- Menu: The horizontal menu now updates the selected item correctly, ensuring that the active class is applied to the last clicked item for improved CSS handling.
- Menu: The mega menu now correctly handles clicks on sublevels when 'Open First Level On Click' is enabled. Submenus remain open or closed as expected, ensuring consistent and intuitive navigation behavior across all menu levels.
- Notifications and collaboration: Message order in collaboration module thread views is now specified explicitly, ensuring consistent ordering across different DBMSs, including Oracle.
- Patterns: Business Analysis View now supports context variables that are collections, ensuring correct handling of conditions involving collection types.
- Patterns: Components within tab groups are now considered as next components when after trn = entity manager, ensuring accurate component availability.
- Patterns: Entity Services now correctly generate context variables based on SDTs not in the root module, ensuring proper transaction generation.
- Patterns: Event Key for standard actions is now set correctly, ensuring that assigned keys function as intended.
- Patterns: K2BTrnForm and K2BPrompt now reference existing resolvers correctly, preventing errors related to missing ControlNameValidResolver.
- Patterns: K2BTrnForm attributes with dynamic combo box and EnableAddItem set to true now validate the Add Item Component property, preventing object reference errors.
- Patterns: Prompts created with the 'Prompt in item' node now use qualified names in the generated code, ensuring correct referencing and code generation.
- Patterns: The UI for selecting a report layout now appears correctly in a new KB, ensuring a smooth setup experience.
- Patterns: The default 'based on' criteria for variables with the _Filter suffix has been unified, ensuring consistent behavior and eliminating null property issues.
- Patterns: Transactions with commented events (e.g., //start) are now correctly detected, preventing src0054 errors during pattern application.
- Patterns: When using Session Stack, the return operation in EM now correctly utilizes the stack for navigation, ensuring expected browser history behavior.
- Patterns:The GAMHasAuthorizationResolver reference has been corrected in the K2BEntityServices pattern settings, preventing missing assembly errors on GeneXus startup.
- Security: K2BLoadActivityList now correctly adds the EntityName field associated with user activities, and only includes activities with HasSecurity set to true, ensuring accurate activity tracking and improved security handling.
- Web Panel Designer: Action conditions can now be completely removed using the property editor, improving usability and flexibility in action configuration.
- Web Panel Designer: Collection View with non-visible filters now saves correctly without object reference errors, ensuring stability in calendar and other views.
- Web Panel Designer: Custom events with function keys in WPD are now preserved after applying the pattern, ensuring that assigned function keys are not removed.
- Web Panel Designer: In WPD, grids with a base table, display page count set to false, and save grid state enabled now correctly synchronize the current page between the grid and pagination.
- Web Panel Designer: Properties that are not applicable when Grid Type is set to Manual (defined by developer) are now hidden, improving property relevance and UI clarity.
- Web Panel Designer: SDT fields in freestyle grids now correctly hide when .visible is set to false, ensuring that hidden fields do not occupy space.
- Web Panel Designer: Text actions in grids within the WebPanelDesigner now support conditions, resolving previous errors with the Disable Type property.
- Web panel Designer: Applying K2BTools in the Web Panel Designer with IsValid no longer causes unnecessary changes to be detected by Genexus Server, streamlining version control.
- Web panel Designer: Collection view now correctly manages the search event when Automatic Refresh is set to No, ensuring that the event is only generated by the appropriate node.
- Web panel Designer: Conditional visibility of actions in WPD now correctly hides the entire group if any action in the group is hidden, ensuring consistent group behavior.
- Web panel Designer: Image actions in overflow menus with Disable Type set to Hide are now correctly hidden and cannot be clicked, ensuring proper action visibility and behavior.
- Web panel Designer: The Change grid layout command now processes U_GridRefresh correctly, ensuring that grid refresh content is preserved and subroutines are properly defined.
- Web panel Designer: The Include Aggregation property now updates its visibility immediately based on the Load From Attribute property, ensuring a responsive and intuitive configuration experience. Also, the value is now ignored when the property is not visible.
- Web panel Designer: User events with function keys in WPD are now preserved when applying the designer, ensuring that custom events remain intact and are not removed by the designer.
|