Wiki Spaces
Documentation
Projects
Resources
Get Help from Others
Q&A: Ask OpenMRS
Discussion: OpenMRS Talk
Real-Time: IRC Chat | Slack
Primary mentor | Daniel Kayiwa |
Backup mentor | CLIFF GITA |
Assigned to | Bartłomiej Rasztabiga |
This project is part of [ARCHIVED] GSOC 2021: Modernizing Administration functions for OpenMRS
In order to meet our goal of migrating our administration functions to our new micro frontend framework, we need to make sure all of our administration functions are accessible through REST APIs. This is a unique opportunity to work at the heart of OpenMRS and with some of the most experienced OpenMRS developers while extending the capabilities of the platform.
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 backwards-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.
Issues
The goal of this project is to be able to render links to administration pages for install modules within a new (REACT-based) administration application. The links will still go to the legacy administration screens for most/all modules (probably best in a new tab to avoid losing context within the single page app running the new administration functions). Refactoring administration screens for the myriad of OpenMRS modules is not within scope for this project.