Skip to content

ODK XLSForm.exe is a Windows 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

Archaejohn/xlsform-windows

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ODK XLSForm.exe

Platform License Slack status

ODK XLSForm.exe is a Windows application for converting an XLSForm into an XForm that is compliant with the ODK XForms spec.

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

Please read

  • XLSForm.exe does not work on every computer, it does not validate the output XML, and it is not updated frequently. For these reasons, we recommend you use the online XLSForm converter.
  • When running the app, some users might be missing the Microsoft Visual C runtime DLL on their computer. This DLL is not bundled with the exe and there is no easy workaround for these users.

Using XLSForm.exe

  1. Download the zip from the ODK website.
  2. Extract it somewhere.
  3. Drag an XLSForm onto XLSForm.exe.
    • A corresponding XForm will appear in the output directory.

Setting up your build environment

  1. Install Git and add it to your path.
  2. Fork the xlsform-windows project (why and how to fork).
  3. Clone your fork of the project locally. At the command line:
    • git clone https://github.com/YOUR-GITHUB-USERNAME/xlsform-windows
  4. Install Python 2.7.x (32-bit).
    • Add C:\Python27 and C:\Python27\Scripts to your path.
  5. Install required libraries for pyxform.
    • pip install xlrd unicodecsv
  6. Download elementtree (zip).
    • Unzip and run python setup.py install in the unzipped directory.
  7. Install py2exe (32-bit for Python 2.7).

Building the exe

  1. Download the latest release of the pyxform source.
  2. In XLSForm.exe's root directory, add the nested pyxform directory from pyxform's source.
  3. In XLSForm.exe's root directory, run python setup.py py2exe.
    • You may get an expected warning about missing modules and binary dependencies.
    • The build is successful when there is a xlsform.exe file inside the dist directory.
  4. Inside the dist directory, create an output directory.
  5. Confirm xlsform.exe works dragging a sample file onto the binary.
    • A corresponding XForm will appear in the output directory.
    • You can also run it from the command line to see debugging information, if any.

Packaging the exe

  1. Build the exe and confirm it works.
  2. In the dist directory, rename the xlsform.exe file to XLSForm.exe.
  3. In the dist folder, make sure output is empty.
  4. Rename the dist directory to XLSForm vx.x.x.
  5. Right-click on XLSForm vx.x.x, choose Send To / Compressed (zipped) folder.
    • The resulting zip file is equivalent to the zip available on the ODK website page.

Contributing code

Any and all contributions to the project are welcome. ODK XLSForm.exe is used across the world primarily by organizations with a social purpose so you can have real impact!

Issues tagged as quick win should be a good place to start. There are also currently many issues tagged as needs reproduction which need someone to try to reproduce them with the current version of ODK XLSForm.exe and comment on the issue with their findings.

If you're ready to contribute code, see the contribution guide.

Downloading builds

Current and previous production builds can be found on the ODK website.

About

ODK XLSForm.exe is a Windows 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

Languages

  • Python 100.0%