Microsoft Dynamics 365: 2022 Release Wave 1 plan (Business Central)

The “2022 Release Wave 1” plans are already out there for quite a while – Erik Hougaard already did his video about it – and there are already blogs out there about it – so it’s about time that I do that as well (as I have been doing that for the previous major releases as well ;-)).

As always, I’ll be focusing on the Business Central part of the plans – and even more – usually I mainly focus only on the technical part, because I simply suck in the application part – and I say that with great pride 🤪.

Microsoft Docs

This means I won’t just copy/paste everything here – just the main pieces, the titles, and my thoughts.  All details can be found on Microsoft Docs of course.  Here are some direct links to the full content:

As said – all links I could find are here in the post as well – including some from twitter ;-).  This time, I’m going to create two sections: my favorites, and the rest .. .

My absolute favorites …

In-client performance profiler
Of course this is one of my favourites .. duh :-).  I’m in love with the VSCode-version of the AL Profiler.  And now, we’ll get the (same?) beauty in the web client! 

Jesper Schulz-Wedde showed a teaser here:

But guess what – it’s already available in the daily build from Microsoft, so let me share my own screenshot (some might recognize the performance problem I’m analysing here… 😉).  It’s not like you can go into code, but you see the call stack, duration and hit count (samples).  That’s all we need to put the finger on the wound in many cases!  Love it!

It seems I have some problems in my TableExtension 🤪.

Permission set handling enhancements
Microsoft is building further on the permissionset and Permissionsetextension objects that was released last year.  You’ll get more tools to finetune the actual permissions for users. 

One thing I’m really looking forward to is the “substract” permissions, which – how I understand it today – at least lets me use pre-defined permissionsets, excluding a few of its permissions.  “Excluding” we one of the reasons why we would copy and create our own (but lose the upgrade-changes that way).  So .. Big thumbs up!

Performance – partners can get database insights through virtual tables and in-client pages
You might know “Dynamic Management Views”(just google “sql server dmv” if you don’t know what I mean) – and the fact we are not able to get to them on a SaaS environment – well, Microsoft will make them available as virtual tables, so that the data can be accessed from AL Code! Microsoft will also add pages on top of these tables to get the data without having to write code.

Missing indexes, here I come (I hope 😉 – I wasn’t able to find anything in the current daily build though.. )! 👍

Use Excel to design layouts for reports
Pretty much in line with “Word Layouts”, we’ll be able to make “Excel Layouts”.  And I personally think this is absolutely very useful!  Not for documents (imho), but for lists.  And there are LOTS of lists!   Great stuff!

Auto-deploy dependent projects in workspace
This one does not need any explanation.  In VSCode, when you’re working in a multi root workspace, publishing an app with many dependencies will now cause to also publish those dependencies from your workspace.

I have 75 apps in my multi root workspace – so this definitely will help me ;-).

You don’t know what multi root workspaces are?  I blogged about them a few times: Muti Root Workspaces on waldo.be

The rest…

And then there’s “the rest” – for some, these points will be much more interesting, given the line of work, obviously.  I’ll keep Microsoft’s categories, and I’m of course starting with…

Development

Isolated events
Really interesting! 
We will be able to make sure for events to always execute all of the subscribers, EVEN if some subscribers fail.  I personally never was in the situation where this was an issue – but it isn’t hard to understand that it CAN be an issue.. .

New isolated event OnCompanyOpenCompleted
In my opinion, it is bad practice to execute any code on anything OnCompanyOpen – simply because you’re massively slowing down performance, because of all the background sessions.

That said – raising an error on this event, won’t block users to sign in .. Again an option that I never would have thought of I would need, but makes a lot of sense.

Demo tool and demo data for manufacturing scenarios
Not a clue why this is categorized under “development”, really. But it seems we’ll be able to set up the demo tool for manufacturing scenarios I guess 🤷‍♂️.

AL-Go for GitHub – modern DevOps for partners
In short: CI/CD on GitHub! There is quite some confusion about it, though. Does this mean DevOps is/was a waste of time? Does this mean all time invested in setting up CI/CD based on BcContainerHelper is wasted?

Well – here is my opinion:

No – nothing has been wasted.  This AL-Go for GitHub is “just” BcContainerHelper, with on top of that a bunch of preconfigured Github-Actions to make it easy for you to configure a new workspace, including pre-configured CI/CD pipelines for numerous purposes.  If you don’t care how all of this works – use this!  It’ll just work.  Trust me – you NEED CI/CD in place!

