Fwd: [openXdata-dev] A more robust version of ODK Client that works with the OXD platform is now ready

28 views
Skip to first unread message

Peter Wakholi

unread,
Sep 23, 2014, 11:02:36 AM9/23/14
to openxda...@googlegroups.com

---------- Forwarded message ----------
From: Peter Wakholi <pwak...@cit.ac.ug>
Date: Tue, Sep 23, 2014 at 5:46 PM
Subject: Re: [openXdata-dev] A more robust version of ODK Client that works with the OXD platform is now ready
To: "openxd...@googlegroups.com" <openxd...@googlegroups.com>
Cc: Jørn Klungsøyr <Jorn.Kl...@cih.uib.no>, Shashank Garg <garg.s...@gmail.com>


Hi all,
At omnitech, we have been trying to use the ODK to collect data with openXdata however there were many forms that did not render properly on odk.
 
So we decided to rewrite the whole conversion process of OXD to ODK xforms  reusing the library we developed for the text based form designer.
https://trac.openxdata.org/wiki/FormMarkupEditor. This Editor outputs both ODK Xforms and OXD Xforms.
 
The library is now ready for beta testing. You Can download the protocol and library here http://goo.gl/N5uW6Z
This library can render almost any openxdata form that was designed by the oxd formdesigner.
So far these are some of the issues that we have tried to address
  1. Dynamic selects are now working
  2. Boolean questions support now working
  3. Basic conversion of XPath expressions referencing boolean or multi-select e.g /data/mutiQn = 'option' is converted to selected(/data/multiQn, 'option')
  4. Implemented of jr:count on repeats.(this converts expression like length(.) = /data/q1 to jr:count = '/data/q1'). 
  5. Fixing Xpath paths e.g data/q1 is corrected to /data/q1
  6. Visible and invisible attributes are now supported
  7. Support for hide and disable actions by negating the logic.
  8. Validation messages
  9. Start time and end time
The protocol uses the same code as the official openxdata protocol with just a single change in the ODKProtocolHandler.oxd2odk() method which delegates to the conversion library. 
Attached is the protocol and library. Unfortunately for now the converter library Cannot be bundled into the protocol because of the classloader magic that happens in the loading of protocol which leads to memory leaks among the groovy classes.
Instruction of how to install:
  1. Download  http://goo.gl/N5uW6Z and unzip contents
  2. Download http://repo1.maven.org/maven2/org/codehaus/groovy/groovy-all/2.0.8/groovy-all-2.0.8.jar
  3. Copy odk-groovy-proto-1.0-SNAPSHOT.jar to <openXdata.directory>/WEB-INF/protocol-jars
  4. Copy oxdmarkup-parser-0.2-SNAPSHOT.jar to <openXdata.directory>/WEB-INF/lib
  5. Copy groovy-all-2.0.8.jar to <openXdata.directory>/WEB-INF/lib
  6. Edit <openXdata.directory>/WEB-INF/protocol-jars/protomap.properties and Edit this line odk-proto-1.0=odk-proto-1.3 to look like this odk-proto-1.0=odk-groovy-proto-1.0-SNAPSHOT
  7. Startup up tomcat and test.
Copy the oxdmarkup-parser-0.2-SNAPSHOT.jar and the 
 
For any technical questions, please get in touch with Ronald Kayondo.
Peter Khisa Wakholi (PHD)
CEO, OMNI-TECH Ltd,
Tel: +256-312-110463
Mob: +256(0)775-144070
Skype ID: p.khisa

 



--
Peter Khisa Wakholi (PHD)
Lecturer, School of Computing and Informatics Technology
Room 307 Block A, COCIS
Makerere University
P.O.Box 7062 Kampala, UGANDA
Fax: +256-41-540620
Skype ID: p.khisa
Reply all
Reply to author
Forward
0 new messages