More Metadata Management in AdminUI — GSoC 2017 Project
Google Summer of Code Final Report — Week 12
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 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,
- 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
- 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
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
- List all the installed Module — New Icons used to indicate the module status
- Start the module
- Stop the module — Confirmation Pop up will be shown with the dependent modules details to alert the user
- Delete/Unload the module — Confirmation Pop up will be shown with the dependent modules details to alert the user
- Check updates — Module updates will be checked with OpenMRS AddOns and listed in the new page for
the user selection. - Check one module update — Check the update with OpenMRS AddOns and indicate the update status
- Start All Modules — No Modifications
- Add/Upgrade Modules — Implemented Drag and Drop feature
- Search Modules — Connected with OpenMRS Addons and user can search the module independently
- Search Module Information — User can view the detailed information about the searched module
- Module Information View — Used to display the module information with required modules, aware of modules,
and depend on module details - View not installed module information — Connected with OpenMRS add-ons and indicate the user about the installation features.
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
- List all the installed Module — New Icons and UI used to indicate the module status
- Schedule Task — No Modifications
- Shutdown Task — Confirmation Pop up will be shown to alert the user
- Reschedule Task — It will reschedule the existing task in the system
- Delete Task — Confirmation Pop up will be shown to alert the user
- Reschedule All Tasks — It will reschedule all the tasks in the system
- Shutdown All Tasks — It will shut down all the tasks in the system
- Startup Tasks — It will reschedule all the tasks in the system
- Refresh Tasks — It will refresh the list of registered tasks
- Add New Task Definition — Used to create new Task Definition, Implemented new UI for this functionality
- Edit Task Definition — Used to edit existing Task Definition, Implemented new UI for this functionality
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
- OWA-24 : OWA-22 / Modify System Info Page
- OWA-25 : OWA-21 / Implement Module Details view page
Created tickets for the issues by me during the development period
- AO-8 : Allow cross-origin calls to our REST API
- AO-9 : REST endpoint for getting a module by it’s modulePackage value
- PDMO-1 : Implement Encounters functionalities in OWA
Weekly Blog Post
- Week 1 — OpenMRS Module Management OWA
- Week 2 — Upload module to OpenMRS using REST
- Week 3 — System Information Open Web App
- Week 4 — OpenMRS System Administration OWA
- Week 5 — First Evaluation — Google Summer of Code
- Week 6 — System Administration OWA — Final Stage
- Week 7 — Complete the SysAdmin — Final Stage
- Week 8 — Module Update with OpenMRS Add Ons
- Week 9 — Second Evaluations — GSoC 2017
- Week 10 — Started working on Manage Scheduler
- 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….!