1. What is the issue? Please be detailed.
Mandatory questions survey data saved without answers data in ODK Central while submitting the submissions using public access link via Android/iOS Mobile.
2. What steps can we take to reproduce this issue?
We tried but not able to reproduce.
3. What have you tried to fix the issue?
as we are not able to reproduce the same issue so did not find any solution to fix it.
4. Upload any forms or screenshots you can share publicly below.
So sorry you're experiencing this, it's not something we've seen before. What version of Central are you running? Does it look like all Android/iOS submissions are blank?
Also, when you export all data and attachments (be sure to select Include fields not in the published Form), do you see the data you expect?
Thank you so much @LN for your reply!
The public access link (Anonymous URL) is being used by multiple students for survey and they are using Laptop/Desktop/Android/iOS/Tablets to fill the survey form and around 10 out of 100 surveys are getting displayed blank. I am surprised that how it is possible mandatory survey questions are being inserted as blank in ODK Central Database.
Kindly have a look on some important device information used to fill the survey.
Enketo/4.1.1 Mozilla/5.0 (Linux; Android 8.1.0; vivo 1814 Build/O11019; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/87.0.4280.141 Mobile Safari/537.36 VivoBrowser/10.8.0.0
Enketo/4.1.1 Mozilla/5.0 (Linux; U; Android 8.1.0; en-in; Redmi Note 5 Build/OPM1.171019.019) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/71.0.3578.141 Mobile Safari/537.36 XiaoMi/MiuiBrowser/10.9.8-g
Enketo/4.1.1 Mozilla/5.0 (Linux; Android 10; Redmi 8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.101 Mobile Safari/537.36
Enketo/4.1.1 Mozilla/5.0 (Linux; Android 11; Redmi Note 8 Pro) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Mobile Safari/537.36
Enketo/4.1.1 Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/184.108.40.206 Mobile Safari/537.36
Enketo/4.1.1 Mozilla/5.0 (iPhone; CPU iPhone OS 16_5_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.5.2 Mobile/15E148 Safari/604.1
Enketo/4.1.1 Mozilla/5.0 (Linux; Android 11; RMX2061) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/220.127.116.11 Mobile Safari/537.36
Thank you so much @yanokwa for your reply!
This survey form contains only single version so when we export all data and attachment with or without option Include fields not in the published Form then we get the same output (some rows with blank data (mandatory questions))
@vishvas.sahni Thanks for the additional detail. What version of Central are you using? To see your version, click on the question mark icon in the upper right section of your Central menu bar, then click Version. If you don't see the question mark, you can see the version by adding version.txt to the root URL (e.g., demo.getodk.cloud/version.txt).
Thanks for those extra details, @vishvas.sahni
This could point to an issue with the web form not actually being saved. Central relies on clients (Enketo for web forms, Collect for mobile forms) to perform validation and only send valid records. It looks like maybe Enketo is submitting a blank submission because it reached some kind of error state.
Another possibility would be that your server is running out of resources right as the submission is coming in and so it's not being saved fully. Check to see what your server's resource usage is and check your logs to see whether it has been restarting or whether you see any other error message.
Are most submissions being made from mobile? In other words, what are the devices used to make the submissions that came in correctly? If those are mobile as well, device type is probably not related to the issue.
I see Enketo 4.1.1 in the User-Agent strings which would mean you're running Central v1.5. We have made many fixes to both Central and Enketo since then so you may want to upgrade and see if it continues happening.
Thank you so much @LN for your reply and suggestions!
As per our client communication, they are not using any ODK Collect application for mobile. they are just sending ODK Central Public Links to those users via email for student's survey.
We analyzed but did not find any problem on the server side and also did not find any errors in logs.
I think It might be the case if someone manipulate the behavior of enketo and removes the validation after inspecting the page in browser at run time and then submit the survey form. In this case blank data will be inserted to database as there is no validation on server side for enketo form.
what would you say on this please.
Would you mind, please, to do some test entries/submissions to validate that the relevant clauses are working as expected? (You might use a clone of your form/project.)
Could you share a related XLSForm extract (or screenshot) of your form, with some required variables, please.
Also, make sure again, that the required was set with correct syntax: true, true() or yes. Other words (e.g. "required") are invalid, but maybe not checked on form import. (It is not checked with the ODK Online validator.)
Did anyone edit data on server level?
Is there a general consent question which can deactivate other (mandatory) questions? Maybe, you can share your (anonymised) XLSForm?
Is there a relation for the missing cases to special devices/browsers, e.g. iPhone/Safari?
Why do you think so? But would be strange for several users/devices.