If you already got started on DevOps, remember that DevOps is still a perfect tool for doing CI/CD, and is covered already with the tools out there: BcContainerHelper or even ALOps if you really want to be efficient and flexible (ALOps contains building blocks for you to be able to flexibly set up any flow that you like).

In a way, DevOps has its tools – and what Microsoft is doing is also filling the GitHub Gap – one area where there was NO solution at all.  In terms of flexibility and all, well, as far as I know: what you see is what you get: Microsoft basically will decide how your flow will look like, what will be the different steps, and such … but it will just work and easy to set up.

Now, there will be NO reason anymore to have no CI/CD in place: there are enough solutions for you on multiple platforms!  Just make sure that you implement CI/CD!

I’m not going to lie – this isn’t one of the features I’m looking forward to as this conflicts with our ALOps offering, of course.  Although, it’s the confusion around “GitHub in stead of DevOps” that concerns me most.  I would find it the worst waste of time if partners start to move from DevOps to GitHub, as it actually doesn’t offer anything more – it’s just different. 

Do know that my goal has always been to “get everyone on DevOps”. Back in the day, I wasn’t even considering GitHub at all as a serious solution for company-driven-development. But do know that the important part of that was to “get CI/CD going for all apps out there”. That’s the main goal: Microsoft sees lots of issues on their servers that could have been prevented by a decent CI/CD flow – this AL-Go ob GitHub is their contribution to help get even more people going with CI/CD.

Seems this topic might deserves a dedicated blogpost 🤔.

Telemetry – company name as a custom dimension in AL LogMessage
Well .. This is awesomely helpful, in my opinion!  The more data, the better, but being able to isolate all the events by companyname will really help filtering out all unnecessary data in every query!

Users can export report datasets to XML
Seems totally normal to be able to do that – but we weren’t, and we will be soon 😉.

New rendering section for report (extensions)
This is not part of the docs, but was announced by Peter Borring on Twitter – and as one picture says more than a 1000 words:

Image

We’ll be able to set up multiple layouts as part of one report (extension).

Governance and administration

Allow security administrator to define default permission set assignments when user is signing up
Together with the one mentioned above (in my favourites), this is a very nice one – as now the user will be able to log on right when the user is created.  It can make administering users much more efficient.

Customer-managed encryption key for encrypting customer data at-rest
Another option for customers to meet their data and privacy policy according to the standard privacy guidelines.  How I read it: something Microsoft had to do to comply with privacy regulations… .

Customers can consent to Microsoft Support accessing their data through a Lockbox consent flow
Again – another thing in place just for Microsoft to comply with regulations.

Updating only licensed users from Microsoft 365 runs faster and more efficiently
Something I never noticed that it was slow, but it does make sense to only loop the users that have a BC License when running the “Update Users from Microsoft 365” process 🤷‍♂️.

Service and Platform

Telemetry – error dialogs are logged to telemetry
Telemetry – the action of enabling detailed telemetry is logged to telemetry
Telemetry – when a database deadlock occurs, it is logged to telemetry
Telemetry – support engineers can now see user IDs in telemetry

Yeah, I don’t think these need any explanation, right?  The more telemetry, the better, I guess 😉

Reporting

New capabilities for financial reporting with account schedules
In this release, we’ll get new capabilities for account schedules that make it easier for people to produce reports in the layout they desire. What that means, I don’t know – and as a developer, I’m very ok to keep it that way 🤪.

Modern Clients

Copy link from Share menu
You can obviously imagine what that is – but if not, here’s a picture:

Open in Excel 
Share to Teams 
Q) Copy link

Indeed – an easy “Copy Link” like we know from other Office applications.

New desktop app delivering full web client experience on desktop is listed in the Microsoft Store
For more information and to install the app, see Get Business Central Desktop App

Usability improvements to the web client
There are a few improvements that Microsoft added again in regards of using the web client, like they do every release, although what has been described, seems very limited to me.. .

Application

In all honesty, I don’t feel I should give my opinion on much of the application-area. You deserve better 🤪.

Blocking deletion of G/L accounts
Allow the sell-to and bill-to customers to be different for jobs
Bank reconciliation
Change default company bank account on sales and service documents
Check documents and journals in background

This, of course, is very interesting.  Anything background is usually interesting for performance.  And this, for userexperience is going to be interesting, because users won’t even have to try to post, as they will see the error already ;-).

