Installing and upgrading OWAs in modules using pom.xml files (or alternative)

Problem: Need to be able to add, upgrade and remove OWAs from a custom module using a pom.xml entry or an alternate option.

  1. This would work similar to management of modules within OpenMRS

  2. Handling conflicts in OWA versions - assuming an OWA is installed in a module and a new version is installed in a custom module


I thought the owa module already has a page to manage them

@wyclif The question is how I can automate the packaging of OWAs with my custom module - how do I control the versions installed etc - and install via SDK (probably in

I’m not really sure am getting exactly what you’re trying to achieve

@wyclif I have to prepare a distribution package to 600 sites which includes some OWAs - how do I do that?

I’d assume the way you’re doing it for modules is the same way you would do it for owas

@wyclif Is there any example you can point me to

Not an expert but just curious to see how this unfolds since I believe we are hitting a similar issue with Bahmni Apps (see here).

Those OWA projects encompass a package.json file which is some sort of npm equivalent to Maven’s POM file.

Stephen, I think that mentioning pom.xml is probably confusing Wyclif, because maven is a build-time tool.

Basically what you’re saying is that you want to script the deployment process by just giving the versions of openmrs-core and all add-ons (both modules and OWAs). That would be great!

I imagine it should go in the file you give to the SDK. We’d need to extend this to support @raff, how would you approach this?

This is a follow-up on this discussion on the Design form on 10/02/2017

  1. The ability to include OWAs in modules already exists as illustrated by Concept Management and Metadata Mapping OWAs

  2. Functionality is to be added to the SDK to enable configuration of OWAs not installed in modules to be added to OpenMRS SDK file @raff will ping you to discuss this further

  3. The OpenMRS SDK will not provide the ability to override OWAs installed through modules, as these are typically tied to functionality available in modules.

JIRA ticket