GSoC 2021: Administration Dashboard

 

Primary mentor

@Burke Mamlin

Backup mentor

@Grace Potma

Assigned to

TBD

 

Description

 

The administration dashboard serves as the "home page" for administrative functions. Key features include:

  • The basic layout for administration functions (e.g., navigation of function on the left and a content pane on the right).

  • An extension point to allow other frontend modules to add additional administration sections.

  • Packages core administration functions into a single micro frontend artifact and delivers that within an OpenMRS module.

  • Automatically generates additional sections for traditional OpenMRS modules.

Skills Needed

  • Familiarity with Java and JavaScript

  • Familiarity with React and TypeScript

  • Good understanding of REST

  • HTML/CSS

Objectives

  • Provide the framework and layout for administrative functions in the micro frontend framework.

    • Layout with header, gutter, body

    • Extension point for admin functions to add themselves to the list

  • Support admin pages from OpenMRS modules

    • Modules declare administration pages in the legacy UI by implementing AdministrationSectionExt. Add a REST endpoint to allow someone with appropriate privileges to retrieve the module title along with a map of links their names.

      • Examples of popular modules that have admin links through this mechanism: REST Web Services, HTML Form Entry, ID Generation, Reports, Address Hierarchy, Atlas Module

    • Retrieve the list of modules and add a section for each module using its title and showing a list of its admin pages as links that open in a new tab

Resources

Extra Credit

  • Bundle the administration UI along with a core set of admin functions into an Admin 3.0 module that can be loaded into OpenMRS reference application

Project Champions

  • @Burke Mamlin

  • @Daniel Kayiwa