The Bulk Load application generates templates (an Excel sheet) and imports multiple data values for DHIS2 v2.30 instances. Some notes:
- Settings are only visible for superusers (
ALL
authority) or users that belong to the settings groups. - The generation box is only visible for users that belong to the configurable
Template Generation
groups (initial value:HMIS Officers
).
Install dependencies:
$ yarn install
Start the development server:
$ PORT=8081 REACT_APP_DHIS2_BASE_URL="http://localhost:8080" yarn start
Now in your browser, go to http://localhost:8081
.
Notes:
-
Requests to DHIS2 will be transparently proxied (see
src/setupProxy.js
) fromhttp://localhost:8081/dhis2/path
tohttp://localhost:8080/path
to avoid CORS and cross-domain problems. -
The optional environment variable
REACT_APP_DHIS2_AUTH=USERNAME:PASSWORD
forces some credentials to be used by the proxy. This variable is usually not set, so the app has the same user logged in atREACT_APP_DHIS2_BASE_URL
. -
The optional environment variable
REACT_APP_PROXY_LOG_LEVEL
can be helpful to debug the proxyfied requests (accepts: "warn" | "debug" | "info" | "error" | "silent") -
Create a file
.env.local
(copy it from.env
) to customize environment variables so you can simply runyarn start
. -
why-did-you-render is installed, but it does not work when using standard react scripts (
yarn start
). Instead, useyarn craco-start
to debug re-renders with WDYR. Note that hot reloading does not work out-of-the-box with craco.
$ yarn test
Create the required users for testing (cypress/support/App.ts
) in your instance and run:
$ export CYPRESS_EXTERNAL_API="http://localhost:8080"
$ export CYPRESS_ROOT_URL=http://localhost:8081
# non-interactive
$ yarn cy:e2e:run
# interactive UI
$ yarn cy:e2e:open
$ yarn build
$ yarn localize
The file src/webapp/contexts/app-context.ts
holds some general context so typical infrastructure objects (api
, d2
, ...) are readily available. Add your own global objects if necessary.