Alternative ODK-OXD protocol Bridge-Intructions reposted

33 views
Skip to first unread message

Ronald Kayondo

unread,
Sep 25, 2014, 1:09:54 PM9/25/14
to openxd...@googlegroups.com, openxda...@googlegroups.com
Hi all,

Following the previous post about an alternative ODK-OpenXdata protocol bridge. Some people got a ClassNotFoundException for org.antlr.runtime.Parser. I have now included the ANTLR library in the zip file. Below are the instructions again.

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 antlr-runtime-3.4.jar  to <openXdata.directory>/WEB-INF/lib
  6. Copy groovy-all-2.0.8.jar to <openXdata.directory>/WEB-INF/lib
  7. 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
  8. Startup up tomcat.

The bridge/protocol converts successfully about 95-100% of all forms that were designed in the oxd designer and preserves there behavior on odk. It makes a little more extra effort to make sure that the form can run on the stock odk as it would on mforms or the web form runner.

Just an example of how xpath expressions are transformed.Assuming "/f/mq" is a binding reference to a multi-select question then
this expression 'calculus' = /f/mq and /f/mq != 'biology'
is transformed to selected(/f/mq, 'calculus') and not(selected(/f/mq, 'biology')) .

We are currently testing it in production at omnitech and so far we have not had any issues.

If you have any more issues feel free to ping me.

Regards,
Ronald. K
Reply all
Reply to author
Forward
0 new messages