Giter VIP home page Giter VIP logo

xlsform-offline's Introduction

⚠️ 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

xlsform-offline's People

Contributors

estberg avatar lognaturel avatar shouryaj avatar yanokwa avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

xlsform-offline's Issues

Conversion errors: (<type 'dict'>, {u'default': u'<id_string>'})

Note: I'm assuming that this issue is coming from the PyXForm dependency. An issue has been posted there - XLSForm/pyxform#224


Description

When trying to convert a certain file (attached), I get an error of the following syntax...

Conversion errors:
(<type 'dict'>, {u'default': u'<id_string>'})

...where "<id_string> represents the value of an id_string field within the settings worksheet.

Additional information

Here's the literal error I received:

Input file: /Users/joeflack4/Desktop/AUTO-v2-jef.xls

Conversion errors:
(<type 'dict'>, {u'default': u'get_option_from_two_repeat_answer'})

I've attached the file where this issue occurred. I believe id_string SurveyCTO's equivalent of form_id. This bit me recently when some SurveyCTO users were trying to use ppp.

It would be pretty easy to add support for this form_id variant in in PyXForm, or at least provide a better error message.


Attachments
1.
AUTO-v2-jef.xls.zip

Trojan.MBT,gen detected by AV software

Hi,

As the online version of the XLSForm from odk was returning gateway error.
I tried to use XLSForm Offline.

My antivirus (Symantec Endpoint protection) instantly detects the .exe as a malware.
No possibility to override it (organisation-wide)

Just wanted to bring this up to your attention.

Linux Version

Greetings from Vietnam,
For the wide, wild world of free/libre and open-source, it would be wonderful to have some more generic installation script that works without Windows and Mac-specific add-ons.
Any thoughts?
Chris

Improve Travis build

Continue with #35

  • Make sure links are public
  • Fix Windows paths
  • Figure out how to zip binaries
  • Use git hash to version the binary
  • Confirm build status icon works
  • Update readme with location of build
  • Update to Python 3

ODK XLSForm Offline Errors:

ODK XLSForm Offline Errors:
[row : 997] Question with no type.
{u'choice_filter': u'Migori', u'instance': {u'odk:tag': u'Ondong Dispensary'}, u'hint': u'Suna_East', u'label': u'Kenya'}

Running bundled binary on Windows causes pop ups

Running bundled binary on Windows causes pop ups

pyinstaller

To reproduce

  • Package (make-win.bat) XLSForm Offline from master
  • Run dist/win/ODK XLSForm Offline.exe
  • Make sure Validate converted XForm with ODK Validate is enabled (and you have Java installed)
  • Convert any form. Note the pop-ups.

This does not happen when I run it from source python src/main.py. It only happens
I thought we'd fixed this at XLSForm/pyxform#166, but it would seem not.

I've tried bundling with pyinstaller 3.3.1, 3.3, and 3.2.1 and that hasn't helped.

XlsForm Offline randomly closes (Windows 10)

Description

XlsForm Offline seems to randomly close itself.

Expected behavior

Should not close randomly.

What happens instead

This information is coming from my colleague. I haven't been able to observe directly yet. XlsForm Offline seems to close either (a) at random time intervals, or (b) upon certain actions. She believes that it is (a).

Software versions

She's using the latest release, ODK XLSForm Offline v1.6.0.

What we've tried

Nothing at the moment.

Any additional information

Compatibility

Issue seems to occur on:

  • WIndows 10

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.