Consolidate customer and vendor balances
Fixed Quantity in product bills of materials
Improved and extensible Adjust Exchange Rates batch job
Map to Dataverse option sets such as payment terms, freight terms, and shipping agents without code
More control over deferrals posting
New UI for entering demand forecasts to add support for variant code and other improvements
Payment reconciliation journal
Report selection for projects
Set default dimensions on locations
Shopify connector
Standardizing the bank reconciliation process in North American versions
Support inventory pick and warehouse pick operations for jobs
Synchronize sales quotes and orders in both directions between Business Central and Dynamics 365 Sales
Use different G/L accounts for payables and receivables transactions

OnBoarding

This is an area that I have mixed feelings with.  Just look at this wording: 

This is especially relevant in the onboarding phase when customers historically relied on our partners and their consultants for training.” 

Microsoft

Partners are history, Microsoft? 🤔

Anyway, here’s what they are working on:

Context-aware links in the Help pane from Microsoft and partners
The result is pretty cool, as the help window now gets you to context-related help-articles:

CRONUS BE 
Customers: 
10000 
20000 
30000 
40000 
50000 
Fi nance v 
p Search 
Name 
Adatum Corporation 
Trey Research 
School of Fine Art 
Alpine Ski House 
Relecloud 
Cash Management v 
Responsibility 
Center 
Sales v 
Location Cade 
Purchasi > 
Phone No. 
Canta 
Stew 
Kara 
Meat 
Ian C 
Jimm 
Help 
p Search here... 
About customers 
Here you overview all registered customers, 
their balances, and the sales statistics. With 
customer templates you can quickly create 
new customers having common details 
defined by the template. 
Take a tour 
Learn more 
Related articles from Microsoft Docs 
Register New Customers by Creating a 
Customer Card (contains video) 
Set Up Cash Customers 
Other resources 
Help & Support 
Keyboard Shortcuts 
Community

And partners will be able to add their articles as well, based on the

contextSensitiveHelp-url in the app.json.
Guided tour that helps users find settings and personalization tools
Support for rich text in teaching tips and tours
Tour of the Role Explorer and how to filter it

Better with Microsoft 365

Enhancements to Microsoft Teams integration
Outlook add-in – add email attachments to Business Central records

Resources:

That was it – to end with, there are some other people that have been blogging / talking about this as well.  Here is what I could find:

5.00 avg. rating (98% score) - 3 votes

Permanent link to this article: https://www.waldo.be/2022/02/15/microsoft-dynamics-365-2022-release-wave-1-plan-business-central/

3 comments

1 ping

    • Søren Alexandersen on February 15, 2022 at 9:00 am
    • Reply

    Great summary, Eric 😊 Well done.

    As for Onboarding and the use of “historically”, you can read it multiple ways. You can read it like “until now, customers have had to rely solely on partners”.
    What we and many customers are pushing for is enabling some customers to onboard by themselves, meaning, partners should use the available tools to hand over the experience to the customers to self onboard. Of course partners will be part of the mix in many cases in the future. I don’t think anyone here can imagine a BC world without partners. But we do want to challenge what value partners deliver. If you deliver a 5 day implementation to a customer running plain vanilla BC, setting up chart of accounts and posting groups, then you’re not delivering the value the customer wants. (Just to take an example)

    In order to scale many partners will have to find new ways to deliver their Onboarding assistance. Less hours. More IP that includes JIT installed packages, end user help, checklists, tours etc.

    With the capabilities we provide, more and more customers should be able to onboard by themselves, meaning without a partner at their side explaining everything to them. But using partners “knowledge provided as apps”.

    Of course, for the more complex customers (business processes) there’s still need for a fair amount of billable hours, customization etc.

    We’re coming at this from multiple angles, first of all to allow any partner to deliver at higher volume without growing your consultant/developer pool.

      • waldo on February 15, 2022 at 9:03 am
        Author

      Thanks, Søren :-).
      Well, the fact that it can be read in multiple ways, is exactly my problem with it .. I think for matters like that, clarity is key?
      You don’t have to convince me from the path to repeatability and volume – I know the billable hours have to go down .. only the wording “historically relied on our partners” indicates that partners is a thing from the past. It isn’t. At least not yet :p.

  1. About azure devops: while i totally agree that migrating to github is a waste of time and realy love az devops, i have to say that we must expect the two platforms to merge together at one point. So at one point we all will be migratet to github i guess as soon as there is feature parity.
    At least this is what our az devops partner is expecting to happen.

  1. […] shares his favorites in the upcoming release of D365 BC in his Microsoft Dynamics 365: 2022 Release Wave 1 Plan post, citing the in-client performance profiler, permission set handling enhancements, additional […]

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: