Monthly Archives: February 2018

Version 18.02

New Form Management Page

The visual changes are minor however now when you click the “Upload Form” button it will use a new XLS Form uploader (see next section).  We no longer use the ODK pyxform loader.  Just in case this causes problems there is a link, under the upload button, back to the original page that still uses pyxform.  One reason you may want to use the old page is if you have to upload in XML file which the new upload function does not currently support.

There are 3 new columns in the forms list.


The new XLS Form Uploader allows you to put forms into groups.  These will then share the same data tables.  Hence if you have a form with questions; name and age plus a second form in the same group with questions; name and gender.  Then the name answer from both forms will be put into the same table column and when you export results you will see data from both surveys in that column

Groups become really useful when you use tasks to progressively complete a survey.  So form one fills in some of the data then a user is assigned an instance of form 2 to get the rest of the data.  This instance can include the data collected by the first form.

You can also set a key policy of “merge” on surveys in a group so that records are updated rather than replaced.  This could allow you to create a records management system.


Yes you can now replace a form with another uploaded from an XLSForm template.  You can do this even after you have started collecting data.  If the form you are uploading does not have questions that were in the original form then any data collected for those questions will be hidden but not deleted.

Click the replace button next to the form to be replaced, specify the new template and click upload.

The only thing you should avoid changing is the “type” of a question.  This is only a problem if you have already collected data for the old type in which case future submissions will fail.  So if you need to change type, say from integer to text, then create a new question with a different name and delete the old question.  Alternatively if you are in a position to delete already collected data, perhaps it was test data, then you can do that before collecting new data.

Get Link

Click on this button to get a link to complete a webform that does not require a password.  You can copy this link and email it to someone who does not have an account on Smap and they can then fill in the web form.

If a form has a public link then the link button will be a darker shade of blue.  When you no longer want people without accounts to complete webforms then you should delete the links.

XLS Form Uploader

Choice Lists are Preserved

Previously if you had referred to a single choice list from multiple questions then after you uploaded that data this sharing of choices would all be lost.  If you then made changes to the form in the online editor and downloaded the resultant XLSForm you would have a mass of duplicate choices.  This no longer happens and you will get your original choice lists back.

Question Parameters

These have been added to odkCollect and fieldTask but previously could only be added to a survey using the online editor. Add them in the parameters column of the survey sheet.  Separate multiple parameters using a space. Examples include:

  • rows=5                    Set the number of rows in a text question
  • max-pixels=500     Set the maximum number of pixels on the longest edge of a photo to 500. The photo will be scaled accordingly.  This can be used to reduce the size of images.

And many others.  Check the Survey Edit Reference on the google help drive for a complete list.

Specify Security Roles

Roles you specify for a form will be created if they do not already exist.  If you add a role but do not specify columns or row filters then a person must have that role in order to be able to see the new form.

To add roles with column filters add a column  role::”role name” in the survey work sheet.  Specify any questions that should be visible to that role by putting “yes” in that role column for that question.

To add a role with a row filter add a column role::”role name” in the settings work sheet.  Specify the row filter underneath the role.

Other Uploader Changes

  1. Simpler clearer error messages
  2. Error messages are in multiple languages (well spanish at any rate, contributions for other languages are welcome)
  3. Support for questions of type “chart”

Bug Fixes and other Changes

  1. The api call that retrieved data in json format has been substantially optimised to reduce memory usage
  2. Issue 188. Times in PDF exports are now set to local time.
  3. The latest version of fieldTask is now included in the release so it can be downloaded from the web server rather than google play store.  The website will attempt to check if your Android version is greater than 4.0 and if so it will get the new fieldTask.  Otherwise it will get the old one.
  4. Added a user security group of “view_data”.  People with this role will be able to view aggregated results like an analyst but will not be able to delete data or create new forms.