ODK Survey forms not appearing when pushed from App Designer via USB

What is the problem? Please be detailed.
I am following the instructions in the Application Designer (2.0.1) documentation on creating and loading a form into ODK Survey.

Creating and Loading a Form into ODK Survey

Below are the steps to create a new form from the exampleForm:

  1. Within the Application Designer’s folder, create the following directory structure app/config/tables/your_table_id/forms/your_table_id/
  2. Copy the exampleForm.xlsx from app/config/tables/exampleForm/forms/exampleForm/ into this new directory.
  3. Rename the XLSX file to your_table_id.xlsx
  4. Edit the XLSX file and on the settings page, change the value for table_id to your_table_id. Then update the display title for the survey and the form version. Save the changes.
  5. If you have not already, run grunt to launch the Chrome browser and open the Application Designer home page.
  6. Navigate to the XLSX Converter tab, choose this file to convert it. Once converted, choose Save to File System and click OK on the 3 pop-ups that alert you to the saving of 3 files to the file system. …
  7. Repeat the edit, conversion, and save steps to update the columns in your table and your survey form.
  8. Connect your device to your computer with a USB cable.
  9. Ensure that all of your ODK tools have been Force Closed. Do this via the Settings / Apps screen.
  10. Use OI File Manager to delete the /sdcard/opendatakit/default/data directory – deleting all tables and their data from the device.
  11. In a separate command window, navigate to the Application Designer directory and type grunt adbpush-default-app to push the contents of the app/config directory to your device.
  12. Start ODK Survey. The form should now be available in ODK Survey.

I’m following these steps exactly. The only difference I notice is that my device installs onto internal storage, not the SD card.

When I get to step 12, I’m greeted with a very empty screen in ODK survey. The only UI that appears are 3 icons on the top, and the rest of the screen is blank, except for a message that says:

Nothing available to display.

Try getting and filling out a blank form.

I investigated a little more and saw that perhaps the directory structure was not as I expected. I don’t see why there would be a config directory nested within default/config.

└── opendatakit
    └── default
        ├── [other folders] 
        └── config
            ├── assets
            ├── config
            │   ├── assets  <-- has much more stuff in it than '../assets'
            │   └── tables  <-- my form here
            └── tables  <-- empty

I even tried correcting this by overwriting config/assets with config/config/assets and doing the same with “tables”. But loading ODK Survey, still nothing appears.

What ODK tool and version are you using? And on what device and operating system version?

  • Phone Model: Tecno W4
  • OS: Android 6.0
  • ODK Services: rev 218 (Latest)
  • ODK Survey: rev 219 (Latest)
  • App Designer: rev 218 (Latest)
  • OI File Manager: 2.2.2 (Latest)

What steps can we take to reproduce the problem?

  1. Have the latest versions of all of the ODK 2.0 software as shown above.
  2. Follow the steps in the ODK Application Designer documentation as shown above.
  3. Try to get as close to my configuration as possible (maybe the only other thing you’d have to do would be to have Android 6.0 and/or a Tecno W4 phone).

What you have you tried to fix the problem?

  1. Software Updates - I initially didn’t have the latest versions of all of the various software, so I did an uninstall, deleted the outdated version directories on both my mac and on my Android, installed the newest stuff, loaded application designer, and repeated the whole process as described in the documentation again. No progress.
  2. Less forms - Initially the application designer came pre-loaded with a lot of stuff already in app/config/tables, so I tried removing most/all of the other forms. No progress.
  3. Playing with ODK Services & ODK Survey - I tried installing the sample application per the ODK Survey documentation. It did sync successfully and download the sample forms, which worked fine. I tried then to repeat the steps to load forms from application designer by USB, but this didn’t help any. Upon re-loading ODK Survey, only the sample forms I had downloaded appeared in the menu.

Anything else we should know or have? If you have a test form or screenshots or logs, attach here.
Issue on GitHub: https://github.com/opendatakit/opendatakit/issues/1364

Hi Joseph,

Try this:

  1. Open ODK Survey.
  2. Tap the Gear Icon in the upper right. This should open the settings menu.
  3. In this menu, select “Reset Configuration”. It should be the second option from the bottom.
  4. It will ask if you are sure. What this is doing is forcing it to clear its cache and recheck the file system for your form definitions. The initialization logic will be rerun and the file system rescanned. This same process actually happens each time you synchronize with the server. Select Yes to proceed.
  5. Back out of this menu to the Survey homescreen. You should see a dialog menu scanning for table definitions (much like you do after synchronizing).
  6. When this is complete you should see an “Initialization completed” pop up. Press OK. You should now have access to your forms.

Let me know if that works for you.

Regards,
Jeff Beorse

Hi Joseph!

So you may have just omitted mentioning it, but I noticed that you did not list ODK Tables in the tool and version you are using. Possibly this was just an oversight in your description, but if not, it might also be the source of your problem. It is not the super-clearest in the documentation, but ODK Survey works in tandem with ODK Tables. If you don’t have it already, try downloading Tables (rev219, just like Survey) to your tablet. Then you can re-run the workflow, but in step 12 start ODK Tables then ODK Survey. Hopefully it will initialize your tables.

Best,
Caroline

Much apologies for the late reply! Better late than never I suppose. It looks like my team is going with ODK 1.0 for this project. However, those both look like excellent suggestions and worth trying. I’ll give them a shot.