Add-On Index Enhancements Project

Primary mentor

@Darius Jazayeri

Backup mentor

@Mike Seaton

Assigned to

@Reuben Varghese

Abstract

The OpenMRS platform can be extended via two kinds of add-ons: (1) Modules, and (2) Open Web Apps.

Originally we built an "OpenMRS Module Repository" where people could upload their modules, but now days there are lots of other repositories where people can publish the code they build, and we want to support a distributed ecosystem that allows people in the community to publish their OpenMRS add-ons wherever they want, as GitHub Releases, to Bintray, to Maven, etc. So we're replacing the Module Repository, with an "Add-On Index."

The goal of this project is to make various enhancements to the OpenMRS Add-On Index, making it easier for end-users to find relevant add-ons, and making it easier for developers to publish new releases in their preferred workflow.

Project Champions

  • @raff

  • @Mike Seaton

Skills Needed

  • Familiarity with modern JavaScript (ReactJS + Webpack for the front-end)

  • Java (Spring Boot for the back-end)

  • Experience working with RESTful Web Services

Objectives

  1. (Front-end) Allow a user to find add-ons that are compatible with their particular version of OpenMRS

  2. (Back-end) Support for indexing Modules and OWAs that are released as GitHub Releases

  3. (Front-end) Show a list of most-active or most-downloaded modules

  4. (Back-end) Add new Rest end points for getting module by its Package Name and also add the Package Id as metadata to the details of a module

  5. (Back-end) Improve Search algorithm used

  6. (Front-end) Improved utility of tags in addons

  7.  Ensure smooth migration from using modules.openmrs.org as the primary data source to Bintray

  8.  Ensure Add-Ons is live by the end of Gsoc period

 

Extra Credit

  1. (Back-end) Re-implement the (legacy) API provided by modules.openmrs.org, so we can completely retire that system

Resources