OpenMRS 2.x SDK

Primary mentor

@raff

Backup mentor

@Robby O'Connor

GSoC student

@Dmytro Trifonov

Background

OpenMRS SDK 1.x is a tool, which helps a developer to create a module and run it in OpenMRS in a few minutes. We would like to make it work with OpenMRS 2.x.

Project Champions

  • @Burke Mamlin

Objectives

  1. Improve maven module archetypes to be able to create modules for OpenMRS platform and OpenMRS 2.x. The 2.x version will depend on a small subset of 2.x modules like uiframework, appframework, etc.

  2. Add 'omrs setup servername:2.1 --db.type=mysql --db.url=localhost:3131 --db.user=admin --db.password=Admin123" to setup OpenMRS 2.1 with all bundled modules against external MySQL. It will ask for any not specified, but required parameters.

  3. Add 'omrs run servername' to run previously configured instance of OpenMRS. It will ask to create an instance if it doesn't exist.

  4. Add debug mode 'omrs debug servername' so that it is possible to connect to the running instance from any IDE.

  5. Add 'omrs upgrade servername:2.2-SNAPSHOT' so that it is possible to upgrade OpenMRS and all bundled modules to the given version or latest development version.

  6. Add 'omrs module-install servername metadatasharing:latest' to install or update to the latest, snapshot or exact version of the given module.

  7. Add 'omrs module-install servername' to install a new version of a module from source where the command is run.

  8. Add 'omrs module-uninstall servername metadatasharing'

  9. Add 'omrs reset servername' to reset the given instance of OpenMRS (clear database and application directory).

  10. Add 'omrs module-debug-on servername' to configure the module for hot redeployment of UI classes and resources. See Development Mode at Using the UI Framework in Your Module.

  11. Add 'omrs module-debug-off servername' to disable hot redeployment.

  12. Document new features and create a screencast for youtube

Extra credit

  1. Replace sqldiff with liquibase changesets in bundled modules. See e.g. https://tickets.openmrs.org/browse/HTML-518

  2. Make any further improvements to enhance developer experience with OpenMRS 2.x

Resources

  1. OpenMRS SDK 1.x

  2. Dmytro's blog: http://openmrs2x-sdk.blogspot.com/

  3. GSoC 2013 project: OpenMRS Platform SDK