ODK Briefcase is a desktop application that can locally store survey results gathered with ODK Collect. It can also be used to make local copies and CSV exports of data from ODK Aggregate (or compatible servers) and push data to those servers.
ODK Briefcase is part of Open Data Kit (ODK), a free and open-source set of tools which help organizations author, field, and manage mobile data collection solutions. Learn more about the Open Data Kit project and its history here and read about example ODK deployments here.
- ODK website: https://opendatakit.org
- ODK Briefcase usage instructions: https://opendatakit.org/use/briefcase
- ODK forum: https://forum.opendatakit.org
- ODK developer Slack chat: http://slack.opendatakit.org
- ODK developer Slack archive: http://opendatakit.slackarchive.io
- ODK developer wiki: https://github.com/opendatakit/opendatakit/wiki
-
Fork the briefcase project (why and how to fork)
-
Clone your fork of the project locally. At the command line:
git clone https://github.com/YOUR-GITHUB-USERNAME/briefcase
We recommend using IntelliJ IDEA for development. On the welcome screen, click Import Project
, navigate to your briefcase folder, and select the build.gradle
file. Use the defaults through the wizard. Once the project is imported, IntelliJ may ask you to update your remote maven repositories. Follow the instructions to do so.
The main class is org.opendatakit.briefcase.ui.MainBriefcaseWindow
. This repository also contains code for three smaller utilities with the following main classes:
org.opendatakit.briefcase.ui.CharsetConverterDialog
converts CSVs to UTF-8org.opendatakit.briefcase.ui.MainClearBriefcasePreferencesWindow
clears Briefcase preferencesorg.opendatakit.briefcase.ui.MainFormUploaderWindow
uploads blank forms to Aggregate instances
There might be some compile errors in the IDE about a missing class BuildConfig
. That class is generated by gradle and the warnings can be ignored.
If you are working with encrypted forms you may get an InvalidKeyException
. This is because you do not have an unlimited crypto policy enabled in Java. Do this:
- Java 8 Update 151 or later: Set
crypto.policy=unlimited
in$JAVA_HOME/jre/lib/security/java.security
- Java 8: Install Unlimited Strength Policy Files 8 in
$JAVA_HOME/jre/lib/security
- Java 7: Install Unlimited Strength Policy Files 7 in
$JAVA_HOME/jre/lib/security
To run the project, go to the View
menu, then Tool Windows > Gradle
. run
will be in odk-briefcase > Tasks > application > run
. Double-click run
to run the application. This Gradle task will now be the default action in your Run
menu.
You must use the Gradle task to run the application because there is a generated class (BuildConfig
) that IntelliJ may not properly import and recognize.
To package a runnable jar, use the jar
Gradle task.
To try the app, you can use the demo server. In the window that opens when running, choose Connect, then fill in the URL http://opendatakit.appspot.com leave username and password blank.
Any and all contributions to the project are welcome. ODK Briefcase is used across the world primarily by organizations with a social purpose so you can have real impact!
If you're ready to contribute code, see the contribution guide.
Per-commit debug builds can be found on CircleCI. Login with your GitHub account, click the build you'd like, then find the JAR in the Artifacts tab under $CIRCLE_ARTIFACTS/libs.
Current and previous production builds can be found on the ODK website.