Hello guys,
I am facing a strange issue for the first time while using the KoboToolbox app on a tablet. I am working on a specific survey that starts with a logo, but I am receiving the following error message:
“File: /storage/emulated/0/Android/data/org.koboc.collect.android/files/projects/2002927-6909-4cbf-8870-4759e6b4c3a2/forms/Gender Training Amman LPC Pre Test-media/usaid_logo.png is missing.”
Additionally, when the user reaches the phone number field, they are shown the constraint message that already exists. However, if they go back one step and then return to the phone number field, the problem disappears.
I would like to point out that I have worked with the same XLSForm before without any issues, and these errors only occur on the mobile app, whereas everything works fine on the online forms.
also i would mention that i’m using Pull data function
you can find the attached xlsform that i use. Pull Data New xlsform.xlsx (15.0 KB)
After playing around with your form a little, it appears the Collect Android app doesn’t seem to like multi-language media images (!?), but when I instead replace both your original media::image::Arabic (ar) and media::image::English (en) columns with a single image column (see XLSForm Docs) your logo shows up correctly in the app, for both languages.
In regards to the issue with the phone number, I suspect its because the phone_number_exists calculation isnt re-evaluated until after the constraint on the phone_number_001 is entered - in the app - whereas perhaps Enketo is evaluating them in slightly different order… I might suggest consolidating the phone_number_exists calculation directly into the constraint calculation; that should guarantee the entire calculation is performed when you are checking the constraint.
[@Kal_Lam - have you seen this apparant difference in behavior wrt multi-language media attachments between Enketo and Collect before? Specifically, has this been checked against KoboCollect?]
Thanks! I wasnt aware of this apparent distinction/difference in behavior between the Android app and Enketo around specifying language-specific media file till I started digging into this! So it’ll be good to confirm (and document) what each of their precise behaviors is, and what the best practice should be for specifying something in your forms that’ll behave as expected under hopefully both.