layer 1 layer 2 layer 3 layer 4 layer 5 abstract shapes

Customising Microsoft Dynamics 365 Business Central

Posted by Rowan Gill on April 6th 2019

Over the last 18 months, we developers have been preparing ourselves for a new way of delivering customisations to the Dynamics 365 Business Central world.

For the last 20+ years, customisations were delivered using C/AL (Client/Server Application Language) within C/SIDE (Client/Service Integrated Development Environment). Even though the environment has worked wonderfully for us all over the years, technology has moved on and left C/AL behind. Microsoft decided it was time to update the environment to better reflect the technology and infrastructures of today, along with the current tool sets that are being taught in schools, colleges and universities. This also works hand in hand with the future product strategy that Microsoft has got lined up for Dynamics 365 Business Central.

Removal of the Development Environment
Microsoft has announced that from October 2019 they will no longer be shipping the Windows client and C/SIDE application with Dynamics 365 Business Central. This means all customisations must be created using extensions and delivered to customer databases in the form of an app. To facilitate this Microsoft have been working hard to create a new way of customising the Business Central base application. The clever thinkers at Microsoft have also considered how best to deliver customisations without carving up the functionality of the base application, meaning that future upgrades will be less time consuming and therefore more cost effective for the end user. How are they doing this? Enter AL and extensions.

What is AL?
AL is the name of the language that is used to create the customisations. It has its foundations linked with C/AL but is a more modern version of the language; introducing new functionality and, in some cases, more complexities. Rather than using a dedicated application for creating AL code, customisations are now created in the more modern Visual Studio Code (VS Code) environment that is more familiar to those used to more modern development applications. VS Code is a freely available development environment from Microsoft that is used for many different types of development and languages.

Microsoft have created an extension for VS Code to not only make it understand the syntax of the AL language, but also to give real-time compilation feedback, and publishing capabilities to your Business Central server.

Objects are now defined through simple text definitions, being almost entirely handwritten rather than through a dedicated graphical user interface. This can increase the overall amount of time to create customisations, but Microsoft have included a clever set of shortcuts that reduce this time where possible. Evo-soft are also working hard to create additional tools to further reduce this time for our customers.

In a previous blogpost we have discussed the benefits of using the event publishing functionality within Business Central. The extensions methodology builds on that functionality to deliver additional benefits.

In older versions of Dynamics NAV and Business Central, existing database functionality was customised by changing the base code of the application (for example updating a standard page to a new field to it). This is no longer the case, and from the October 2019 release of Business Central, not actually possible.

Microsoft have created new object types to allow developers to make changes to existing objects without the need for actually changing the base application. These are called “Extension Objects” and describe additions to already existing areas of the Business Central application. These sit alongside any newly created functionality that are created such as new tables, pages and reports.

At runtime extension objects are superimposed over the top of standard database objects, with the combination of the two providing the standard and enhance functionality. Ultimately this means that the standard objects can be replaced without the need to update and reinstall the extension that is built on top of it.

What is an Extension?
An extension is a series of AL objects that make up some specific functionality that can be applied to a Business Central implementation. Extensions can be very small or very large, depending on the functionality that they provide. They can be standalone or dependant on other extensions that must be installed before it will operate correctly (or in some cases at all).
A number of extensions are provided by Microsoft “out of the box” with Business Central, and a recent announcement from Microsoft has stated that all new functionality will be introduced in the form of extensions. The most notable extension so far is the Making Tax Digital extension for the UK.

Extensions can be managed directly from the Business Central web client but can only be published to your database by a partner.
Evo-soft are currently bringing all our add-on functionality into line with the development environment and “extensionising” our product set. We will release new functionality via extensions going forward, and a these will be communicated to our customer base when they are available.

What impact does this have on me as a customer of BCN?
Existing users will largely remain unaffected by the introduction of the new development processes, as it will only affect those that are upgrading their system to the latest versions of Business Central. As that transition takes place all, existing customisations to the database will need to be converted to AL in order to function. This sounds pretty scary, but don’t worry, Microsoft provide tools that make this process relatively straight forward. Once this process has been completed, future upgrades will be available more often and at a lower cost to the end user as an existing scenario.

Summary
Although this is a pretty significant change in the way that customisations are delivered into Business Central implementation, it is a necessary and a welcome change. There are many benefits to what Microsoft are doing, ultimately leading to improved system architecture and better upgradability for the end user.

If you would like more information on Microsoft Dynamics 365 Business Central, please get in touch and we will be happy to discuss your needs.