Customizations in Maintenance Mode

Have you seen an email from Microsoft like this? Then read on.

Microsoft Dynamics 365 logo

Modify your extension so it’s compatible with the version 24.1.16924.0

We’re making changes in the next release (version 24.1.16924.0) of Dynamics 365 Business Central. These changes will render the extension that’s installed in your environment incompatible. This incompatibility must be resolved before your environment can be updated to version 24.1.16924.0. You can find the compatibility error details and mitigation steps here.

Fix the extension error

  1. Review breaking changes introduced in version 24.1.16924.0 and how to resolve them.
  2. Make the required changes to the incompatible extension(s), compile the extension against version 24.1.16924.0, and perform the necessary tests to verify that the functionality is correct.
  3. Upload the fixed extension(s) using the Extension Management page in Dynamics 365 Business Central and select the appropriate version for which the updated extension is compatible.

Uninstall the extension

  1. Navigate to the Extension Management page in Dynamics 365 Business Central and uninstall the incompatible extension(s).

Introduction

Welcome to Customizations in Maintenance Mode. You are not alone.

Microsoft Dynamics 365 Business Central aka Dynamics NAV aka Navision used to be on-premise solutions with few connections to other systems.

Today, Business Central is in the Cloud, updated continuously and integrated with many other systems. This is a much more dynamic environment than we are used to.

This challenges both how we develop extensions and apps, and our approach to the after-go-live period.

Our BC extensions are in maintenance mode.

Dependencies or Now anything can go wrong anytime

Our extensions often have dependencies on other parts of the application and even external systems.

API versions change, legislation changes, breaking changes are coming the base app, ISV extensions are updated, other apps/extensions are competing on events or in other ways depend on each other … We cannot trust this environment as we used to.

This is not new. It is just more frequent now.

Now is a good time to cleanup

What does it all mean? It means that it is in your and your customers’ best interest to cleanup, implement robustness and automated tests.

Automated Tests

We used to test when a new version was installed. Now we need to automatically test business critical functions and APIs frequently.

There has never been a better argument or a better time for getting started with automated tests.

In my Clean AL Code Initiative series you can read more about Automated Tests in AL

Robustness

We need to have build-in robustness in our customizations. We need to require that our suppliers also have this robustness build-in.

In my Clean AL Code Initiative series, you can read more about How to make a code review and how to make robust code in Preconditions and TryFunctions in AL

Explain it and Sell it to your customers

We told customers that they never have to go through upgrade hell again, but did we tell them that they now are in constant maintenance mode?

We need to explain and sell this to our customers.