This repository contains the OpenmrsPasswordResetUI OpenMRS Open Web App.
User Interface for OpenMRS password reset feature
For further documentation about OpenMRS Open Web Apps see the wiki page.
You will need NodeJS 6+ installed to do this. See the install instructions here.
Once you have NodeJS installed, install the dependencies (first time only):
npm install
Build the distributable using Webpack as follows:
npm run build:prod
This will create a file called openmrspasswordresetui.zip
file,
which can be uploaded to the OpenMRS Open Web Apps module.
To deploy directly to your local Open Web Apps directory, run:
npm run build:deploy
This will build and deploy the app to your local Open Web Apps
directory. To change the deploy directory, edit the LOCAL_OWA_FOLDER
entry in
config.json
. If this file does not exists, create one in the root directory
that looks like:
{
"LOCAL_OWA_FOLDER": "path to your local Open Web Apps directory"
}
To use Browersync to watch your files and reload
the page, inject CSS or synchronize user actions across browser instances, you
will need the APP_ENTRY_POINT
entry in your config.json
file:
{
"LOCAL_OWA_FOLDER": "path to your local Open Web Apps directory",
"APP_ENTRY_POINT": "http://localhost:8080/openmrs/owa/openmrspasswordresetui/index.html"
}
Run Browsersync as follows:
npm run watch
Install npm packages dependencies as follows:
npm install --save <package>
To use the installed package, import it as follows:
//import and assign to variable
import variableName from 'package';
To contain package in vendor bundle, remember to add it to vendor entry point array, eg.:
entry: {
app : `${__dirname}/app/js/owa.js`,
css: `${__dirname}/app/css/owa.css`,
vendor : [
'package',
...//other packages in vendor bundle
]
},
Any files that you add manually must be added in the app
directory.
You may experience problems due to the Access-Control-Allow-Origin
header not
being set by OpenMRS. To fix this you'll need to enable Cross-Origin Resource
Sharing in Tomcat.