Versions Compared

Key

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

This tutorial will introduce you to OpenMRS SDK (Server Development Kit). It assumes that you have basic understanding of OpenMRS modular architecture (you can learn about it reading Technical Overview).

...

If you want to enable remote debugging by default when running the server,
specify the port number here (e.g. 1044). Leave blank to disable debugging.
(Do not do this on a production server) (default: 'no debugging'): 

Type default value '1044' and push enter. Specifying debug port is essential to setup remote debugging configuration. You will be asked what database you want to use:

...

In this tutorial we will use most simple solution: H2, so answer with '1'. You can find more information about other options in OpenMRS SDK Setting up servers docs.

Last prompt will ask you for path to JDK:

...

To sum up, our openmrs-distro.properties file will look like this:

name= OWA development
version= 1.0
war.openmrs= 2.0
omod.owa=1.6.2
omod.webservices.rest=2.17-SNAPSHOT 

SDK automatically assumes that modules Maven Group ID is 'org.openmrs.module', but you can declare another Group ID

...

Replicating environment for troubleshooting

...

With knowledge from previous tutorials, you can pretty easily create environment to reproduce application behaviour. Person who found error needs to provide basic information about server setup - version of platform, installed modules, database provider. Sometimes it is necessary too replicate state of database tables too. This tutorial will explain how effectively replicate environment with OpenMRS SDK.

To allow others to reproduce your server configuration, you have to create 'openmrs-distro.properties' file with modules deployed on failing server. Since SDK 3.4.x you can go to your server directory `{user directory}/openmrs/{name of server}` and copy this file to share it with others. If you are using older version of SDK or standalone OpenMRS, you need to manually create this file as described in Creating new distribution

Best way to replicate database state is to create SQL dump with mysqldump. Mysqldump will require database name, user name and password. To create dump from dockerized MySQL, you need to use mysqldump from within the container.

To be continued... 

...