mnahmad / xlsform-offline

ODK XLSForm Offline is a Python application for converting an XLSForm into an XForm that is valid and compliant with the ODK XForms specification. Contribute and make the world a better place! ✨🌍✨

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ODK XLSForm Offline

Platform License Slack status

ODK XLSForm Offline is a Windows and macOS application for converting an XLSForm into an XForm that is compliant with the ODK XForms spec. Once converted, the application also validates that the XForm will run perfectly with all ODK tools.

ODK XLSForm Offline 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.

Prerequisites

  1. Install Python 2.7
    • If you are on Windows, you must install the 32 bit version. For Ubunut Linux, python 2.7 is installed by default.
  2. Install Python packages:
    • macOS/Windows: pip install pyinstaller wxpython pyxform
    • Linux (Ubunut 16.04):
      • Uninstall older version of wxPython (as it is installed bydefault ) sudo pip uninstall wxPython
      • Also uninstall older version of wxPython-common sudo pip uninstall wxPython-common
      • Simple pip install wxPython will not work as per this post as it will generate compilation errors, thus, easiest way to install wxpython is by using command sudo pip install -U -f https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-16.04 wxPython that includes archive path.
  3. Install packaging utilities
    • macOS: brew install unix2dos
    • Windows: upx

Run

To run the app, python src/main.py

Package

The easiest way to package is to use a macOS machine running a Windows 10 virtual machine and a macOS virtual machine. Both VMs should have Python installed natively (no virtualenv, no pyenv) to minimize problems with pyinstaller.

  1. In the macOS VM, run ./make-mac.sh to build the Mac binary.
  2. In the Windows VM, run make-win.bat to build the Windows binary.
  3. Copy the resulting binaries into the dist/mac and dist/win folders on the host machine.
  4. On the host machine, run ./make-dist.sh to zip up the Mac and Windows binaries.

About

ODK XLSForm Offline is a Python application for converting an XLSForm into an XForm that is valid and compliant with the ODK XForms specification. Contribute and make the world a better place! ✨🌍✨

License:Other


Languages

Language:Python 90.7%Language:Shell 5.1%Language:HTML 3.5%Language:Batchfile 0.7%