GSoC 2022: Microfrontend the OCL Module - Project Updates

Hi everyone, I have been selected for GSoC 2022 under the project “Microfrontend the OCL Module and Reduce Backend Dependencies”. Therefore, I’ll be using this thread for the discussions and updates on the project.

Project Name: Microfrontend the OCL Module and Reduce Backend Dependencies
Student: @piumal1999
Mentors: @ibacher @hadijah315


My project proposal:

Project wiki: Turn the Open Concept Lab Module into a 3.x App - Projects - OpenMRS Wiki

Related Github Repository:

Jira Epic:


Congratulations again @piumal1999 :fireworks:, looking forward to working with you :raised_hands:.


So glad you are working on this Piumal. Can’t wait to have this work done so we can officially remove the OWA Module from our RefApp 3.x baseline modules list :slight_smile: Yay for removing dependencies!

1 Like

Project update | Community bonding period 2022-05-19T18:30:00Z2022-06-11T18:30:00Z

  • I had the initial call with my mentors on 2022-05-31T18:30:00Z and discussed about the project plan and the timeline. Also discussed about the following things.
    • How the users can access the ocl microfrontend from O3 home?
      • Suggestion: We can link the module as an external link on the navbar app menu
    • The existing OCL subscription module (OWA) doesn’t handle the errors properly. It directly prints the java stack trace as the error.
      • Suggestion: Identify the common failures and find a way to display error messages which are easy to understand.
    • Suggestion: Consider the tab view when developing
    • The existing esm-admin-tools repository is a bit old, so mind the versions when developing. Also, there’s some ongoing migration on micro frontends. (OpenMRS Frontend 3.0 Documentation for Developers)
    • Create a JIRA epic for the project

2022-06-17T18:30:00Z Update

I was able to create the initial layout of the Setup Subscription component according to the UI mockups. Also added the functionalities for saving a subscription and removing a subscription.

Saving a subscription: Screen Recording 2022-06-19 at 02.37.41

Removing a subscription: Screen Recording 2022-06-19 at 02.38.07

This is not the final UI of the component and there are some UX issues in this as well. I hope to fix those within the next 2 days. Feel free to provide your feedback.


2022-06-19T18:30:00Z Update:

  • Added the functionality to select advanced options when setting up a subscription.
  • Did a small demo on today’s OCL squad call. @suruchi suggested to reduce the text field lengths as in the UI mockups on the project proposal.

Hi @piumal1999, sorry that I missed responding sooner while I was out sick. These are great updates!! Keep it up, I really enjoyed reading these today. I like how you use dates and bullet points and visuals; that makes this thread easy to read.

That is awesome and excellent that you demo’d your work on the OCL Squad call!! That’s exactly the kind of thing we were hoping would happen from this year’s GSOC folks, that they would be sharing their work w/ relevant squads and receiving feedback. :trophy: Also huge thanks to @suruchi for watching this project as well and giving feedback; I was just thinking “it would be great for Suruchi to know about all this” and of course she’s already doing that :smiley:

Maybe I misunderstand the vision here, but just to be totally clear: We don’t want it to be easier for folks to find the OCL functionality, because we have had at least 2 stakeholders approach us with concerns about a user accidentally wiping-out concept content by accidentally subscribing to the wrong subscription or at the wrong time. So I think it’s fine for the user navigation to the module to be through the usual Admin UI, i.e. like this:

And, the user must be an admin to be able to see this (this is a requirement always, because it could be catastrophic for an end-user without admin privileges to have access to concept management).

:heart_eyes: :heart_eyes: :100:


Oh right. What I previously thought was using this feature to create a shortcut to the module in the app menu. Now I see that it can only be done by the implementor and it totally depends on his/her requirement.

Anyway, the module link will be accessible from the usual admin UI.

1 Like

2022-06-23T18:30:00Z Update

I was able to implement the Subscription component and send the pull request for the issue O3-1335.


PR link:

cc: @ibacher @hadijah315

1 Like

:heart_eyes: :heart_eyes: :heart_eyes:

I’m looking forward to seeing how the error message page looks :slight_smile:

1 Like