NT Highlights for February 2024

We are introducing new libs concept where all our internal libs and components like Grid, Data Object and similar are being moved from site setup to Appdesignerwith lib type.

New libs concept

We are introducing new libs concept where all our internal libs and components like Grid, Data Object and similar are being moved from site setup to Appdesigner with lib type. 

In this way all lib files are bundled into one thus reducing file count download by the browser. (~900 before reduced to ~100).

This means that eventually system Site Setup items will not be maintained and eventually removed, so please start upgrading your apps if you see that some things are missing. 

Upgrade process is quite straight forward and documented under snippets, bellow simplified upgrade steps, steps defined under snippets as well:

  1. Change template to o365.libraries;
  2. Main.js file change createApp and CoreComponenets imports: import { createApp, CoreComponents } from 'o365-vue';
  3. Imported local app files should be changed from "App.vue" to "./App.vue";
  4. No need to import of getDataObjectById, now it will be resolved automatically by using $getDataObjectById("dsObject");
  5. CoreComponents are not changed, same things as before, other lib imports can be found under CDN Libs button or new tab should appear near snippets "Library code search", where you can browse all available libs, check imports and see d.ts file generated documentation;
  6. Soon new apps will use new concept;


DB Manager

NT version functionality should cover CT version. Table designer, version compare added.

Will load database objects directly from SQL definition instead of versions.

Will show red triangle if definition is missing. (Usually happens after restore, when some local development is gone, but there is still entry in stbl_database_objects table).

Autocomplete and Intel sense will come later, need some R&D to improve current version.

Jobs, scheduler

All CT jobs are being moved to new version and should cover CT version.

Logs are not stored in database, but insights instead. (downside they are not available instantly).

Queue jobs in place.

Authentication

ApiToken support on NT (uses same tokens as CT).

SMS Authentication added.

JWT token support in both CT and NT.

Pilot for non DB users support. Database user is not need. Still many things to do, but it's commting.

Excel export and import/update templates

Excel export: Logo has been reintroduced.

Excel import/update templates, added progress, additional grid setting exportDataBatch. (Currently does not work with views having instead of triggers, should be fixed to use MERGE next month).

Upload from excel button can be used separately (Check snippets).

Fixed dates parsing when importing. Imported dates are always treated as user time zone. Should parse string formatted dates correctly according to given format.

Update and Import templates structure aligned.

Unique and required fields will be auto added (Lookup id's for example if marked as required).

Import and update templates filenames will have import or update prefixes.

String type fields will have text format in excel to support such expressions as: 004. 

Option to add additional values when uploading excel (Check snippets).

Data Object && Data Grid

Properties concepts copy/paste bugs fixed. Improved date parsing. Additional options added to limit showed properties.

UniqueField concept expanded to be replaced by PrimKey, properties, bulk update, import/update templates.

Data streaming for views and procedures, some loading indicators can be implemented (check Snippets).

Org Units Access Descendants

New table was added to improve overall performance when retrieving data, it's a denormalized table for org units hierarchy, allowing to do [ID] = instead of [IdPath] Like operation.

Support for custom SQL using Expand View and stored procedures

Data object can be set to use ExpandView which will extract contents of aviw and apply permissions checks from atbv and run it directly.

Optionally definition procedure can be provided to have custom SQL on how data is retrieved. Combining this with Descendant org units should greatly improve performance of our queries.

dsScopeWorkflows.recordSource.expandView = true;

Check scope-workflows app for more details.


Filtering

Number field filters will have additional lookup to select field to be compared to.

Distinct filter will be enabled for Titles fields as well. Only Description named field will not have it.

Data Grid

Grids now have support for showing 'No rows found...' message when no data is present in the grid. Enabled by noRowsFound prop.

DataGrid will log a warning to the console when the OColumn field is not found in the dataobject

Support for rounding values of fields for retrieves with data/api by adding { round: int_precision } to field. Can also be combined with aggregate to perform ex. SUM(ROUND(field, 0)). Added 'summaryRound' prop for rounding values before aggregating them in grids. Value is the precision that should be rounded to.

ODataTable aligned with ODataGrid. ODataTable will use paged data concept.

Pasting many rows into batch records loading added, fixed how dates are handled.

NT DataGrid can now have user set summary aggregates. Enabled by passing 'userSummaryAggregates' prop to the ODataGrid component. When enabled a new panel will appear below the column chooser with a list of all of the available columns and their active aggregates

Custom number formats

Custom number format options has been added, # indicates not to show zeros at the end, also compatible with excel formats, ex: 00.00##.

Other

Offline app published to testflight;

Deep linking and push notification on mobile apps.

System health checks added check for latest dlls and possibility to get specific check.

Appdesigner will highlight and add suggestion for native fetch function will and will show suggestion to use API.request.

File Upload will auto rotate images.

Clear storage for an app button added under user picture in Nav Bar.

Expiration date was added in local storage helper.

Fixes to NT Appservice working  in Standalone mode, without CT and proxy.

Omega 365 Build Pusher - updated to support NET8 assemblies, added health checks, documentation https://github.com/Omega365/Omega365/wiki/Build-Pusher.

O365 WinApps upgraded to NET 8.

Additional config for O365 apps redirectToPath added, used to phase out deprecated apps.