1. Home
  2. Documentation
  3. Troubleshooting
  4. Forms and preloads

Troubleshooting

Forms and preloads

An upload that is refused, preloaded answers that arrive empty, pictures that do not show, a compiler fix that did not reach a form, and a form ODK Collect will not open.

Joripo documentation · https://joripo.com/docs/troubleshooting/forms

On this page

The upload is refused

A refused workbook changes nothing that is already live. The message names the sheet, the row and the column. The usual causes:

  • A type, appearance or expression Joripo cannot read. Check the spelling against Question types and Expressions and logic.
  • A loop between calculations and relevance: a field that depends on itself through others.
  • A name used twice for two groups, two repeat groups or two data fields, because the exported data has one column per name.
  • The version is not a single whole number higher than the deployed one, with the same number of digits. See Versions and form files.
  • The form ID is already a form in the workspace and you used the top-level Upload: use that form's own Upload button to publish a new version.
  • A public_key on the settings sheet. Form encryption with a public key is not built, and such a form is refused rather than stored in the clear.
  • Your plan's form limit is reached. A new form cannot be added until you delete one or move to a larger plan; a new version of an existing form is always allowed.

Preloaded answers arrive empty

A form that reads a CSV with pulldata() or search() compiles and deploys whether or not the file is there, and without it every preloaded value is blank, which in the field looks like the survey working. Check the three things a preload needs (see Server datasets and preloads):

  1. the form names the file, for example pulldata('hh_list', …);
  2. a file hh_list.csv, or a server dataset with the ID hh_list, is attached to this form; each deploy message names any preload file nothing has attached;
  3. the key you look up exists in the file's key column, spelled the same way.

Letter case in the file's name does not matter: a form asking for Ben_list.csv receives an uploaded ben_list.csv. A file named .csv that is really an Excel workbook is converted before phones receive it.

Then open the form in the tester. It reads exactly the attachments a phone downloads, so preloads that work there work on the phone.

A picture, sound or video does not show

The deploy message names any media file the form uses that is not attached ("the picture will not show"). Attach it from the form's Attachments panel, under the exact name the form uses. A media file chosen per answer (${img} in a media column) cannot be checked at upload: test the answers that choose it.

Joripo was updated, and the form still behaves the old way

A deployed form is a snapshot: the XForm compiled when it was uploaded is what phones keep receiving. Upload the workbook again as a new version to get a definition built by the current release. The server's maintainer can also rebuild a deployed form in place under its current version, so that phones do not see a new version.

ODK Collect will not open the form

ODK Collect runs the standard XForm only. A form that uses a function only Joripo's runtime implements cannot open there; the upload names each such function, and the function reference marks them. Use Joripo Collect for that form, or rewrite the expression with functions that work everywhere. See Compatibility with SurveyCTO and ODK.

A form cannot be saved on a Windows server

A long form ID appears twice in the path of a form's definition, which can pass Windows' old 260-character limit. On a Windows server with long paths switched off, such a form cannot be saved. Whoever runs the server switches long paths on; see A server on a Windows computer.