Skip to content
This repository has been archived by the owner on Apr 30, 2021. It is now read-only.
/ xlsform-offline Public archive

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

Notifications You must be signed in to change notification settings

getodk/xlsform-offline

Repository files navigation

⚠️ ODK XLSForm Offline is no longer being updated. Please use ODK XLSForm Online or pyxform instead. ⚠️

We are no longer doing active maintenance on ODK Aggregate. The recommended replacement is XLSForm Online. Central is fast, actively-developed, and addresses many of the issues that users have had with Aggregate over the years. Fixes and small improvements to Aggregate are welcome, but please discuss in an issue or on the forum first to make sure that a reviewer will be available.

Overview

Platform License Build status Slack

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

Prerequisites

  1. Install Python 3.6
    • Windows: Use the 32 bit version.
  2. Install Python packages: pip3 install -r requirements.txt
    • macOS: Use the default Python. virtualenvs will not work.
  3. Install packaging utilities
    • macOS: brew install unix2dos upx
    • Windows: upx

Run

To run the app, python src/main.py

Automated packaging

Travis will automatically build all of this repo's branches and place the binaries here for 30 days.

{GIT_HASH} should be replaced with the output of the command:

git describe --tags --dirty --always

Manual packaging

The easiest way to do manual packaging 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.

Releases

Before releasing a version, be sure to update the version in src/res/about.html

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! ✨🌍✨

Resources

License

Stars

Watchers

Forks

Packages

No packages published