More Metadata Management in AdminUI - GSoC 2017 Project
Overview
Primary Mentor: @Daniel Kayiwa
Backup Mentor: @Wyclif Luyima
Student: @Suthagar Kailayapathy
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 view. More Metadata Management in AdminUI project is one of those projects which are designed to migrate some of these administrative functionalities to the modern view. In the More Meta data Management in AdminUI project will focus on this following functionalities while migrating,
Manage modules
System Information
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
Manage Modules
System Information
Manage Schedule
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
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
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
Functionalities | Modification | New/ Existing/ Modified Feature |
1. List all the installed Module | New Icons used to indicate the module status | Modified Feature |
2. Start the module | No Modifications | Existing Feature |
3. Stop the module | Confirmation Pop up will be shown with the dependent modules details to alert the user | Modified Feature |
4. Delete/Unload the module | Confirmation Pop up will be shown with the dependent modules details to alert the user | Modified Feature |
5. Check updates | Module updates will be checked with OpenMRS AddOns and listed in the new page for | Modified Feature |
6. Check one module update | Check the update with OpenMRS AddOns and indicate the update status | New Feature |
7. Start All Modules | No Modifications | Existing Feature |
8. Add/Upgrade Modules | Implemented Drag and Drop feature | Modified Feature |
9. Search Modules | Connected with OpenMRS Addons and user can search the module independently | Modified Feature |
10. Search Module Information | User can view the detailed information about the searched module | New Feature |
11. Module Information View | Used to display the module information with required modules, aware of modules, | New Feature |
12. View not installed module information | Connected with OpenMRS add-ons and indicate the user about the installation features. | New Feature |
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,
OpenMRS Information
Operating System Information
Java Runtime Information
User Information
Memory Information
Database Information
Module Information
New Features
Divided the existing System Information under different set of categories to increase the usability
Used some new kind of Icons to illustrate the Information Category properly
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
Functionalities | Modification | New/Existing/Modified Feature |
1.List all the installed Module | New Icons and UI used to indicate the module status | Modified Feature |
2. Schedule Task | No Modifications | Existing Feature |
3. Shutdown Task | Confirmation Pop up will be shown to alert the user | Modified Feature |
4. Reschedule Task | It will reschedule the existing task in the system | New Feature |
5. Delete Task | Confirmation Pop up will be shown to alert the user | Modified Feature |
6. Reschedule All Tasks | It will reschedule all the tasks in the system | New Feature |
7. Shutdown All Tasks | It will shut down all the tasks in the system | New Feature |
8. Startup Tasks | It will reschedule all the tasks in the system | New Feature |
9. Refresh Tasks | It will refresh the list of registered tasks | Existing Feature |
10. Add New Task Definition | Used to create new Task Definition Implemented new UI for this functionality | Modified Feature |
11. Edit Task Definition | Used to edit existing Task Definition Implemented new UI for this functionality | Modified Feature |
Resources
OpenMRS talk discussions links, (You can get more information about the projects development workflow using those talk threads)
Created and worked tickets during the project development
OWA-24 : OWA-22 / Modify System Info Page
OWA-25 : OWA-21 / Implement Module Details view page
OWA-26 : OWA-21 / Integrate with OpenMRS Add-Ons to get module updates
RESTWS-673 : Implement REST services to Manage Scheduler functionalities.
RESTWS-674 : Include More Test cases for ModuleController1_8 in REST Module
OWA-31 : OWA-21 Implement Drag and Drop module upload feature
Created tickets for the issues by me during the development period
Weekly Blog posts during the development period
Week | Blog Post |
---|---|
Week 1 | |
Week 2 | |
Week 3 | |
Week 4 | |
Week 5 | |
Week 6 | |
Week 7 | |
Week 8 | |
Week 9 | |
Week 10 | |
Week 11 | Drag and Drop Module Implementation |
Week 12 |
|
Github Code base: https://github.com/suthagar23/openmrs-owa-sysadmin