Connecting collect app and odk aggregate

#1

Can anyone please tell me how to connect my collect app installed on mobile and odk aggregate installed on tomcat (local).

Now when I deploy the war file, the page automatically redirects to http://site/ODKAggregate/Aggregate.html.

While deploying the war and accessing the aggregate site, I use the URL as http://myIPadd:8080/ODKAggregate

At this point I have problem connecting my ODK collect app and ODK Aggregate installed on tomcat.
I have added my XML form in the ODK site after logging in. I keep the XML form for data collection in my device's internal storage.I am able to fill the form, edit it etc. When I try to select the filled form and upload it to server ( SELECT THE REQUIRED FORM AND CLICK 'send selected') , I get Error : client Protocol Exception

Please tell me what is to be given as submission url entry under general settings->server->ODKAggregate settings ?

For username I give the ODK super user username which I used to login to aggregate site and password I give the default password aggregate

Please tell me what should be given in submission URL, username, password and also the SUBMISSION ACTION value in the XML form used for data collection?

In collect app, for submission url, I give http://myIPadd:8080/ODKAggregate/submission
I give the following in XML form

Is the code of ODK COLLECT to be edited a little for the form upload to work? Because in code by default , the URL of ODKAggregate is given in ODK Aggregate settings. And the username and password are left blank.

I also disabled the 'data collector' permission for 'anonymous user' and hit save. But still I am not able to send the form.
Also tell me how to view the submissions from collect app.

As of now I am testing my app with local server, once I get the server (static IP address, I should use that URL only). Please add your points on it too.

Thanks in advance

Collect app's data getting submitted to google sheet but not into odk aggregate installed on tomcat server
#2

first of all did you compile the the war file with the necessary settings..? like the local IP address, database name and username (with read,write privileges) or you just got a .war file and uploaded it to your local server.

Secondly your phone that has the app installed should be connected to the local network preferably wifi..since your using local network connection..

#3

All that is done. I gave the local IP address of my machine in the DNS name and after the war file creation I followed the instructions given in readme.html and completed it.

My phone and the system are connected to the same wifi network

#4

change http://myIPadd:8080/ODKAggregate/submission to http://myIPadd:8080/ODKAggregate/ and then try again

1 Like
#5

I have chosen the server type as ODKAggregate one time and the other time I have chosen Other type. I could not connect my collect app with ODK Aggregate. Both my mobile phone and ODK aggregate are connected to the same wifi network.

#6

If you go to what happens if you go to http://192.168.1.41:8080/ODKAggregate in your phone's browser? My guess is that it won't work. That's likely because your phone is both on WiFi and cell. Try turning of the cell connection and see if that works.

Also, don't set the type to Other. Use the ODK Aggregate type.

1 Like
#7

Thanks Yaw, I was having same issue as I was trying the V2 series of Aggregate and it worked in the way you have suggested.

Thanks again,
Imran