CNX is pleased to announce that Valence Version 6.2 is now generally available for download. Released as a Beta at the COMMON Expo in Denver last month, production build 6.2.20230515.0 marks the (gasp!) 19th major version of Valence since the original unveiling of Valence 1.0 at RPG World in Las Vegas way back in 2008.
Historically, each new Valence release is jam-packed with multiple new features, and Valence 6.2 is no exception to the tradition! For Nitro App Builder (NAB), many new visual and functional improvements have been made to grids and forms, and a streamlined mechanism for laying out tab panels has been introduced. For data sources, the SQL parser has also been enhanced for additional flexibility with complex statements.
To better illustrate NAB's capabilities, a brand new set of example database files has been introduced in Valence 6.2, each file beginning with "VX" (VXPRODUCTS, VXCUSTS, VXSHIP_TOS, VXCOHDR, VXCODTL, etc.). These files holding ERP data for a fictional toy company are used for a new collection of sample NAB applications, including an "All Widgets" app that serves as a kitchen sink-type demonstration of all the various widgets and interactions available to NAB developers.
Outside of NAB, Valence 6.2 also includes multiple new RPG Toolkit procedures for interacting with web services, plus improvements to two factor authentication on login, expanded logging capacity, a new way to see what apps users are running in real time, and much more. Here's a breakdown by category of the primary new features added to Valence 6.2 (for a full list, including fixes, please visit the Valence Forum):
New Nitro App Builder (NAB) Features
- Tree grids now support column containers (aka, "Super Columns", as described here), addressing a forum post request.
- Column containers can now have their own tool tips, just like regular grid columns.
- Tree grid summary rows now support the same summary row functionality of regular grids, as described here.
- For grids with paging active, an app variable linked to the grid's "Refresh" method will now automatically return the user to page 1 when the app variable is set to "firstPage".
- Cell validation in edit grids has been improved so that when a field is in error it will no longer undo the entered changes when the user tabs or clicks elsewhere; User must now either fix the issue or hit ESC (per forum post)
- Added a new "slim view" UI option to allow for a more compact collection of fields, similar to "slim view" option already available on grids
- Introduced a new top-level "Number of columns" spanning property, providing greater control of items laid out in left-to-right fashion, including fieldsets
- Added new option for bold field labels
- Added new option for text/number fields to show a "clear" button that can be clicked to blank out the field value
- Added new "Non Editable Field Background" control so display-only field values can have a slight background tint for better contrast
- Improved the aesthetics on buttons placed next to form fields so that they now match the height of the accompanying fields
- Added optional regex edit-checking option for editable fields that are neither a text area nor linked to a combobox, checkbox or lookup
- Added option to ignore "Set Value" app variable linkages that would otherwise override the data source values on form fields
- NAB Designer now shows column/field description of underlying data source where available
- New Tab Container and Tab Panel utility widgets added for more flexibility in creating tab panels (be sure to tune into the upcoming May 24 Developer Diaries episode for a full demo)
- URL widgets now have a "cache buster" option to avoid showing cached pages on links (per forum post)
- URL widget addresses may now be set using app variable values in the "Link URL" behavior. Previously only data source field values could be pulled into the URL in this manner.
- Popup Windows can now be configured to show a window close icon, controlled via a new "Closable" checkbox on popup options
- Added new "section hide/show" behaviors that are executed whenever a section is hidden or shown
- Added two new actions for easier navigation control: "Show section" and its corollary "Show previous section"
- Adjusted Designer to show long column names (in lieu of system names) in the column selection panel whenever long column names exist
- Added support for TRY_CAST expression
- Added new global and environment-level member override option, applies whenever a data source references a multi-member file that has not been overridden to a specific member. Global default is *FIRST.
- Improved logic for detecting summary functions within fields, for better determining when and how edit grid widgets can be applied
- Improved logic for distinguishing when DISTINCT keyword is being applied at main statement level versus column level
Other NAB features...
- Improved manner in which app variable links are handled so a single app variable can be used on multiple linkages without causing any issues
- When setting filter field values via app variables, values are now applied even if the underlying widget containing the filter fields is hidden (per forum post)
- Added an optional timeout field that can be applied on the startup exit program call
- When saving an app for the first time in Designer, the save prompt now includes icon, icon color and tool tip. Previously you had to do this as a separate step in Portal Admin > Apps.
New General Valence Features
- For sites using two-factor authentication for login, an optional days interval option has been added to reduce the frequency users must reenter the 2FA code. Interval is set in Portal Admin > Settings > Login Method > "Authentication interval")
- App tool tips (descriptions) can now show for users when hovering over app tiles. Must be activated in Portal Admin > Settings > Portal Appearance > "Show tooltips on apps"
- In Portal Admin > Logs, post and response fields have been expanded to 32K each to mitigate truncation of text. Also any app variables in NAB calls are now auto-decoded from hex into human-readable form.
- Added app description and app ID to the global search scope in Portal Admin > Apps.
- In Active Sessions app, added a new column showing a comma-delimited list of apps currently in use for each session. App names (or a portion thereof) can also be specified in the search field, making it possible to effectively see a list of users currently running a specific app.
- RPG Toolkit - Added four new utility procedures to assist in web service calls:
- RPG Toolkit - vvOut_execSQLtoCSV and vvOut_execSQLtoSS now include a new “useBOM” parameter to indicate when a byte order mark should be encoded into the start of the file (principally for Japanese markets)
Be sure to watch for upcoming Valence Newsletter tips and Developer Diaries episodes that walk through how to put these new features to use!