This repository is a PHP-wrapper around Enketo Core that adds the ability to launch offline and persistently store data offline in the browser. It also provides the communication with OpenRosa compliant servers such as ODK Aggregate and Formhub. The OpenRosa APIs are described here.
- Enketo Core - used inside this repo
- XPathJS OpenRosa - XPath Evaluator used inside enketo-core
- Wicked Good XPath OpenRosa - a much faster replacement XPath Evaluator under development
- Enketo XSLT - used inside this repo
- Enketo Dristhi used in Dristhi
- Manifest Builder - used inside this repo
- File Manager - used inside this repo
- enketo-xslt-transformer-php - sample app that transforms Xforms in HTML
- [enketo-xslt-transformer-node] - To follow
Instead of installing and maintaining Enketo yourself you should consider using enketo.org's API after opening an enketo.org account. The API documentation describes how you can easily achieve the same level of integration that currently exists on formhub.org and in ODK Aggregate 1.4.1+ to any other OpenRosa-compliant server.
- IE is only supported from version 10 onwards (older versions do not support the required technologies). For performance reasons, we cannot recommend this browser though (it has no native XPath Evaluator)
- Chrome, Firefox, Safari for both desktop and mobile devices are supported. Chrome is recommended at the moment.
To better encourage code contributions and at the same time try to create a stable source of revenue to continue development on this project, a new strategy was adopted to make the Enketo project sustainable. We are no longer encouraging or supporting self-installation of this PHP app.
Instead, the main Enketo repository has been split up into various easy-to-use open-source libraries that can serve as building blocks for developers to create their own enketo-powered app (see Related Projects above). We would like to encourage developers to use these libraries, would welcome contributions and will gladly help out if you experience issues.
If you're not interested in extending enketo but would just like to use it and at the same time support the Enketo project, the best option is to use the service at enketo.org which can be linked to your own installation of ODK Aggregate or Formhub so that it appears to be integrated. You can even use your own branding.
License of this PHP app is subject to change in the future. Note that the Form Authentication module deployed on enketo.org and formhub.org is not included in the master branch and is not open-source.
File uploads are only experimentially supported on Chrome (except on iOS) and Opera desktop at the moment. It uses the still experimental FileSytem API to ensure that Enketo forms work offline. If file uploads (images/sound/video) are important, ODK Collect may be a better option. Alternatively, it would be easy to develop an online-only version of Enketo using Enketo Core with full cross-browser support for file uploads.
This is a separate module that is currently not open-source.
- Code contributions for Enketo Core and its dependencies (see above under Related Projects) are very welcome. See those repos for more information.
- Issue Tracker
Enketo development is sponsored by:
- Sustainable Engineering Lab at Columbia University
- WHO - HRP project
- Santa Fe Insitute & Slum/Shack Dwellers International
- Enketo LLC
I would like to also acknowledge and thank the indirect contribution by the creators of the following excellent works that were used in the project: