Monday, May 10, 2021
Reading time: 5 minutes
What are control Add-Ins?
To begin, a control Add-In is a piece of software that can be added to Microsoft Dynamics NAV or Microsoft Dynamics 365 Business Central. Add-Ins provide custom functionality for the standard Microsoft Dynamics NAV or Microsoft Dynamics 365 Business Central products. This custom functionality can be of different varieties and is visible in the user interface. Add-ins can:
- Display ERP data in plain text or in rich graphical format (diagrams, forms with wizards).
- Edit data conveniently (for example, using autocomplete).
- React to events caused by user’s actions.
- Guide user through data editing steps.
- Send data back to Dynamics server or any APIs.
- Host custom web applications.
Here’s one example of a control Add-In created by 1ClickFactory:
- Allows users to generate data editing forms with control fields.
- Microsoft Dynamics NAV/Microsoft Dynamics 365 Business Central provides the information about the control fields (name, type, validation rules).
- Web code displays control fields according to the information retrieved from Microsoft Dynamics NAV/Business Central side.
- The form and the fields have additional editing (e.g. autocomplete) and navigation (i.e. preselecting necessary fields, allowing to navigate using keyboard shortcuts) capabilities.
- Look and feel of Microsoft Dynamics NAV/Business Central functionality (font size, colors, field sizes are the same).
When are control Add-Ins useful?
Control Add-ins get the job done when custom functionality is needed in Microsoft Dynamics NAV/ERP. There are a few cases where such need arises:
- Development project – creating new functionality with rich UI.
It is relevant when such UI (e.g. UI tree component with inventory categories and items inside) is not possible using standard C/AL or AL code. - Upgrade project – keeping custom functionality after the upgrade.
- It is applicable where the existing custom functionality in the current Microsoft Dynamics NAV/Microsoft Dynamics 365 Business Central version would be lost after the upgrade, for example, when upgrading from classic client to role tailored client (RTC) or web client. In such cases that custom functionality can be recreated in the upgraded Microsoft Dynamics NAV or Microsoft Dynamics 365 Business Central version using control Add-Ins (developed in C# and JavaScript or just JavaScript only).
- Add-Ins allow users to overcome RTC limitations while moving from Microsoft Dynamics NAV forms to pages. As a result, it is possible to recreate the desired look and feel of the pages through Add-Ins with same layout as in the old version.
What technologies are used?
I am a web developer, so you might wonder why a web developer is writing about these control Add-Ins from the Microsoft Dynamics NAV/Microsoft Dynamics 365 Business Central world. Well, the earlier text about hosting custom web applications might be a giveaway.
Control Add-Ins can be developed with the same technologies used in the web environment:
- C# and JavaScript can be used for creating control Add-Ins in Microsoft Dynamics NAV. Starting with Microsoft Dynamics NAV 2013 there are 2 types of control Add-Ins which can be based on JavaScript or .NET, C# being one of its languages, technologies.
- JavaScript can be used for control Add-Ins in Microsoft Dynamics 365 Business Central.
As a result, web and ERP worlds can be integrated without many challenges. From both my experience and my colleagues’ experience, the following turned out to be true:
- Web developers can create control Add-Ins with very little knowledge about Microsoft Dynamics products. Although, knowing how to launch a Microsoft Dynamics NAV/Microsoft Dynamics 365 Business Central client helps.
- Microsoft Dynamics NAV/Microsoft Dynamics 365 Business Central developers can integrate those control Add-Ins without learning too much about web technologies; understanding the difference between Java and JavaScript is helpful, but not mandatory.
C# and JavaScript are the languages needed to create control Add-Ins. However, it is not necessary to write only plain JavaScript (also known as vanilla JavaScript), as nowadays there are a lot of JavaScript frameworks. One of them could be used to write better structured code and write it faster. At the end of the day, the code written with these frameworks is transpiled into JavaScript, so using such frameworks is encouraged. React (created by and used at Facebook) is one good example that can help Add-In developers.
How to get control Add-Ins
As mentioned earlier, control Add-Ins can be created as part of bigger development and upgrade projects.
Here is the usual process for requesting such services and getting control Add-Ins as well:
- Dynamics Partners can learn more and request services from 1ClickFactory.
- When requesting the service the Microsoft Dynamics Partner may need to run through some manual actions. For example, choosing the upgrade option in case of an upgrade service’s request.
- After, a scoping workshop is organized by 1ClickFactory to better understand and agree on desired functionality during the development or upgrade project
- During the scoping workshop, our technical experts can easily identify places where the Add-Ins would greatly benefit the Microsoft Dynamics Partner, their customer, and the end users.
- Also, we explain the advantages of Add-Ins, and describe which Add-Ins features are easily changeable during the development process so that Dynamics Partners can feel safe knowing they can change their minds about certain functionality later.
Leveraging control Add-Ins in Microsoft Dynamics
While control Add-Ins might not be the most famous part of the Microsoft Dynamics NAV/Microsoft Dynamics 365 Business Central product, they surely get their job done when new custom functionality needs to be developed or existing functionality must be kept, by rewriting it as control Add-In, during the upgrade from one version to another.
Also, since they are written in same languages (e.g. C#, JavaScript) used during web development projects, they really allow developers with no prior Microsoft Dynamics NAV/Microsoft Dynamics 365 Business Central knowledge to do development for these products. As a result, control Add-Ins allow more and closer integration of web and ERP worlds.
As previously noted, feel free to learn more and request our development or upgrade services for Microsoft Dynamics NAV/Microsoft Dynamics 365 Business Central where these control Add-Ins can be created. Of course, 1ClickFactory also provides web and ERP integration services, for your other projects as well.