All Projects → getodk → briefcase

getodk / briefcase

Licence: other
ODK Briefcase is a Java application for fetching and pushing forms and their contents. It helps make billions of data points from ODK portable. Contribute and make the world a better place! ✨💼✨

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to briefcase

commcare-android
Offline First Android software client for CommCare, the world's largest platform for designing, managing, and deploying robust mobile applications to frontline workers worldwide
Stars: ✭ 25 (-59.68%)
Mutual labels:  global-development, global-health, xforms, social-impact, mobile-data-collection
central-frontend
Vue.js based frontend for ODK Central
Stars: ✭ 24 (-61.29%)
Mutual labels:  odk, global-development, data-collection, global-health, social-impact
xforms-spec
The XForms-derived specification used in the ODK ecosystem. If you are interested in building a tool that is compliant with the forms rendered by ODK tools, this is the place to start. ✨⚒✨
Stars: ✭ 27 (-56.45%)
Mutual labels:  odk, global-development, data-collection, global-health
esp-logger
An Arduino library providing a minimal interface to log data on flash memory and SD cards with ESP8266 and ESP32
Stars: ✭ 40 (-35.48%)
Mutual labels:  data-collection
Noise2Noise-audio denoising without clean training data
Source code for the paper titled "Speech Denoising without Clean Training Data: a Noise2Noise Approach". Paper accepted at the INTERSPEECH 2021 conference. This paper tackles the problem of the heavy dependence of clean speech data required by deep learning based audio denoising methods by showing that it is possible to train deep speech denoisi…
Stars: ✭ 49 (-20.97%)
Mutual labels:  data-collection
js-collections-map-set
Repository to have example code to demonstrate JavaScript Map and Set data structures.
Stars: ✭ 21 (-66.13%)
Mutual labels:  data-collection
zdh web
大数据采集,抽取平台
Stars: ✭ 292 (+370.97%)
Mutual labels:  data-collection
enketo-express
We've moved! Please use the new repository 🠊 https://github.com/enketo/enketo-express
Stars: ✭ 102 (+64.52%)
Mutual labels:  odk
android-amap-track-collect
这阵子由于项目需要,需要从手机上采集用户的运动轨迹数据,这样的功能大家都见到的很多了,比如咕咚、悦动圈,对跑步运动轨迹数据进行采集,再如,微信运动、钉钉运动,对于每一天你走步进行计数,如果要记录轨迹就离不开的手机定位,如果要记录步数那就离不开陀螺仪(角速度传感器),花了一天多的时间实现了一个定位数据实时采集的功能。
Stars: ✭ 50 (-19.35%)
Mutual labels:  data-collection
enketo-core
The engine that powers Enketo Tools - Use it to develop your own enketo-powered app.
Stars: ✭ 74 (+19.35%)
Mutual labels:  odk
shifting
A privacy-focused list of alternatives to mainstream services to help the competition.
Stars: ✭ 31 (-50%)
Mutual labels:  data-collection
koboloadeR
This package facilitates the data crunching of any dataset collected using an xlsform compatible platform (KoboToolbox, ODK, ONA, etc.)
Stars: ✭ 21 (-66.13%)
Mutual labels:  odk
Snowplow
The enterprise-grade behavioral data engine (web, mobile, server-side, webhooks), running cloud-natively on AWS and GCP
Stars: ✭ 5,935 (+9472.58%)
Mutual labels:  data-collection
snp-sites
Finds SNP sites from a multi-FASTA alignment file
Stars: ✭ 182 (+193.55%)
Mutual labels:  global-health
akvo-flow
A data collection and monitoring tool that works anywhere.
Stars: ✭ 67 (+8.06%)
Mutual labels:  data-collection
Babler
Data Collection System For NLP/Speech Recognition
Stars: ✭ 21 (-66.13%)
Mutual labels:  data-collection
ibge
🌎 Data collection of geographical divisions of Brazil by IBGE (https://servicodados.ibge.gov.br/api/docs)
Stars: ✭ 28 (-54.84%)
Mutual labels:  data-collection
coletores
Coletores de dados sobre remunerações do sistema de justiça brasileiro
Stars: ✭ 18 (-70.97%)
Mutual labels:  data-collection
app-designer
A design environment for creating, customizing, and previewing your forms, data curation, and visualization applications.
Stars: ✭ 27 (-56.45%)
Mutual labels:  data-collection
gubbins
Rapid phylogenetic analysis of large samples of recombinant bacterial whole genome sequences using Gubbins
Stars: ✭ 103 (+66.13%)
Mutual labels:  global-health

⚠️ ODK Briefcase is no longer being updated. If you're using Briefcase for CSV exports, data decryption, or automation, please use ODK Central instead. ⚠️

ODK Briefcase

Platform License Build status Slack

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 ODK, a free and open-source set of tools which help organizations author, field, and manage mobile data collection solutions. Learn more about the ODK project and its history here and read about example ODK deployments here.

Setting up your development environment

  1. Fork the briefcase project (why and how to fork)

  2. 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.

If you're using IntelliJ IDEA, we also recommend you import the code style scheme for Briefcase at config/codestyle/codestyle.xml. Once you activate that scheme, use the automatic reformatting tool to produce code that will comply with the checkstyle rules of the project.

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-8
  • org.opendatakit.briefcase.ui.MainClearBriefcasePreferencesWindow clears Briefcase preferences
  • org.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:

Running the project

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 https://opendatakit.appspot.com leave username and password blank.

Logging

Briefcase uses SLF4J with Logback Classic binding. The project also loads the jcl-over-slf4j bridge for libraries that still use old Apache Commons Logging.

There are example configuration files that you can use while developing:

  • Copy test/resources/logback-test.xml.example to test/resources/logback-test.xml. This conf will be used when running tests.
  • Copy res/logback.xml.example to res/logback.xml. This conf will be used when launching Briefcase on your machine.

Logging tests vs development vs release

During the release process, we use a specific logback configuration which logs to a briefcase.log file in the folder Briefcase is launched from.

For testing and development purposes, customization of logback conf files is encouraged, especially to filter different levels of logging for specific packages. The following example sets the default level to INFO and DEBUG for components under org.opendatakit:

<configuration>
  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
      <pattern>%d [%thread] %-5level %logger{36} - %msg%n</pattern>
    </encoder>
  </appender>

  <logger name="org.opendatakit" level="debug"/>

  <root level="info">
    <appender-ref ref="STDOUT"/>
  </root>
</configuration>

More information on Logback configuration is available here.

Extended topics

There is a /docs directory in the repo with more documentation files that expand on certain topics:

Contributing code

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.

Contributing testing

All releases are verified on the following operating systems:

  • Ubuntu 16.04
  • Windows 10
  • OS X 10.11.6

Testing checklists can be found on the Briefcase testing plan.

If you have finished testing a pull request, please use a template from Testing result templates to report your insights.

Downloading builds

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].