diff --git a/docs/development-setup.md b/docs/development-setup.md index 523cdfb7ad..f1b123fbe5 100644 --- a/docs/development-setup.md +++ b/docs/development-setup.md @@ -219,6 +219,8 @@ so ODK's #collect-code Slack channel can be a good place to get help with error ### Upgrading Enketo +See [here](../lib/enketo-transformer-service/README.md) for a birds-eye overview of Enketo in NEMO. + Enketo uses jQuery under the hood, and it's important to keep library versions consistent so there aren't conflicts. To upgrade our version of Enketo: 1. Check their [changelog](https://github.com/enketo/enketo-core/blob/master/CHANGELOG.md) diff --git a/lib/enketo-transformer-service/README.md b/lib/enketo-transformer-service/README.md new file mode 100644 index 0000000000..c48e7d2acd --- /dev/null +++ b/lib/enketo-transformer-service/README.md @@ -0,0 +1,19 @@ +# Enketo transformer service for NEMO + +## Bird's eye overview + +resources: +- [enketo-core github](https://github.com/enketo/enketo/tree/main/packages/enketo-core) +- [enketo-transformer github](https://github.com/enketo/enketo/blob/main/packages/enketo-transformer) + +architecture/flow: +- nemo talks to `lib/enketo-transformer-service/index.js` (separate node app that runs enketo-transformer) to convert our form XML into a JSON object we're able to send to enketo +- nemo renders a `
` in `enketo_form.html.erb` +- nemo injects 2 variables into JS via a `