Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Purpose

The existing OpenMRS Module Repository was created several years ago and has basic functionality to manage community-created add-on modules for OpenMRS. The goals of this project are to modernize the repository and provide additional functionality for users. (See Requirements section below.)

Team Members 

Mailing List

Progress

The new Module Repository is currently under development led by Unlicensed user. Project source is at https://github.com/elliottwilliams/openmrs-contrib-modulus.

The prototype Module Repository was presented at the 2014-02-27 Regenstrief GHI Work-in-Progress meeting. View the slides from the talk.

 

Summer 2013 Project

The Module Repository Project was initially a goal during the summer of 2013, but was largely abandoned. Planning is archived here, and may still be useful in design of the current incarnation of the project.

...

titleSummer 2013 Project Planning

...

Background

The OpenMRS Modules directory is a repository of add-ons for the OpenMRS platform.  This project page describes the design and development plans for Modulus, the OpenMRS Modules application itself.  In 2007, Ben Wolfe created a Module Repository using similar technologies as OpenMRS itself (i.e., a Java web application with JSP pages for a front-end).  In 2014, Elliott Williams created Modulus as a replacement "Module Repository 2.0."  Modulus comprises two projects:

  • Modulus – a RESTful Grails application that provides a REST API for managing, maintaining, searching, and reviewing modules.  All of the "business" of maintaing the Modules directory is done here.
     
  • Modulus UI – a AngularJS-based web application that makes calls to the modulus API to provide developers & users with a module repository application

Purpose

The goal of this project is to advance the features and capabilities of Modulus in support of the broader OpenMRS Community.  Our vision is that any developer who wants to share a module can do so and any implementer in search of a module will be able to get their questions answered and easily download the module(s) they need.

Development

To set up a development environment for OpenMRS Modules, consult the Readmes for Modulus and Modulus UI on GitHub. Additionally, an install guide has be written that details setting up both Modulus and Modulus UI, and obtaining OAuth credentials from OpenMRS ID. 

Road Map

1.0

  • Must support these fields on a module:
    • Name
    • Description
    • Author/owner
    • Support level
      • Support information (info on how to get support for a given module)
      • Links to source, documentation
    • Version Compatibility -- OpenMRS (of course)
    • Module ID
    • Fuzzy/partial search by name, module id, etc (e.g. "sharing" --> MDS, "uifr" -> "UI Framework (module id: uiframework)")
  • Works with legacy OpenMRS installs (install from application)
    • from Manage Modules page,
      • check for updates
      • install updated version
      • search / add new module from repo

...

  • probably an alpha release (as a mid-summer progress update) won't have to have this function working
  • end of summer: at least a detailed plan on how to make it work
  • Access old/previous versions

...

2.0+

  • OpenMRS ID compatibility

...

  • Download statistics
  • Screenshots
  • RSS feed (

...

  • new modules, updated modules, comments, reviews, etc.)
  • Module

...

  • icons
  • Tagging
  • Rating & Reviews (version-based)
  • Deploy to repo as part of release process (e.g. maven)
  • Module "collections" or "sets" recommended by people? (i.e. download modules from this specific list to achieve X or do Y)
  • Version Compatibility
    • OpenMRS (of course)
    • dependent and/or "aware-of" modules
    • consider first version of this as something configured by hand / entered in by module author
    • would be nice to grok the pom and/or config.xml for this info
  • Version compatibility with OpenMRS
    • I'm on omrs 1.7, what modules can I use?
    • I'm looking at MDS 1.2, can I see a table of compatible omrs versions?

Questions (what is meant by):

  • Being able to see our modules (anyone should be able to submit modules)
    • could refer to the fact that there are barriers in the current module repo
    • OpenMRS ID + form submission ==> module in repo

Code

Source Code

...

...

...

Resources

...

See Also