More Metadata Management in AdminUI — GSoC 2017 Project

Google Summer of Code Final Report — Week 12

Kailayapathy Suthagar
8 min readAug 21, 2017

Overview

OpenMRS Legacy Module contains a lot of administrative functionalities which are needed to manage the reference application. Most of this administrative functionalities contain a legacy model and less experience to the users. So OpenMRS Community wanted to migrate those administrative features to the Modern Open Web App view. More Metadata Management in Admin UI project is one of those projects which are designed to migrate some of these administrative functionalities to the modern open web app view. In the More Meta data Management in AdminUI project, We focused on this following functionalities,

  1. Manage modules
  2. System Information
  3. Manage Scheduler

Those features are implemented as Open Web Apps with the modern view to the users.

Project Goals

  • Migrate the legacy functionalities to the modern open web apps
  • Increase the user experience and feasibility of the legacy functionalities

Use some better user interfaces instead of legacy model

Change the workflow of the functionalities to increase the usability

Simplify the administrative functionalities for the users.

  • Extend the usage of the legacy functionalities with REST APIs
  • Extend the administrative features using existing functionalities
  • Improve the problems which are identified in the legacy UI modal

Implement Module Drag and Drop features

Implement Module Information page

Allow user to directly download the modules from OpenMRS Addons

Increase the System Information view

Implement Real Time Task Execute features

Demo Presentation

Mid Term Presentation Video

Implementation

Those features are implemented as an Open Web App and included into the SysAdmin Open Wep App.

Used technologies for the developments,

  • Front End Development : HTML, CSS, Angular JS, jQuery
  • Back End Development: Java, REST API
Home Page of the Open Wep App

Manage Modules

This feature will be used to manage the modules in the OpenMRS reference application. Users can use this implementation for this following functionalities,

Features of the Manage Modules

  1. List all the installed Module — New Icons used to indicate the module status
  2. Start the module
  3. Stop the module — Confirmation Pop up will be shown with the dependent modules details to alert the user
  4. Delete/Unload the module — Confirmation Pop up will be shown with the dependent modules details to alert the user
  5. Check updates — Module updates will be checked with OpenMRS AddOns and listed in the new page for
    the user selection.
  6. Check one module update — Check the update with OpenMRS AddOns and indicate the update status
  7. Start All Modules — No Modifications
  8. Add/Upgrade Modules — Implemented Drag and Drop feature
  9. Search Modules — Connected with OpenMRS Addons and user can search the module independently
  10. Search Module Information — User can view the detailed information about the searched module
  11. Module Information View — Used to display the module information with required modules, aware of modules,
    and depend on module details
  12. View not installed module information — Connected with OpenMRS add-ons and indicate the user about the installation features.
Some of the Manage Module’s screens

System Information

This feature will be used to display the System information about the OpenMRS server and the system. Users can use this feature to get this following information,

  1. OpenMRS Information
  2. Operating System Information
  3. Java Runtime Information
  4. User Information
  5. Memory Information
  6. Database Information
  7. Module Information

New Features

  1. Divided the existing System Information under different set of categories to increase the usability
  2. Used some new kind of Icons to illustrate the Information Category properly
  3. Modified Module Information Section with some new ideas.

Manage Scheduler

This feature will be used to manage the tasks in the OpenMRS reference application. Users can use this implementation for this following functionalities,

Features of the Manage Modules

  1. List all the installed Module — New Icons and UI used to indicate the module status
  2. Schedule Task — No Modifications
  3. Shutdown Task — Confirmation Pop up will be shown to alert the user
  4. Reschedule Task — It will reschedule the existing task in the system
  5. Delete Task — Confirmation Pop up will be shown to alert the user
  6. Reschedule All Tasks — It will reschedule all the tasks in the system
  7. Shutdown All Tasks — It will shut down all the tasks in the system
  8. Startup Tasks — It will reschedule all the tasks in the system
  9. Refresh Tasks — It will refresh the list of registered tasks
  10. Add New Task Definition — Used to create new Task Definition, Implemented new UI for this functionality
  11. Edit Task Definition — Used to edit existing Task Definition, Implemented new UI for this functionality
Some of the Manage Scheduler Screens

Resources

OpenMRS talk discussions

You can get more information about the projects development workflow using those talk threads

OpenMRS JIRA Tickets Information

Created and worked tickets during the project development

Created tickets for the issues by me during the development period

  1. AO-8 : Allow cross-origin calls to our REST API
  2. AO-9 : REST endpoint for getting a module by it’s modulePackage value
  3. PDMO-1 : Implement Encounters functionalities in OWA

Weekly Blog Post

  1. Week 1 — OpenMRS Module Management OWA
  2. Week 2 — Upload module to OpenMRS using REST
  3. Week 3 — System Information Open Web App
  4. Week 4 — OpenMRS System Administration OWA
  5. Week 5 — First Evaluation — Google Summer of Code
  6. Week 6 — System Administration OWA — Final Stage
  7. Week 7 — Complete the SysAdmin — Final Stage
  8. Week 8 — Module Update with OpenMRS Add Ons
  9. Week 9 — Second Evaluations — GSoC 2017
  10. Week 10 — Started working on Manage Scheduler
  11. Week 11 — Drag and Drop Module Implementation

Code Contributions

REST Web services module

SystemAdmin Open Web App

Get more Open Web App Screens here,

GSoC Time with OpenMRS…. Write Code, Save Lives….!

--

--

Kailayapathy Suthagar
Kailayapathy Suthagar

Written by Kailayapathy Suthagar

Software Engineer @ Sysco Labs, Google Summer of Code Intern @ OpenMRS

Responses (1)