Runtime represents the results of the final compilation of the Dynamics 365 Business Central AL Language extension file.
The notation is simpler and consists of a major, minor, and build version. For example, the Spring 2018 update (or the April 2018 update) is named major version 1, while the Fall 2018 update (or the October 2018 update) is version 2, and so on. The current major version that targets the Dynamics 365 Business Central Fall 2019 update is version 4.
When developing extensions, within the app.json file, you can define what runtime version the application is targeting. This enables or disables different sets of features that cannot be part of the target platform deployment, and the AL Language extension's runtime will detect that.
The following table shows the app.json attributes:
Attribute |
Mandatory |
Description |
Id |
Yes |
Global Unique Identifier (GUID) of the extension. |
Name |
Yes |
Extension name. |
Publisher |
Yes |
Publisher name. |
Version |
Yes |
Version of the extension package (for example, 1.0.0.0). |
Brief |
No (Yes for AppSource) |
Short description of the extension. |
Description |
No (Yes for AppSource) |
Long and verbose description of the extension. |
privacyStatement |
No (Yes for AppSource) |
URL to the privacy statement. |
EULA |
No (Yes for AppSource) |
URL to the license terms and conditions for the app. |
Help |
No (Yes for AppSource) |
URL to app helpdesk support. |
url |
No (Yes for AppSource) |
URL to the extension package's home page. |
Logo |
No (Yes for AppSource) |
Relative or full path to the app logo from the root directory of the extension |
Dependencies |
Yes |
List of dependencies from other extensions. Since the Fall 2019 update, it is mandatory to reference at least system application and base application extensions. |
Screenshots |
No |
Relative or absolute path to app screenshots. |
Platform |
Yes |
Minimum platform version supported (for example, 15.0.0.0). |
idRanges |
Yes |
Range of application object IDs or an array of object ID ranges. |
showMyCode |
No |
Enables viewing extension source code while debugging and/or downloading source code from the extension management page. Default value: false. |
Target |
No |
Default value: Cloud. Extension with the same font as Cloud. It's one of the possible values for Target option (Cloud for the new version, Extension for the previous version).. These are the only two values allowed by Dynamics 365 Business Central SaaS. Set this value to OnPrem or Internal if you need to target the extension to on-premises. |
helpBaseUrl |
No |
URL for the extension's online help. |
contextSensitiveHelpUrl |
No (Yes for AppSource) |
URL for the context-sensitive help for an AppSource extension. |
supportedLocales |
No |
Comma-separated list of the local languages supported by the app. |
features |
No |
Optional features in preview that could be enabled by the compiler. An example is TranslationFile. Adding this parameter flag in the features enables the generation of a directory called Translations in the extension folder and a .xlf translation file containing all the labels used in all extension objects. |
Runtime |
No |
Minimum runtime version targeted by the extension. |
The following screenshot is an example of an app.json file:
With all of this information, we should now be able to master app configuration files and tweak them according to the runtime version. In the next section, we will introduce symbols and explain their vital importance in extension development.