Version 6.5

Released on November 5, 2018

Major

  • Created a new, lighter version of the SpreadsheetWeb system for trial users to get a quickstart.
  • Added a feature to allow for logical deletion of secondary tables (de-activation).
  • Added a tour to the User Interface Designer component to help show new users around the component. This tour can be re-run using the Run Tour button in the properties menu in the user interface designer component.
  • Added client-side validation to every properties of each control type during control configuration.
  • Simplified the designer application import, which can now be completed by simply uploading the DES file during application creation (rather than creating the application first with a dummy Excel model first).
  • Mobile support added for dashboards.
  • Support extended for multi-table filtering, clearing all filters, and optimization for the data provider.
  • Fallback mechanism added for when auto-column creation on the data page fails. Users can now reset columns.
  • Relayout button feature implemented.
  • Added a feature to the Control Panel server status administration page to (1) zip up the downloaded log files rather than combining them into a single file and (2) to narrow the log files down by their relevant dates.
  • Major refactor of control-related properties server-side, as well as pre-publish validation. The most notable effect is the clearer validation messages that appear when properties for a control are invalid during publish or preview.
  • Added a flag to custom user fields (is editable by end user). This flag will determine whether a user can modify the value of this custom field on their own from their own My Account page (or whether they can just see it but not edit it). There is also an override security role (default attributed to Admin users) that can be configured for custom user roles to allow those users to override this base behavior.
  • Auto-generated controls will be populated based on their position within the respective workbook (left-to-right, top-to-bottom).
  • Automated detection of list columns for input grids, if metadata supports it.
  • Added Required support and Validation Trigger Type support f or Radio Buttons and Dropdowns.
  • The export functionality on the analytics page will now export all of the filtered content on the server-side, rather than only the currently viewed content on the client-side grid.
  • Text visualizations added to dashboards.
  • Added a new property to list-bound controls (dropdowns, radio buttons, and input grid list-type columns) called "Show Formatted List Options". This feature will display the formatted value for each option when the user pops up the dropdown/radio button, but will set the underlying value (unformatted) for calculation purposes.
  • Export to CSV feature added for dashboard visualizations.
  • Separated the concept of a list/dropdown column in a grid column from the type of the column. Columns can now have a distinct type and still be lists.
  • Determination at the named range level of whether the content of the named range is static or dynamic (i.e. whether it contains any formulas within the cells). This metadata is then subsequently used to optimize the behavior of list bound controls (i.e. static lists are not refreshed at every calculation, since the possible values do not change). This optimizes both client-side and server-side performance when utilizing these types of controls (e.g. dropdowns, radios, input grids with list type columns). This can be overridden with the Is Static control property.
  • Client and server side validation for label content controls, particularly unclosed stubs.
  • Lock and pin features for filters in dashboards.
  • Added a new structure/view for radio button controls. These can now be displayed as Icon. The existing "Display as List Box" feature was consolidated into a single "Display Type" option, with Standard, Icon, and List Box appearing as distinct options.
  • Implementation of the Gauge control for the Designer.
  • Added a new structure/view for slider controls. These can now be displayed with background and with buttons (i.e. spinner).
  • Optimized copy and paste image content into label/content controls to extract those images and use a file-based reference location for them, rather than streaming all image content on requests. Images are now stored on the file system and catalogued in the metadata.
  • Navigation has now been reworked into the newer event-based model. Added a navigation event to a button using the same methodology and Calculate/Save and any processes. Additionally, click on the Navigation tag from the button properties to select from the following options: Go To Page (as before), Back and Next. Back will go to the closest previous non-disabled page. Next will go to the closest next non-disabled page. For those navigational options, the order of the pages will be utilized.
  • Added the ability to hide or show a row in an input or output grid by the value of a Boolean column.
  • Default a control's LabelSize to 12 (full width) when dropping the control into a 3 or 4 container width section. This will help users create less-cluttered user interfaces.
  • Weighted aritmetic mean updates for dashboard visualizations.

