App runs fine on device, form won't open in Application Designer

Hi all -
I am working in Application Designer 2.1.9 (on Ubuntu). My forms push just fine to my device (using ‘grunt adbpush’), and they work as expected on the device. Back on my computer, ‘grunt’ opens Chrome and all the default tabs as well.

In Chrome, the preview tab is reading the framework form (framework.xlsx) and giving me the opportunity to click on the form I want to open. BUT it cycles between a ‘choose a form’ page and then a page with a ‘follow link’ button. (e.g. I click ‘follow link’ and the page returns to ‘choose a form’) I can’t get to my Survey form, it does not open.

I’m guessing this is related to the Tables customization pages I have built for the device. On the device I run ODK-X Tables to start things, not ODK-X Survey. Like the Teahouses start page.

I think I’m missing something simple and I can’t find it in the documentation. Any suggestions on how to get Application Designer to open and show my forms?

Thanks in advance for any tips.


Hi @tghoward! It’s possible there’s an issue with tables, but it sounds more like the Framework is looping around. Did you update it for your particular forms? Check out: Building an Application — ODK-X Docs and if that doesn’t solve, if you can share your framework.xlsx file that might help!

@elmps2018 thanks for the reply! I’ll attach my framework.xslx file. Just to be double (and triple!) sure, I re-loaded it in designer and that didn’t help. I tried doing something in the url column, based on this note that came with the default framework file: “Set your url hash to #formPath=[relative path to form directory]/ to change forms.” But there are no examples using formPath and I couldn’t get it to work. I expect that’s a red herring since I’ve never needed it before.

1 Like

here’s a link to my framework.xlsx file:

Make sure to purge your database as form changes adding/deleting questions causes a change in the database. Your database might be setup for an older version of your forms.

1 Like

@tghoward thanks for sharing your framework! Is your table called nyram? And it has that name in the table_id in settings and the tables>forms folders? When you say you reloaded it, do you mean you converted the framework in xlsxconverter again?

Thanks for your comment. Yep, database was purged before trying.

1 Like

@elmps2018, yes, by ‘reloading’ I meant converted using xlsxconverter again. Yes, I think all the names are aligned … note it works as expected when exported to a gadget. But I’m not sure where you are referring to ‘table_settings’. If I search for that term in the docs, the only page that is returned is this one:

(and that’s a return for “table settings”, no underscore). I’ll keep looking for that setting. Since it’s a new day, I’ve started afresh (grunt; xslx converter all files) and still get the same result.

@elmps2018, ahh, I think you are referring to the ‘settings’ tab and the ‘table_id’ entry on that tab (in the nyram form). Yep, the name is correctly set as ‘nyram’

1 Like

@tghoward Sorry typed too fast. That should have been “table_id” in “settings” tab and got mashed together. If the names are all aligned, then probably not the issue, alas, not sure what else might be…

Can anyone give a usage example of “formPath” ? (this text comes from the template framework file)

Two more things to check

  1. your settings tab has a ‘framework_variant’ variable not sure what that is
  2. open chrome inspect and look at the console and see what the error is

@W_Brunette, thanks.

  1. my framework.xlsx file has a setting name “framework_variant” but no ‘value’ (nothing else on that row). This setting is not in the framework.xlsx file that came with Application Designer 2.1.9. This setting is not in my forms (nyram). If I search for this setting in the help docs, nothing shows up.
  2. There doesn’t appear to be an error. It simply creates a new ‘preview screen’ every time I cycle. Here’s a snippet:
<div id="blandviewport" class="bland">
		<div class="backviewport">
		  <iframe class="resizeablescreen" id="previewscreen-0" src="../app/system/index.html?" name="screen" style="display: none;">
<script src="//localhost:35729/livereload.js?snipver=1" async="" defer=""></script></body>


<iframe class="resizeablescreen" name="screen" id="previewscreen-1" src="http://localhost:8000/app/system/index.html?#formPath=..%2Fconfig%2Ftables%2Fnyram%2Fforms%2Fnyram%2F&amp;screenPath=initial%2F0" style="display: none;"></iframe>

<iframe class="resizeablescreen" name="screen" id="previewscreen-2" src="http://localhost:8000/app/system/index.html?#formPath=..%2Fconfig%2Ftables%2Fnyram%2Fforms%2Fnyram%2F&amp;screenPath=initial%2F0" style="display: none;"></iframe>

<iframe class="resizeablescreen" name="screen" id="previewscreen" src="http://localhost:8000/app/system/index.html?#formPath=..%2Fconfig%2Ftables%2Fnyram%2Fforms%2Fnyram%2F&amp;screenPath=initial%2F0"></iframe></div></div>

Thanks for your thoughts on this.

1 Like

@W_Brunette Ahh, I wasn’t looking at the Console in Chrome Inspect. Yes, there are a few errors and issues. I’ll start tracking those down. Thanks for the lead.


@W_Brunette and @elmps2018 , thanks for all your help. I think I figured it out. For posterity: I think my list of fields in the “model” sheet of the form spreadsheet didn’t include ALL fields destined for the table. So the table couldn’t (or didn’t) get built properly. I’ve made lots of other tweaks (that I’ll try to back out now), but I think that was the one that did the trick.


Thanks for your comment.

1 Like