manifest.webapp. The Mozilla page on apps provides a detailed description.
Purpose of packaged apps
The purpose of packaged apps is to create custom UI on-top of OpenMRS REST API. An OpenMRS implementation will often have unique requirements. Apps provide a convenient way to customize the user interface and lowers the barrier to programmer entry, by allowing choice of any web technologies. Apps do not have permissions to interact directly with the OpenMRS Java API. Instead, apps are expected to use functionality and interact with OpenMRS REST Web Services.
manifest.webapp which describes the contents of the app. This file should be in the format specified by the W3C Manifest for Web Applications. A basic example of the manifest.webapp is shown below:
manifest.webapp file must be located at the root of the project. Among the properties, the icons->48 property is used for the icon that is displayed on the list of apps installed in OpenMRS. The
activities property is an openmrs-specific extension meant to differentiate between a standard Open Web App and apps that can be installed on OpenMRS. The
activities section will get changed as below:
Note that it is only the
manifest.webapp file must be located on the root of the zip archive (do not include a parent directory in the archive). The zip archive can then be uploaded into OpenMRS.
Creating apps in PHP/ASP/Python or another webserver (hacky/whacky method)
The OWA module allows you to configure the location where your apps get installed on the server (
owa.appFolderPath global property). It also allows you to set the base URL (
owa.appBaseUrl) where the apps can be accessible from. This means that if you configure your
owa.appFolderPath on www folder of apache2, then it gets deployed onto Apache2 instead of your OpenMRS tomcat or another servlet container. If you can configure a reverse proxy nginx/apache2 nicely, users will assume its a normal app that is actually served from apache/nginx or what server have you.
Configuring the OWA module after installation
The module requires the following global properties to be set before it can be used. All of these properties are mandatory and have default values. When user deploy Open Web Apps module
App Base URL:
What this does: This is the default base URL for OWA apps.
Example: If you have installed app called ‘OWA Commons Angular’ which starts with index.html page, then app’s URL will be <App Base URL specified in settings>/Owa-Commons-Angular/index.html
How you should enter it: Complete relative path like ‘scheme://host:port/path‘ or /path
Example: http://localhost:8080/openmrs/owa or /openmrs/owa
App Folder Path:
How you should enter it: folder path
App Store URL:
What this does: This is the default URL for the OpenMRS appstore. This will be used in future release to download apps already present in above appstore.
How you should enter it: ‘scheme://host:port/path‘
Basic app: https://github.com/namratanehete/owabasicapp
Add Open Web Apps module by downloading .omod file from the link provided in downloads section.
To manage apps(Upload/delete), Go to “Administration --> Manage Apps”.
Manage Apps page:
To upload new app, click “Browse” button and select zip file of an app.
Click “Upload” button. You can view newly uploaded app in ‘Manage Apps’ section.
To open an app, click on name of the app.
To delete an app, Click delete iconof the desired app. Prompt will be asked to confirm app deletion. Click “OK” to delete an app. App will be deleted and you can no longer see app in "Manage Apps" section. or press “Cancel” to cancel deletion of app.
To change settings of Apps, Go to “Administration --> Settings (User Open Web Apps Module). Or if user is already in “Manage Apps” page, then click “Settings” link present on top left corner near “Manage Apps” link. Make changes in settings and click “Save” button.
On 7 January, 2016, Darius Jazayeri presented the OWA app that won the #OMRS15 hackathon:
- - Other modules should be able to register listeners for the OWA app lifecycle
- OWA-5 - OWA module stops OpenMRS from starting
- Tested OWA module to work with Platform 1.11.5, Reference application 2.3.1 and Platform 2.0 beta
Source code download