Desktop can now gracefully handle scenarios where the trashcan contains literally hundreds of thousands of deleted records.
The Desktop Client will build the update locally and save changes to database without locking the user interface. Updates will indicate progress and may be explicitly aborted.
Any batch containing more than a server specified default value of records will automatically split into sub-batches that are executed sequentially. This will avoid problems with timeouts and clients effectively blocking the backend during lengthy operations.
Any datablock returned by server may be truncated at around 64Mb of UTF-8 encoded XML. The Desktop Client will now detect and gracefully handle this also for legacy backend versions. Recovered data will be loaded immediately and remaining data will be block-loaded to avoid further truncation.
This is not really a new feature, but numerous issues effectively disabled updates in many scenarios… One exciting feature is that the parent record will also refresh unless modified locally. Refined handling of active inspector, explorer and controls. Desktop will now automatically guard legacy code in VBA and LBS against misuse of ActiveInspector, ActiveExplorer and ActiveControls. For the most part there should simply be less situations where the code ends up with Nothing/null or unexpected content.
Desktop now includes a very general polyfill that essentially should enable policy exceptions for mixed content via any legacy JavaScript API, ie. $.ajax and XmlHttpRequest.
The ActionPad will now reload automatically only after operations that update visual content of the controls or modified state.
Desktop now includes a client-side cache for descriptive information. This will reduce number of server requests where only an single field of a single object is loaded, effectively reducing number of request when creating a new record by 50%.
Desktop will now evaluate client-side defaults without implicit dependencies for backend generation of permanent ID. Permanent backend ID will be generated when needed. Essentially this will resolve multiple issues where solutions depended on bugs in client-side handling of dates to force backend evaluation which implicitly resulted in permanent ID.
Error messages for updates now includes details on how to resolve common configuration errors, especially related to “SQL on update” and “Update on relation change”.
The query builder will now build filters that run faster in the SQL-server, mostly by avoiding extensive usage of nested queries.
Desktop now includes an elaborate workaround for situations where VBA has been uninstalled. Essentially desktop will detect that VBA is missing even before login and silently reinstall VBA in the background before the user even notice. This silent repair runs via our system-level service for automatic upgrades and is faster and more robust than previous repaired based on our full installer.
Desktop is based on three major configuration sources: LISA, VBA and ActionPads. Most details are hidden in the backend and only accessible via custom tooling, until now. Desktop will now automatically export details to a local folder structure in Windows-user’s profile. This initially targets these major scenarios: