Programming Form actions and data passing

Hi Everyone

Ive got some generic questions about ODK Forms and the interaction that can
be built into form value/button selection, particularly with performing
actions on the device, or passing values from the form somewhere else.

The examples I have given are not the problems I am trying to solve, I have
just given them as examples to exemplify what I am asking.

  1. Can ODK be programmed to start from an action on another application?
    eg: If i build a button inside my camera application, can i config this
    button to start ODK when i press it?

  2. Can an ODK form be selected, based on the input another application AND
    can fields in the form be populated based on values sent from another
    application?
    eg: If I have a contact in my contacts list, can I configure a menu item to
    load ODK,

  3. Can a button on an ODK Form drive other actions on the tablet? Eg: On my
    form, can I have a 'go to gmail' button which will load my gmail.

  4. As an extension of option 3, Can ODK data values be sent to another
    application when an action is selected? Eg: When i press my 'Go To Gmail'
    button, Gmail loads and has the form values populated into free text on the
    email.

  5. Can ODK have conditional buttons/actions inside a form? eg: On Screen 1,
    if Option A is selected to be true, then the form screen will navigate to
    Screen 2, else if Option A is selected to be false, the form will Navigate
    to end screen.

Thanks everyone in advance.

Regards

Nathan

(1) -- yes -- this usually involves modifying the program that would invoke
ODK so that it issues the appropriate request. I.e., you would need a
custom camera app that you modify to do this.

(2) See the code in ODK Tables -
http://code.google.com/p/opendatakit/source/browse/src/org/opendatakit/tables/utils/CollectUtil.java?repo=tables
It constructs an instance file from existing data, then launches ODK
Collect.

(3) We currently have widgets that launch other apps to return strings,
integers or decimal values, and there is a widget in the source tree (not
yet in release) that opens the browser to display a URL. See
http://opendatakit.org/help/form-design/examples/#string_3rd_party

(4) This would require writing your own widget, as it would need to know
how to construct the appropriate request for the e-mail app (this is just
like (1) above, but going the other direction). CTO Survey has an ODK
Collect variant that sends a set of fields to another app - you might
contact them.

(5) See http://opendatakit.org/help/form-design/binding/ and
http://opendatakit.org/help/form-design/xlsform/ -- there are 'relevant',
'readonly' and 'constraint' predicates that you can apply to any data field.

ยทยทยท On Wed, Oct 23, 2013 at 8:33 PM, Nathan Regan wrote:

Hi Everyone

Ive got some generic questions about ODK Forms and the interaction that
can be built into form value/button selection, particularly with performing
actions on the device, or passing values from the form somewhere else.

The examples I have given are not the problems I am trying to solve, I
have just given them as examples to exemplify what I am asking.

  1. Can ODK be programmed to start from an action on another application?
    eg: If i build a button inside my camera application, can i config this
    button to start ODK when i press it?

  2. Can an ODK form be selected, based on the input another application AND
    can fields in the form be populated based on values sent from another
    application?
    eg: If I have a contact in my contacts list, can I configure a menu item
    to load ODK,

  3. Can a button on an ODK Form drive other actions on the tablet? Eg: On
    my form, can I have a 'go to gmail' button which will load my gmail.

  4. As an extension of option 3, Can ODK data values be sent to another
    application when an action is selected? Eg: When i press my 'Go To Gmail'
    button, Gmail loads and has the form values populated into free text on the
    email.

  5. Can ODK have conditional buttons/actions inside a form? eg: On Screen
    1, if Option A is selected to be true, then the form screen will navigate
    to Screen 2, else if Option A is selected to be false, the form will
    Navigate to end screen.

Thanks everyone in advance.

Regards

Nathan

--
You received this message because you are subscribed to the Google Groups
"ODK Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to opendatakit-developers+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

--
Mitch Sundt
Software Engineer
University of Washington
mitchellsundt@gmail.com