Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
WYSIWYG web-based XForms editor for the ODK subset
JavaScript Ruby
branch: master

This branch is 12 commits ahead, 84 commits behind clint-tseng:master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
docs
lib
model
public
test
views
.gitignore
Gemfile
Gemfile.lock
README.textile
Rakefile
config.ru
config.yml.sample
config_manager.rb
odkbuild_server.rb
warden_odkbuild.rb

README.textile

odkbuild — wysiwyg web-based xforms editor for the odk subset

Usage

odkbuild (formerly odkmaker) is a web-based service. Unless you mean to do development on it, just go to http://build.opendatakit.org to give it a try.

Development

odkbuild is a Ruby Rack-based application. Everything it needs is kicked off by the config.ru Rackup file. We use shotgun for local development and Phusion Passenger for staging and production deployment.

Dependencies

The project has one native dependency: Tokyo Cabinet. We use this as our datastore. You’ll have to build it natively for any system you want to run the server on. See http://fallabs.com/tokyocabinet/ for details.

Once you have that, all Rubygem dependencies are managed by Ruby Bundler. Make sure you have at least version 1.0.0 of Bundler installed (gem update --system && gem install bundler if you don’t have it already), and then simply run bundle install in the application root to resolve and install the appropriate dependencies.

Setup and Execution

Now that you have resolved all the appropriate dependencies, you’ll need to set up the configuration by copying config.yml.sample to config.yml. This file contains a number of secret keys and tokens, so be sure not to check it into source control once you put your own keys into it. Finally, you’ll want to run rackup config.ru to start the server, or shotgun config.ru if you want the application to automatically detect your changes to source code and load them up when you refresh the app in your web browser.

Something went wrong with that request. Please try again.