Description
The Legacy UI uses an extension point on its admin page to render a list of administration links for installed modules. This list can be seen on the advanced administration screen of the Reference Application (demo.openmrs.org) as everything listed after the "Modules" section in the third (rightmost) column. The "Modules" section is hardcoded onto this admin screen, but everything below it is dynamically generated based on which modules are installed and running in OpenMRS.
Modules implement the AdministrationSectionExt interface (examples: Basic Module and HTML Form Entry) to participate in this list. The goal of this project will be to find a backward-compatible way to expose this list via the REST API to properly authenticated users (i.e., users who could see this list in the admin page of the Legacy UI should be able to retrieve the list of modules and their links via the REST API). This REST endpoint will be needed to allow a Micro Frontend-based administration application to discover and render the appropriate links.
Objectives:
- Create an object that will hold administration links for a module
- Create REST resource that will provide access to links above (read-only)
- Add unit tests for given REST endpoint
- Update REST endpoint's documentation
Extra Objectives:
- Find a way to support the admin list for installed modules that works without requiring the Legacy UI module to be installed.