In addition to a number of new features and enhancements, the most important change in 2.5 is a change we’ve made to the core component of the system which handles the identity of the data rows in the database. When upgrading an existing instance, the installer will automatically do all the necessary steps, but it is very important that you back up the Solution database before upgrading in case an error occurs (network, disk, etc).
UPGRADING to 2.5
When upgrading to 2.5 from an earlier version, the installer will automatically modify all necessary tables in the Solution database to align them with the new row identity management system.
Before upgrading, you should back up your Solution database in case an error occurs.
Note!
1) If you have manually changed a table to be memory optimized instead of being disk based and PBRowIdentity is part of the primary key, you need to manually change the data type of the PBRowIdentity column from int to bigint. This operation involves copying the data to a temporary table, dropping the memory optimized table, recreating the table with the exact same schema and name except that PBRowIdentity must be bigint instead of int, and then copying the data back in.
2) If you have created custom database views with SCHEMABINDING, and the views depends on the PBRowIdentity column, you must drop the views, run the upgrade and then recreate the views.
NEW Features
- We have upgraded our spreadsheet component (Handsontable) to version 1.13 – this enables more options for users when using column filters.
- Added support for copy / paste using the context menu between InVision-spreadsheets in the same Workbook.
- Deleting multiple selected rows in spreadsheets are now supported.
- Locking multiple selected rows in spreadsheets are now supported.
- ShowToastNotification(…) now supports a 3rd argument specifying whether the message is a success, warning or error notification.
Example ShowToastNotification("Some Caption","Some success message"); ShowToastNotification("Some Caption","Some success message", "success"); ShowToastNotification("Some Caption","Some error message", "error"); ShowToastNotification("Some Caption","Some warning message", "warning");
- You can now dynamically change the Popup captions in Workbooks using the PopupCommandProxy object returned from the Popup(…) function call in Workbook ExecuteExpression actions
Example Popup("myPopup").SetCaption(_selectedProduct.ProductName); Popup("myPopup").SetCaptionSuffix("mySuffix");
- Introduced new FormatDate(date, formatstring) Eaze function for formatting Dates as strings. Valid format strings are those supported by momentjs.
Example FormatDate(myDate, "LL"); // returns October 10, 2017
- Added support for manually setting the state of spreadsheets (Worksheet and Settings) to modified.To do this, you must call the SetDataModified() function in the Recalc action. This is helpful if you modify the spreadsheet data set outside the spreadsheet itself, but you still want the data to be saved when the spreadsheet is saved.
- Added support for setting a minimum height for Workbook pages.
- Added support for setting a minimum width and / or height for the Workbook Designer. This makes it easier to design workbooks when you’re working on small screens / poor resolutions.
- Added new built-in Data Flow Item Task to reseed and reset the System RowID (PBRowIdentity) for a single table or all tables in the database. The new tasks has been added to the Profitbase.Invision.SystemMaintenance task library namespace. You should normally not have to use this feature, unless your solution is handling a huge amount of data – trillions of records being reprocessed at regular intervals.
FIXED Issues
- The data type of the PBRowIdentity system column has been changed from int to bigint. The reason for this is that processing output tables will reach the 2.1 bn max value of the 32 bit integer data type too frequently, and resetting / reseeding the identity column of those tables are inconvenient maintenance tasks.
- Fixed issue with (re)starting Workflow Iterations after Workflow Control Objects was deleted.
- Fixed issue with DbApi when attempting to download very large files
- Fixed issue with rendering of drop down editors in spreadheet drop down columns when there was no drop down items in the list.
- Fixed issue with Cell Validation Rules that caused validation warnings to be displayed as errors.
- Fixed issue with word wrapping for Input Element headers
- Fixed an issue that caused new dimension members to get an incorrect Workflow State if they were added during an active Iteration and if the initial state configuration was specified in a Workflow Connection and not an Activity.
- Fixed issue with spreadsheet “Reverse Distribution” functions, causing the distributed values to be unavailable to the calculation engine until the next pass.
- Fixed copy – paste issue in spreadsheets for decimal numbers when using Norwegian language settings
Breaking Changes
Because numeral.js is no longer actively maintained, we have switched to numbro.js, so numeral.js is no longer included in the distribution. Numbro is a fork of numeral and supports the same numeric format strings and functions (+ more). If you have written any client side plugins or extensions depending on numeral, you need to update your code or include numeral.js as a plugin dependency.
Enjoy!
-The Cloud and Applications Team