Reference Application dev environment setup


The reference application is written on top of the latest released OpenMRS version. It comes as a distribution of the core web application along with several modules that override certain parts of the UI and provide some extra features. The pages that have been overriden in the refapplication are the home and login pages, note that more might be added.

If you expect to contribute any bug fixes to OpenMRS core and the modules, follow the fork + pull-request git workflow at Using Git

Required software and IDE setup

See /wiki/spaces/docs/pages/25470205

Reference application modules

There are several module that are included in  the openmrs reference application and the following might be of interest for you to know what their roles are:

  • uicommons - Contains the general CSS and Javascript files that are used in the reference application
  • referencemetadata - Adds required metadata, sets required settings (formerly global properties from platform 1.8 downwards) and any necessary configurations that are required for the application to be functional.
  • referencedemodata - Adds demodata that is uses in the dev and test environments.
  • referenceapplication - This is the one that glues everything together to form the reference application.

And the reference application distro is a utility module that contains the scripts that build and packages the archive that contains all the modules, it also contains the UI tests for the reference application.

For some modules we are normally doing significant development on and you need to be able to use snapshot dependencies of them, you should clone each of these modules to your local workspace, they are:


During our developement iterations, typically our CI setup will constantly be building the latest versions of the above modules. The only way to be sure you have the equivalent build yourself is to update and build all of these modules regularly.