My forms won't send because all the columns are missing

Apologies in advance if this has been answered elsewhere; searching the Support category using a number of different key words didn't turn up any obvious similar threads.

I've created some forms using the downloadable odkbuild.x64 0.3.3 form builder tool, and gotten them set up to send to Google Drive. Using ODK Collect, the blank forms load up to the device without error, and I can fill them out just fine.

When I try to submit the forms, I get the following error:

ODK Auto Send Notification ::
FormName – Spreadsheet is missing the following column: Form-Name-Col1, Form-Name-Col2....(repeat for all columns)...Form-Name_meta-instanceID

I'm using ODK Collect v1.13.2 on a Google Pixel (Android OS version 9)

This error occurs with any of the forms that I've created and which I'm trying to send to Google Drive. At this point, I'm just trying out my forms and seeing if they look reasonable, so I'm not losing any valuable data.

I'm unsure where the problem is, as the Google Sheets form that I'm using to create the XML that produces the ODK forms has all of those columns.

Thanks in advance for any help!
-Jesse

Hi @jminor! In order to submit data to Google Sheets, you have to have a blank Google Sheet whose address/URL is added as the Submission URL. Did you do that?

We have yet to add all the details about Google Drive/Sheets to the ODK docs. The issue has been filed at https://github.com/opendatakit/docs/issues/748, but we have yet to make good progress :sob:

Until those docs are written, you should watch @rfletch0's great video below that details all the steps.

There are also written, but likely out-of-date instructions, available here:

Also, please upgrade to the latest version of Collect (v1.17)! We've made a lot of improvements to the Google Sheets integration and you are totally missing out.

1 Like

Hello Yaw @yanokwa ,
I really appreciate your reply. This was a very rapid and contains useful suggestions, and again I thank you for taking time to reach out like this.

Yes, I have a blank Google Sheet (retitled "results"), the URL of which was added to the Submission URL on the Settings tab. With the exception of the new "results" tab, the other tabs (survey, choices, settings, warnings) were auto-created in the XLS sheet that downloads from the form builder tool I was using.

One new element that I noticed: My photos from my attempt to load a form with dummy data went to a different Google Drive folder than the one I was expecting. Perhaps that's the basic problem here. I'll look at all the settings again, and retry the load blank form - send completed form cycle again.

Thank you for the link to the github page with the additional details. I will look at that now and see if that helps me solve this problem. And thank you for @rfletch0's video; I will certainly take a look at that this afternoon.

This problem shouldn't be so hard to solve, but I'm stuck for some reason.

Best,
Jesse

Hello Yaw @yanokwa,
Perhaps I misunderstood the original instructions, and made a new blank TAB for results within the Google Sheet form, rather than an entire new SHEET.

I made a few other changes, but I think the hint that might have helped the most was looking at your github notes, and the comment from a user about having submissions be editable by the users of the forms.

I'm still having some odd behavior with a form that includes a cascading question; it doesn't show the later questions currently if the trigger selection is made. At any rate, I'm getting forms loading data into my Google Sheets, so that's a HUGE improvement.

Again, thank you for sending those links and the video, and thank you for the support you've offered in these forums.
-Jesse

1 Like

Glad things are working, @jminor! I'm not understanding the odd behavior your are seeing. Typically, only answers that are relevant (e.g., visible as you move through the form) are saved and sent. If you are seeing something different, perhaps you can share the details of your form?

Hello Yaw @yanokwa,
I'd be happy to share details of my form. How best to do that? I have attached a previous version of the form that was exhibiting the behavior: not stepping through the cascading question. If you prefer something different than this attachment (format or share style), please let me know and I'll do that.

Weather-Conditions_DRAFT_ODK.xml (3.5 KB)

Sorry, I should have specified. Could you share the XLS instead?

Hello Yaw @yanokwa,
Yes, definitely I can send the XLS version. Here is a different form, but it has the same problem of not displaying the cascading questions. Stream_Physical-Characterization.xlsx (19.8 KB)

One issue I've run into is that the forms won't upload onto my device unless I strip out what appear to be extraneous occurrences of () in the "relevant" column. Those empty () occurrences don't appear in every row/question, but if I leave any of them in the sheet and convert to XML document, the form will not successfully load to the device.

Removing those blank () tags might not be the right thing to do, though.

Thank you for continuing to help with my problems here. At this point, I have the several forms I need successfully loading to ODK Collect, and returning good data (if not as clever and beautifully designed as I'd hoped) back to Google Drive.

I'm using this particular set of forms for a class I'm teaching, and so I'm really hoping to get it working smoothly so the multiple users can collect and send data.

Best,
Jesse

@jminor you've seem to have discovered a bug with the extra (). I have filed the issue at https://github.com/opendatakit/build/issues/208. If you can share your ODK Build form, that would help us track it down.

As to the cascade, I think your use of cascades conflicts with how we use it. When we say cascades, we mean something like starting with a list of continents, then if you select one continent, the next screen shows you a list of countries in the selected continent.

Is that what you mean by cascading? If so, what specific questions in your form did you want to cascade? If not, perhaps you can explain what you meant?

Hi, @jminor. I had the same problem, and my solution was create the blank sheet directly on google drive and no create it on my computer and after upload it on google drive. the problem was fixed.

1 Like

Hi, I also faced the same problem, but it got resolved as soon as I manually changed the Name of the form at the end of the survey (inside Collect) to match exactly with the excel file name.

Hello Abhijit,
That's a great tip; thank you for suggesting it!

-Jesse

1 Like