Skip to content

eHealthAfrica/formhub

This branch is 344 commits ahead of vernondcole/formhub:master.

Folders and files

NameName
Last commit message
Last commit date
Jul 29, 2014
Nov 26, 2015
Jan 27, 2015
Jun 10, 2014
Nov 20, 2015
Feb 7, 2013
Feb 4, 2015
Feb 2, 2015
Jan 29, 2015
Aug 4, 2014
Jul 29, 2014
Dec 3, 2013
Aug 4, 2014
Oct 1, 2012
Aug 4, 2014
Feb 3, 2015
Feb 21, 2013
Jun 27, 2014
Aug 5, 2013
Aug 4, 2014
Mar 27, 2014
Nov 20, 2015
Jan 29, 2013
May 30, 2014
May 16, 2014
Nov 19, 2015
Feb 19, 2014
Apr 8, 2014
Sep 7, 2012
Oct 3, 2013
Jun 10, 2014
Feb 5, 2013
Nov 22, 2013
Mar 13, 2014
Mar 13, 2014
Apr 24, 2014
Nov 20, 2015
Feb 18, 2014
Feb 1, 2012
Mar 13, 2012
Nov 20, 2015
Sep 24, 2012
Apr 13, 2014

Repository files navigation

Formhub

Getting Started

Contributing

If you would like to contribute code please read Contributing Code to Formhub.

Code Structure

Formhub is written in Python, using the Django Web Framework.

In Django terms, an "app" is a bundle of Django code, including models and views, that lives together in a single Python package and represents a full Django application.

Formhub consists of three Django apps:

  • odk_logger - This app serves XForms to ODK Collect and receives submissions from ODK Collect. This is a stand alone application.
  • odk_viewer - This app provides a csv and xls export of the data stored in odk_logger. This app uses a data dictionary as produced by pyxform. It also provides a map and single survey view.
  • main - This app is the glue that brings odk_logger and odk_viewer together.

Internationalization and Localization

Formhub can be presented in specific languages and formats, customized for specific audiences.

These examples were derived from Django's Internationalization and Localization Documentation and there is also a good explanation in The Django Book's Chapter on Internationalization.

To generate a locale from scratch, e.g. Spanish:

$ django-admin.py makemessages -l es -e py,html,email,txt ;
$ for app in {main,odk_viewer} ; do cd ${app} && django-admin.py makemessages -d djangojs -l es && cd - ; done

To update PO files

$ django-admin.py makemessages -a ;
$ for app in {main,odk_viewer} ; do cd ${app} && django-admin.py makemessages -d djangojs -a && cd - ; done

To compile MO files and update live translations

$ django-admin.py compilemessages ;
$ for app in {main,odk_viewer} ; do cd ${app} && django-admin.py compilemessages && cd - ; done

About

Mobile Data Collection made easy.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 61.2%
  • JavaScript 26.7%
  • HTML 9.3%
  • CSS 2.2%
  • Shell 0.5%
  • Makefile 0.1%