FrequentlyAskedQuestions

What are the differences between OpenRosa, JavaRosa and J2MERosa?

OpenRosa is a consortium formed to create open source, standards-based tools for mobile data collection, aggregation, analysis, and reporting. OpenRosa's most well known projects are JavaRosa and J2MERosa. Both rely on XForms as the primary means of exchanging form data.

JavaRosa is a Java Standard Edition (J2SE) framework for building data collection applications on Java enabled devices. javarosa-core contains the code that builds the framework. javarosa-validator and Open Data Kit, and openXdata are examples of applications that use JavaRosa.

J2MERosa maps JavaRosa into a Java Mobile Edition (J2ME) framework for data collection applications on J2ME enabled devices. javarosa-core, j2merosa-extensions, j2merosa-activities contain the building blocks of this framework. j2merosa-examples, CommCare and EpiSurveyor are examples of applications that use J2MERosa.

How does the JavaRosa community use XForms?

The JavaRosa community uses a subset of the XForms specification to describe the form's data, constrains, controls and submissions. We currently only support a subset of the specification, and in some cases, support it in idiosyncratic ways. Additionally, unlike standard XForms, the look and feel of the form is determined by each JavaRosa application.

JavaRosa has also a defined a number of additions to the XForms specification which improve the data collection experience. These additions are supported only by JavaRosa, and have been created when no XForms idiom is sufficient for our use cases. We have attempted to keep our customizations as close to the XForms spec and spirit when possible.

Where can I get a demo of some JavaRosa products?

Demo videos of J2MERosa and ODK Collect are available. If you want a live demo, try EpiSurveyor.

If you are technically inclined, try the Getting Started guide to download and run the source code.

Updated

Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.