System Administration OWA

More Metadata Management in Admin UI project is one of the GSoC projects which are designed to migrate some of these administrative functionalities to the modern open web app view. In the System Administration OWA project, We focused on the following functionalities,

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

Implementation

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 these 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 Popup will be shown with the dependent modules details to alert the user
  4. Delete/Unload the module — Confirmation Popup 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 Add-ons 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.

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

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 Popup will be shown to alert the user
  4. Reschedule Task — It will reschedule the existing task in the system
  5. Delete Task — Confirmation Popup 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

How to run the SysAdmin OWA in the Reference Application

You should install these following modules to run the SysAdmin OWA in your reference application,

Requirements for the SysAdmin OWA - Version 1.0.0

  1. Open web app module - version 1.7 or greater 
  2. Web Services REST module - version 2.21 or greater

If you do not have those modules, Please follow these commands to install them,

mvn openmrs-sdk:install -DartifactId=owa -Dversion=1.7-SNAPSHOT -DserverId=adminmodule
mvn openmrs-sdk:install -DartifactId=webservices.rest -Dversion=2.21 -DserverId=adminmodule

Please follow this steps to install and run the SysAdmin OWA in your Reference Application.

  1. Go to OpenMRS Add-Ons official website and Search for SysAdmin OWA
  2. Download the latest version of the SysAdmin OWA as the ZIP file
  3. Run your OpenMRS Server and log in as Admin user
  4. Go to Manage Open Web Apps page through the Administrative Page
  5. Upload this downloaded ZIP and install the OWA to the server.
  6. Now you have loaded the OWA and can see the updated list in the Manage Open Web app page
  7. Click on the SysAdmin OWA and start running.


Create OWA Icon in the homepage

If you want to add Icon to the home page, then follow this use full tutorial to add the Icon.

https://openmrs.atlassian.net/wiki/display/docs/Adding+OWA+Icon+to+the+Reference+Application+Homepage

How to Contribute to the Project

You need the following skills to contribute this project,

  1. Better understanding of AngularJs and jQuery development
  2. REST Web Services and OpenMRS APIs
  3. Knowledge of HTML, CSS
  4. If you want to contribute on this backend, you want to work with JAVA.

Please go and download the project source code from the GitHub repository. Then follow the past discussion on the OpenMRS talk forum and understand the development flow.

Production build steps

You will need NodeJS 4+ installed to do this. See the how to  install instructions here.

  • Once you have NodeJS installed, you need to install Gulp and Bower (first time only) as follows:
    npm install -g gulp bower

  • Install the dependencies (first time only):
    npm install && bower install

  • Build the distributable using Gulp as follows:
    gulp

This will create a file as SystemAdminstration.zip in the dist directory, which wants to be uploaded to the OpenMRS Open Web Apps module.

Please find these useful talk forums and other documentation regarding this project,

  1. https://talk.openmrs.org/t/gsoc-2017-more-metadata-management-in-adminui/11479
  2. https://talk.openmrs.org/t/rest-implementation-for-scheduler-in-legacy-ui-module/12801
  3. https://talk.openmrs.org/t/manage-scheduler-implementation-on-sysadmin-owa/12895
  4. https://talk.openmrs.org/t/new-rest-implementation-for-systeminformation/11829

Related blog posts

  1. More Metadata Management in AdminUI - GSoC 2017 Project
  2. https://medium.com/@suthagar23/more-metadata-management-in-adminui-gsoc-2017-project-d9c42a68fea3
  3. https://medium.com/@suthagar23/openmrs-systemadmin-open-web-app-36db9c8243e7