Release Notes - Enketo - version 1.86.3

Listed below is a summary of changes made in the Enketo upgrade from version 1.77.0 to version 1.86.3. This Enketo version was deployed to and on 26 March 2020.

  • If last element of last row of form with Grid theme is hidden, the cells of that last row are not resized properly in the print view.
  • Textareas not resizing in pages mode when loading large text values on non-first pages.
  • jr:count does not work if number is provided instead of /path/to/count.
  • Date calculations in readonly fields do not show a value if not loaded from record
  • Text-print widget causes double URL to be shown in print view for URL widget.
  • Last row of Grid Theme form may have incorrect cell heights in print view.
  • Readonly month-year or year inputs show full underlying value instead of month-year/year.
  • The grunt build-ie11 task does not build minified javascript files, causing everything to fail in production mode.
  • /api/v2/survey/preview/iframe did not return a preview_iframe_url property.
  • Exception occurs when first repeat is created that contains a calculation if validateContinuously is set to true.
  • Rows are not always stretching correctly when printing Grid Theme forms.
  • Text-print widget is also instantiated for comment widgets, causing an issue for a customized Enketo Express application.
  • If repeats are removed in pages mode, the pages get messed up.
  • If repeats are added in pages mode during form load (default instances or loading existing record with multiple instances), the Next/Back buttons are not updated when they should be.
  • Forms in pages mode sometimes do not show correct first page upon load (regression since 1.83.0).
  • Forms in pages mode with groups or repeats without field-list appearance show empty pages (regression since 1.83.0).
  • Radiobutton questions inside repeats allow multiple selections (regression since 1.83.0).
  • Comment questions in a form in Pages mode without field-list appearances, add an empty page.
  • Error code returned by PDF endpoint is always 500 even when a more specific helpful code is available.
  • Overflowing content in text form controls is not shown on printout. WARNING: you may have to enable the new ‘text-print’ widget in config.json if you are overwriting the default widgets config.
  • Annotation and draw widget on mobile devices slightly decrease image size every time a switch between fullscreen (draw) view and full form view.
  • Annotation widget on mobile devices reveals keyboard when the colorpicker is clicked.
  • Annotate widget broken when uploading new image.
  • Forms with a odk:generated-by attribute on the primary instance child, will always have absolute repeat node references evaluated correctly (e.g. for forms generated by pyxform 1.0.0 onwards).
  • Some PDF viewers do not show radiobuttons with an opacity (e.g. a disabled radio button).
  • MS Edge does not show any checkmarks in printouts of radiobuttons and checkboxes.
  • PDF does not show background colours.
  • current() without a path, and current()/path/to/node without a step down do not work.
  • Datetime picker does not load a midnight datetime value.
  • Analog scale layout messed up in printout.
  • New mobile datetimepicker not activated properly.
  • Option labels break in middle of word instead of a space.
  • Readonly native date/time/datetime picker in iOS is fully functional when it should not be (re-introduced bug in iOS13).
  • Exception in geo widget (though may not have had negative consequences).
  • time/datetime with time between 12:00 and 13:00 not set to PM.
  • time picker in datetime shows empty value if the default value of datetime is at midnight.
  • AM/PM notation broken in time/datetime picker for non-english languages.
  • Readonly instance views are unnecessarily locked when called in quick succession.
  • Datepicker widget causes infinite loops with certain custom extensions that update values programmatically.
  • Analog scale widget layout messed up in Grid Theme on IE11.
  • Likert widget label in Grid Theme overlaps widget in print view.
  • Disabled analog-scale widget is still visible.
  • Long words break out of cell in Grid Theme.
  • Workaround for an iOS browser bug where a readonly date input is actually fully functional. WARNING: you may have to add a widget to config.json to activate, see default-config.json change
  • Updated Swedish, Dutch and Spanish translations of modal dialog introduced in 1.86.2.
  • Added modal dialog for offline-capable views that will assist users with a future technology transition (to Service Workers) in version 2.0.0.
  • The checkbox for ‘save as draft’ in offline-capable views has been replaced with a button.
  • Updated French, Spanish, Dutch, Swedish and Arabic translations.
  • Don’t load audio and video files (in labels or record) for pdf views. Warning: requires server to sent proper Content-Type header upon HEAD request.
  • “valuechange” event was changed to “xforms-value-changed”
  • The odk:generated-by attribute check on the primary instance (introduced in 1.83.0), was changed to a check for odk:xforms-version on the model node.
  • No longer trigger an inputupdate event when loading an existing itemset value.
  • Added warning for IE11 users that support is dropping soon.
  • Made PDF timeout configurable.
  • If a predicate consists of parts that contain multiple current() calls, the expression is not evaluated correctly (noticeable inside repeats for multiple-choice questions with complex choice filters).
  • Improve Docker configuration: use Node.js base image and v3 Compose file.
  • Updated Russian translation.
  • Now using native datetime picker on mobile browsers.
  • Updated German, Spanish and Dutch translations.
  • ToC now matches ODK Collect and shows all questions hierarchically.
  • Updated Russian translation.
  • XPath functions decimal-time() and decimal-date-time() now use maximum precision instead of rounding to 3 decimals.
  • Updated Swedish, Dutch and German translations.
  • Show warning if select_multiple option contains spaces in value.
  • Guidance hints are now displayed on screen as collapsible element.
  • Improvements to print style (group header size, opacity of disabled questions, line-height in Grid Theme)
  • Improved print style of select minimal widget.
  • Support for setvalue action with xforms-value-changed event.
  • Basic support for “thousands-sep” appearance on integer and decimal fields.
  • Support for setvalue with odk-new-repeat and odk-instance-first-load events.
  • Support for default drawings in all 3 drawing widgets.
  • Updated Czech translation.
  • Updated Slovak translation.
  • Updated Spanish and French translations.
  • Rating widget!
  • Support for “picker” appearance on range question.
  • Albanian language translation.
  • Make record cache expiry time configurable.
  • Support for max-pixel attribute for image uploads.
  • Building IE11 bundle automatically (now requires manual grunt build-ie11).
  • ArcGIS Geo widget.

Dear @mike.destaubin
Thanks for a lot of good change news.
Few question, please:

Could you, please, provide an example, how to use this (in XLSForm).


It would be preferable, if configuration option to show them is also added as in KoBoCollect.
Also just an Icon instead of additional text ('more details") would be better. Esp. as Guidance hint can be used without (normal) hint. We use guidance hints for example to optimise questionnaire pdf print-outs.


What does “Comment question” mean?

At the moment, this would require creating an XForm by hand. The data collection clients are a bit ahead of XLSForm here. If you’d like to have a technical preview of what it will look like in XLSForm, please have a look here.

Could you please elaborate? Would you like to open a webform with all guidance hints opened (as is the case when you use the print button)?

It’s an unofficial and mostly undocumented Enketo-only feature to add comments to questions. Here is the technical information. Fwiw, this basic comment widget was included because of the requirement of the key Enketo sponsor (OpenClinica) that have used this widget to build a very advanced clinical data review widget on top of.