As part of our efforts to refactor and decouple objects in the System Application, and to support the move to AL for ourselves and our partners, it was clear that we needed to create the Extension Management module.
Starting with the 2019 Autumn Release, we’re shipping the modules we have extracted and the Base Application as first party extensions, and the extensibility of our product by per-tenant or AppSource approved extensions relies on having the right tooling for managing extensions.
What has been done
We have improved capabilities for managing extensions and combined them in the Extension Management module. We’ve also removed their dependencies on the Base Application. Extension Management offers capabilities for extensibility by exposing a handful of public objects. For example, through code, you can use these objects to do things like installing and uninstalling, downloading and uploading, and configuring and publishing extensions and their dependencies.
What the module provides
- Install and uninstall extensions, with the option to use UI events
- Upload and deploy an extension
- Publish or unpublish extensions (publishing is available only in the client)
- Download a per-tenant extension source
- Check whether an extension is installed, which version, and whether it’s the latest
- Refresh and retrieve the extension deployment status and information
- Enable or disable http client requests
- Retrieve an extension’s logo