What's New: Server and Database - A Faster Runtime (2023 release wave 2)
Server and database changes in Business Central 2023 release wave 2: ErrorInfo add action tooltip and permission checks, a SecretText type, security groups in effective permissions, queries as run objects with a data analysis UI, exclusive time telemetry, and faster session creation and tenant startup.
- Error Info, Secret Text, and Permissions Improvements
- Queries and Run Object Support
- Telemetry and Exclusive Time Tracking
- Session Creation and Tenant Startup Performance
- Best Practices and Recommendations
- Related Sessions and Resources
Overview
This 10-minute What’s New session covers runtime-focused changes on the server and database side. It begins with error handling, secret text and permissions, then covers queries, telemetry, and performance.
Queries get a new UI for data analysis and can be used as run objects, for example opened from page actions or placed in the reporting section. Partner telemetry separates total time from exclusive time for AL calls. Session creation is 2 to 4 ms faster because the companies a user can access are cached, and tenant startup is faster through optimized event subscriber hooking.
Key points
- The ErrorInfo AddAction method accepts a tooltip as its fourth parameter, so users can get more information about an action from the error dialogue.
- AddAction now checks if you try to call an on-premises function. In that case the action is not shown because the user does not have permission to interact with it. The presenters recommend that you stop using the old error method that takes plain parameters and move to ErrorInfo.
- A new SecretText type handles passwords and other sensitive data. Use it where data must never appear in memory dumps or be debuggable. The What’s New in AL session covers it in more detail.
- The effective permissions page now includes permissions gained through security group membership.
- Queries have a new data analysis UI and can be used as run objects, opened from page actions or placed in the reporting section. More query capabilities are expected later.
- Exclusive time telemetry is total time minus suspended time from other threads or sessions. It is available as exclusive time and as exclusive time in milliseconds. The Telemetry app shows both total and exclusive time.
- Caching the companies a user can access makes session creation 2 to 4 ms faster. For small, fast web services this is a 20-25 percent throughput gain.
Features
| Feature | Status | At |
|---|---|---|
| Error Info Add Action Method with Tooltip Support | status not stated, demoed | 0:38 |
| Error Info Permission Checking | status not stated | 0:58 |
| Secret Text Data Type | status not stated | 1:45 |
| Permissions Work with Security Groups | status not stated | 1:45 |
| Query UI and Data Analysis | status not stated, demoed | 2:17 |
| Exclusive Time Telemetry | status not stated, demoed | 2:58 |
| Session Creation Performance Improvement | status not stated | 4:27 |
| Tenant Startup Performance | status not stated | 5:42 |
AL objects mentioned
As heard in the captions. A name that matches one object page by exact type and name links to it; the others stay as named.
- other “error info data type” at 0:38
- other “add action method” at 0:58
- other “secret text type” at 1:45
- page “effective permissions page” at 2:05
- other “queries” at 2:17
Not found in BC28-30: page “effective permissions page”.
Quotes
- 2:38 “after 10 years queries suddenly get their time in the Limelight”
- 4:27 “for at least one of our customers out there they will save 5 hours every day for the busiest customers”
- 5:08 “2 to 4 milliseconds of course is nothing for a ui session but for web services”
- 5:42 “the mounting of a tenant is now significantly faster because the way we hook up event subscribers has been optimized significantly”
- 6:03 “for very busy notes with a lot of tenants it means up to a thousand times faster”
- 6:23 “you should stop using the old error method the one that just has normal parameters the”
- 7:23 “if you have code where it is really imperative that this information is never in memory dumps or can be debugged”
Presenters (as heard): Yens, Goos.
