Hello reader, technology is changing every other day. The good news is that Microsoft has not been left behind in this race. I have only worked with Dynamics NAV for a mere 2 and half years, those of you that are familiar with it since the early days can testify this product has become even better. Lets dive back to Extensions and what it means to the future of Dynamics NAV Upgrade.
Dynamics NAV Extensions are a way for Microsoft Dynamics NAV developers and ISVs to extend the functionality of NAV without modifying Microsoft’s original source code. With the new model, when you come to upgrade Dynamics NAV with a cumulative update, you no longer need to merge all the customized objects. That means less upgrade issues.
With NAV Extensions, you can add functionality without changing the standard solution from Microsoft. This has the obvious advantage that major NAV upgrade projects are no longer necessary. Once you are using Extensions, the customizations no longer represent a problem when upgrading to the latest version of the solution.
If you want to prepare for this new model, you should start to work with Dynamics NAV Extensions today.
Barriers to editing Dynamics NAV extensions
Dynamics NAV Extensions are packages that contain additional functionality, report layouts (at least starting in NAV 2017), permissions, and more. The packages can be easily installed, uninstalled and upgraded without affecting the Dynamics NAV source code.
Once the Dynamics NAV extension package has been created, it is no longer easy for others to view the code of the extension, which means that your code is protected. You can view the source code of an extension through the debugger, but you cannot access the code through the development environment and you can’t modify an extension unless you have the source code.
Technically, there is no real problem. The new solution will work and the customer will be able to use the custom functionality. However, if another party wanted to further modify the functionality, it would not be possible because the functionality can only be modified if the developer has the source code.
How Dynamics NAV Extensions can make Dynamics NAV upgrades easier
We believe that in most cases, NAV Extensions can help developers to upgrade without any problem. Why in most? Because during any Dynamics NAV upgrade we currently carry out (which is classic, nothing to do with Extensions), we can upgrade the most part of the code without conflicts.
What about the exceptions? There are just a few scenarios where you may need to rethink your solution. Here are some examples:
- When new functionality in an upgraded version of NAV can replace your extension. However, they probably can co-exist.
- When Microsoft redesigns part of a solution. Even this doesn’t need to be a major problem. If, for example, you are upgrading to NAV2017, a major redesign of CU80 isn’t that much of a problem thanks to the hooks pattern. Decent code design always helps. If you have been using extensions, you would have been using events anyway, so that’s even less of a problem.
Visual Studio Code and Dynamics NAV Extensions.
The Microsoft NAV team has created a new VS Code extension that enables the creation of objects in AL language. But beware; creating a VS Code extension for a completely new language is not straightforward! It requires the creation of a model to support intelligence and the creation of a new compiler. That sounds easy, but it is not.
Microsoft tools for automatic migration to Dynamics NAV Extensions
To help develop solutions for this new programming environment, you can use a set of new
Microsoft developer tools to build, test, and deploy NAV Extensions.
Microsoft In-App Designer
In the client, you can switch to In-App Designer mode. This enables you to change the look and feel of the client quickly and easily. Using this tool, you can define the elements (such as fields or groups) that appear on a page and change how they are displayed. You can also use In-App Designer as an interactive tool to create extensions based on changes you make in the client.
Microsoft In-App Designer includes a wide range of important features, such as:
- Adding a field from the source table to a page
- Moving a field to another position on a page
- Removing a field from a page
- Previewing your design in desktop, tablet, and phone clients
- Saving the changes for the tenant or saving as an extension package file in Visual Studio Code.
- Microsoft Dynamics NAV Developer Preview 3 (Coming soon)
- Changing the caption of a field on the page.
- Adding, moving, renaming, and removing an action.
- Adding, moving, and removing page parts.
- Adding new pages
Special credit to www.simplanova.com