I am very happy to be the part of OpenMRS through Google Summer of Code for this year . I am going to work on More Metadata Mangement in Admin UI project. Thanks for OpenMRS community for believing in me and selecting me for this Project. Thanks to my mentors Daniel Kayiwa(@dkayiwa) and Wyclif Luyima(@wyclif) for the guidance for this project.
This thread is will be used for posting the project updates and related questions for the clarifications.
After the Proposal submissions, I worked with my mentors to develop the project ideas.
Installed OpenMRS SDK and Reference application and got familiar with OpenMRS Environment.
Referred wiki documentations and blogs about OpenMRS Open Web App developments.
Tried some demo Open Web Apps using Angular JS and React JS.
Studied some existing OWA modules to get ideas about the developments.
Worked with REST API to understand the structure.
I could clarify some answers for my questions using this talk thread. Apart from that, I am going to create two Open Web Apps through my project.
First Open Web App will contain these following features
Manage Modules
Manage Scheduler
System Information
Second Open Web App will contain these following feature
Manage Observations
Manage Programs
Managing Encounters
Manage Triggered State Conversions
For any suggestions and questions please feel free to post here and help me to complete this project as good as possible .
Already, I wrote a blog post about my journey to OpenMRS .
Recently, I have worked with Open Web Apps and wrote a simple blog post about the Demo Open Web app creation. You can read that post on Medium - How to create your First OWA in OpenMRS?
Please give me some comments to improve the blog writing in the future
I have followed this talk about starting modules using REST which was discussed with @gutkowski
There, They used modulesaction REST API to perform actions for the modules. I tried with API Docs to get some understanding. I have some breakdowns to move forward,
Can you clear me, this is the proper way to perform those start and stop actions for the modules?
For the module, UUID will be like uiframework. Is it correct? I can get some response using this as UUID.
In the moduleaction, what is the resource parameter? How to perform actions using Moduleaction REST. Can you please give me some tips?
I have started to work on my project.
At the begging, I have created simple OWA to display all the modules which are installed in the OpenMRS Reference application. After some code works using Angular JS, It is working perfectly without any faults. It will display this following details in the UI part,
The current Manage Modules page has some significant UX defects. Specifically, we show a red icon for modules that are running, and a green for modules that are stopped, but it should really be the other way around.
Hopefully you can adjust this in the new implementation so that we show a “positive” color for running modules, and a “negative” color for stopped ones.
I have updated my OWA with some UI-Commons CSS libraries and now It looks like similar other OWAs. After the last update, I have implemented following features,
Change the Start and Stop Icon colors which are mentioned by @darius
Implemented Module Information Page, which will give total information about the module to the user. He wants to just click on that module to get Module Information.
I have cleared those mentioned Problems about Module Uploading via REST .
We can use Module REST API to achieve Module file Uploading through our OWA. To achieve this you should send the POST request with Content type=“multipart/form-data” header.
Here I have used upload Function at ModuleResource1_8 REST Resource. I got this exact idea from Test Controller - shouldUploadModule() at ModuleController1_8Test .
But before this, I need some proper names for my OWA. We are planned to create two OWA under this project.
First Open Web App will contain these following features (OWA 1)
Manage Modules
Manage Scheduler
System Information
Second Open Web App will contain these following feature (OWA 2)
Manage Observations
Manage Programs
Managing Encounters
Manage Triggered State Conversions
For the OWA Name,
OWA 1: Admin Management ( Because all actions are related to the admin control)
OWA 2 : Support Data Management (It does not contain all the functionalities related to the OWA Name)
The first thing we show should be the status of the module. One option is for this to be the first column, and it should say either Running or Stopped (and these can have color). The other option is to have two tables, the first one for the Running modules, and the second for the Stopped module.
In the Reference Application our UI convention has been to have actions as the last column of a table (not the first), so the actions should go on the right in an Actions column.
@dkayiwa Awesome .
I think you have missed one ‘a’ at openmrs-owa-metadatadmin . It should be openmrs-owa-metadataadmin. Is it okay with you @dkayiwa?
So for the
OWA 1 Name : System Administrations and Repo Name will be openmrs-owa-sysadmin
OWA 2 Name : MetaData Administrations and Repo Name will be openmrs-owa-metadataadmin
How can we create those modules in under OpenMRS organisation?
Thank you @darius. and shall I get some more UI Conventions for the Reference Application?
I agreed with your suggestion. But I like to use only one table to display all the modules (Running and stopped modules). I have made some changes according to your suggestions.
First Column will illustrate the Module Status (It can use the tooltip to explain the status message) - It’s too long to display Running or Stopped as words here. So I used those Icons to illustrate the status.
Start/Stop and Trash Actions are moved to the last column.