Minor

  • Application gallery mode image storage optimization.
  • Split all of Development Menu operations that used to be covered by Fill Database into separate buttons for performance and targeted operations.
  • Added pre-publish validation for input and output grids with visibility set to ByValueOf to ensure that they have been bound appropriately to a Boolean named range.
  • Optimized the loading, pagination, and searching of the applications page in the Control Panel.
  • For usability/clarity, prevent the submission of grid creation when columns have not yet been confirmed.
  • Fixing an issue where the processes grid would fail to render if one of the processes underlying applications was deleted.
  • Fixed an issue where print documents were losing their enabled by value binding during application import process.
  • Fixed an issue with input grid's column required by dropdown visibility (showing when it was not intended to).
  • For usability/clarity, validate and submit a grid's primary properties when the user attempts to navigate into editing a single column's properties.
  • Fixed grouped visualization query generation.
  • Added the option to Select All/Select None when creating bindings within the Processes map to database table screen.
  • Updated radio button's 'display as list box' feature to a checkbox, rather than dropdown.
  • Added scope and worksheet information to named range metadata at a higher level. This will allow the system to accurately detect all relevant worksheets, irrespective of the type of named ranges on them. Specifically, this is used in the Populate feature of the User Interface Designer.
  • Fixed the lack of user image in home context menu.
  • Slight optimization for application import - triggering garbage collection explicitly after import lessen load on memory.
  • For designer applications transaction summary/history screen, added the time to the publish date/start date columns.
  • Fixed an issue where the start date for a transaction was always set to the creation date of the application.
  • Fixed recursive documents causing exceptions when bound to a range that is also tied to a form-based variable length input grid.
  • Not allowing more than one OtM table selection for a visualization and allow non-numeric fields to be selected with Count and UniqueCount expressions.
  • Changed the Fullscreen button in the Content control editor to a CLOSE button to make it clearer.
  • Fixed a bug where content controls containing only static content were not having their dependent visibility refreshed.
  • Updated output grids to also use Has Header flag appropriately (as with input grids) when determining whether or not to use the name from the first row.
  • The Actions section is now hidden when the user clicks Regenerate Columns but has not yet committed the change (i.e. confirmed).
  • During user interface auto-generation (Populate), some dropdowns were not being detected as such, due to them sharing their Data Validation with a set of other consecutive inputs. This is resolved using a more advanced evaluation than previously implemented.
  • Fixed an issue where converted applications were not displaying hyperlink text information appropriately.
  • Centered the tooltips better for radio button controls.
  • Centered the tooltips better for checkbox controls.
  • Added MaxLength data annotation for string and file columns. This will translate into the column creation process.
  • For existing database columns on new publish scenarios, users that have potentially entered in greater amounts of data than allowed by the preset maximum length will likely have to update the size of their respective columns in order to publish again."
  • When secondary table insertion fails, the system will bubble that error up. If the record is new and fails on secondary table insertion, delete the UPDATE record when it fails. If the record is existing, then delete the new revision and roll back to the prior active version.
  • Fixed a server error that occurred when creating new custom action without uploading a file.
  • Minor fix for importing CSV files that contain datetime values ending with +00.
  • Created a visual distinction between one-to-one and one-to-many tables on the Databases page.
  • Removed the ability to manually activate/de-activate secondary one-to-many table columns on the Edit page. These are meant to be regenerated.
  • Removed an old internal testing tool (Go To Datastore) button from the designer module.
  • Removing cache control headers. This resolves an icon and font caching issue when using Internet Explorer.
  • Only overwrite Has Header for input and output grids immediately after selecting the target table named range (rather than also resetting it each time the user regenerates columns).
  • Removed the ability for non-SystemAdmin users to see edit button for secondary one-to-many table columns.
  • Added default data row limit per visualization configuration setting.
  • Appropriately generating and setting the precision of decimal fields in generated databases.
  • Fixed the list of static values available (i.e. target users) when adding a new email process.
  • Added missing validation for a series of events/processes. Without these validation rules, the following processes or subprocesses would often being unbound from their relationships (e.g. enabled by value of) during workbook updates with named range changes: (1) print processes, (2) print process documents, (3) excel export processes, (4) email processes.
  • No longer showing empty values in the Default Value selection for Dropdown controls.
  • Added explanation for the Verify Password field throughout the system.
  • When application creation fails due to database constraints or errors, bubble those errors up to the user interface and indicate such to the end user.
  • Now displaying a tooltip over the bound named range selection in the edit control properties screen. The tooltip is able to show the full named range information, since it often cannot display totally in the dropdown control.
  • Removed all references to the old dashboard module.
  • Solved an issue wherein resizing the analytics page causes reordering of the date in the analytics chart.
  • Updated different default values on the edit columns screen when selecting from input vs. from scratch.
  • Updated date-time parsing library when handling OA numeric date parsing.
  • Resolved an issue where date columns in secondary table columns were not being saved appropriately.