Enketo Core
The engine that powers Enketo Smart Paper and various third party tools including this selection.
Enketo's form engine is compatible with tools in the ODK ecosystem and complies with its XForms specification though not all features in that specification have been implemented yet.
This repo is meant to be used as a building block for any Enketo-powered application. See this page for a schematic overview of a real-life full-fledged data collection application and how Enketo Core fits into this.
To get started visit our technical documentation.
Follow the Enketo blog or Enketo on twitter to stay up to date.
Browser support
The following browsers are officially supported:
- latest Android webview on latest Android OS
- latest WKWebView on latest iOS
- latest version of Chrome/Chromium on Mac OS, Linux, Windows, Android and iOS
- latest version of Firefox on Mac OS, Windows, Linux, Android and iOS
- latest version of Safari on Mac OS, Windows, and on the latest version of iOS
- latest version of Microsoft Edge
We have to admit we do not test on all of these, but are committed to fixing browser-specific bugs that are reported for these browsers. Naturally, older browsers versions will often work as well - they are just not officially supported.
Here is some guidance that may be helpful when trying to create a build that possibly runs on Internet Explorer 11.
Releases
- Create release PR
- Check Dependabot for alerts
- Run
npm update
- Check if
node-forge
has been updated and if so, verify encrypted submissions end-to-end
- Run
npm audit
- Run
npm audit fix --production
to apply most important fixes
- Run
npm ci
- Run
npm test
- Run
npm run build-docs
- Update
CHANGELOG.md
- Update version in
package.json
- Bump to major version if consumers have to make changes.
- Merge PR with all changes
- Create GitHub release
- Tag and publish the release
- GitHub Action will publish it to npm
The development of this library was sponsored by:
Performance (live)
See graphs
License
See license document and additional clause below:
Any product that uses enketo-core is required to have a "Powered by Enketo" footer, according to the specifications below, on all screens in which enketo-core or parts thereof, are used, unless explicity exempted from this requirement by Enketo LLC in writing. Partners and sponsors of the Enketo Project, listed on https://enketo.org/about/sponsors/ and on this page are exempted from this requirements and so are contributors listed in package.json.
The aim of this requirement is to force adopters to give something back to the Enketo project, by at least spreading the word and thereby encouraging further adoption.
Specifications:
- The word "Enketo" is displayed using Enketo's logo.
- The minimum font-size of "Powered by" is 12 points.
- The minimum height of the Enketo logo matches the font-size used.
- The Enketo logo is hyperlinked to https://enketo.org
Example:
Powered by