Table of Contents

Save

When the user presses the Save button, this triggers the save behavior.

snapLocation

Setting snapLocation to the name of a geopoint question will create a popup to acquire the GPS location. This feature is only active when wizardMode is enabled.

type name label
geopoint f_location Location
select_one animal f_animal Animal
text f_note Note
surveychoicessettings
title bind::ct:save.snapLocation
My form f_location
surveychoicessettings

In this example, the user flow will be:

targets

In the example below, the user will be presented with a popup containing the choices Restart or Another. After the sighting is saved, a new sighting will be created starting at the targeted question. All prior question data will be replicated into the new sighting.

This value must be a valid JSON array.

type name label
select_one animal f_animal Animal
select_multiple behavior f_behavior Behavior
text f_note Note
surveychoicessettings

restart and another are taken from the choices sheet in the saveTargets list name.

list_name name label
saveTarget restart Restart
saveTarget another Another
surveychoicessettings

Note that question is the name of the targeted question in the survey table. If the question is not relevant, then this choice will be hidden.

title bind::ct:save.targets
My form [{ "choice": "restart", "question": "f_animal"}, { "choice": "another", "question": "f_behavior"}]
surveychoicessettings

Note that if immersive is set to false, then the target list will automatically contain the home button. This option will save and return to the Home page without automatically creating a new sighting.

track

In the example below, there is a select_one question called f_track with choices start, stop and nochange. When the user presses Save, the track timer is adjusted depending on which choice was selected. The values in updateIntervalSeconds and distanceFilterMeters are the new track settings.

This value must be a valid JSON array.

type name label appearance
file f_track_file Track file hidden
select_one track_items f_track Configure track
text f_note Note
surveychoicessettings
list_name name label
track_items start Start
track_items stop Stop
track_items nochange No change
surveychoicessettings
title bind::ct:save.trackFile bind::ct:save.track
My form f_track_file [{ "condition": "selected(${f_track}, 'start')", "updateIntervalSeconds": 5, "distanceFilterMeters": 10 }, { "condition": "selected(${f_track},'stop')", "updateIntervalSeconds": 0, "snapTrack": true }]
surveychoicessettings

condition is an XlsForm expression which activates this option if matched, e.g. ${start_stop}=’start’. Check out the ODK Form Logic documentation.

updateIntervalSeconds is the number of seconds between GPS readings. Set to 0 to disable the track timer.

distanceFilterMeters is the minimum distance between readings in meters. This is optional and by default no distance filter is used.

snapTrack causes the system to snapshot all the track points (since prior snap).

If using Survey123 and locationServiceUrl is specified, then the track data will be sent to the feature service. Otherwise, a track file will be created and added to a file type question in the form. See the section on the track file here.