Hi All:
I've been developing a slightly-customised fork of Collect to work with my own backend servers for several years now, but have not updated my Collect source for a while. To prepare for updating my fork, I've just tested the latest Collect build against my server, and the app shows "Nothing available to display" when I think I should be seeing a sample formList page.
MORE DETAILS:
I've built a Collect APK and installed it, from a current Github clone. I've set the Platform to "Other", and the Form List URL/path to
https://opendatakit.appspot.com/formList
I then press Get Blank Form, and as expected, Collect displays the default ODK forms list. Viewed in Firefox, the source for that server response is:
<forms>
<form url="https://opendatakit.appspot.com/formXml?formId=CascadingSelect">Cascading Select Form</form>
<form url="https://opendatakit.appspot.com/formXml?formId=widgets">Widgets</form>
<form url="https://opendatakit.appspot.com/formXml?formId=NewWidgets">New Widgets</form>
<form url="https://opendatakit.appspot.com/formXml?formId=sample">sample</form>
<form url="https://opendatakit.appspot.com/formXml?formId=Miramare">Miramare</form>
<form url="https://opendatakit.appspot.com/formXml?formId=Birds">Birds</form>
<form url="https://opendatakit.appspot.com/formXml?formId=Forest_1">Forest Plot Survey</form>
<form url="https://opendatakit.appspot.com/formXml?formId=geo_tagger_v2">Geo Tagger v2</form>
<form url="https://opendatakit.appspot.com/formXml?formId=N_Biggest">Biggest N of Set</form>
<form url="https://opendatakit.appspot.com/formXml?formId=hypertension">Hypertension Screening</form>
<form url="https://opendatakit.appspot.com/formXml?formId=imci">eIMCI by D-Tree</form>
<form url="https://opendatakit.appspot.com/formXml?formId=CascadingTripleSelect">Cascading Triple Select Form</form>
</forms>
I then change the Platform Settings URL/path to my custom server formlist, which is at:
https://www.cict.co.uk/forms/list/
I then click Get Blank Form, and the Collect screen says "Nothing to display".
Viewed in Firefox, the source for that server response is:
<forms>
<form url="https://www.cict.co.uk/forms/getform.php?formId=Testing">Test stub</form>
</forms>
Can anyone think of a reason why the latest version of Collect doesn't parse my server response as a forms list containing one form? The server logs show the correct URL requested by Collect running on my Nexus4 phone, with a 200 response code indicating that the response was output as normal:
my.ip.ad.dress - - [09/Jun/2017:08:54:31 +0100] "GET /forms/list/ HTTP/1.1" 200 101 "-" "Dalvik/2.1.0 (Linux; U; Android 5.1.1; Nexus 4 Build/LMY48T) org.odk.collect.android/"
Also, in case it helps, my formlist is correctly displayed by an older version of Collect (1.4.8)
Grateful for any ideas!
Thanks, Nik