[ODK Developers] Un-Submitted instances {Re-Solved}

Thanks Waylon for the detailed steps.

Apparently my issues were not limited to the way I was uploading the data,
but in addition to the memory allocated to Tomcat. Tomcat was using the
default 128MB allocated to it and it was crashing while I was trying to
upload attachments of ~8MB and greater.

Doubling the allocated memory to Tomcat did solve this problem, and in
addition uploaded the forms the correct way.

Thanks all for the answers and your help.

Kihara Absolomon

··· On Tue, Jun 5, 2012 at 7:54 AM, W. Brunette wrote:

If you are trying to manually upload a submission to Aggregate then
assuming you have form permissions and are using the current version
of Aggregate.

Goto the "Form Management" Tab and the "Submission Admin" sub tab you
will see a button called "Manually Upload Submission Data". When you
click on that button a pop called 'Submission Upload' will appear.

On the 'Submission data file' point the browser at the submission xml
On the 'Associated data file(s):' point the browser at the media
files. NOTE: you can select multiple files at once using the
Associated data file file picker.


On Mon, Jun 4, 2012 at 8:54 PM, Kihara Absolomon soloincc@gmail.com wrote:

Wow! Thanks a lot for the pointers. The metadata thingie is soo cool.

What do I do with the partially uploaded submissions? I have tried to
zip an
instance folder and uploading it but it fails. Zipping the photos on
own while the form is uploaded as a plain xml also fails!

How should I upload these partial submissions?

Kihara Absolomon

On Tue, Jun 5, 2012 at 2:50 AM, Mitch S mitchellsundt@gmail.com wrote:

The correct solution is to define an in your form.
That instanceID will be used to merge the multiple submissions
necessary to

upload the data. The form submission is already effectively a zip of

data. The problem comes when that data is very large. The larger it

the more likely the transmission will fail, and the more resources are
needed on the server to handle the data in one pass. By explicitly
providing an instanceID, the data can be sent in smaller chunks and

on the server.

This mechanism is defined here:
For ODK Aggregate, you don't need to specify the namespace, just have a

group in your form.

With ODK Collect 1.1.7 and later, the bind for the instanceID would be:




You can construct your own instanceID expressions. However, you should
avoid symbols and punctuation other than colons and dashes since the

logic within Aggregate is likely fragile if you go wild with punctuation
(and that is used later on when retrieving images, repeat groups,
etc.). If

you do construct your own values, they must be less than 80 characters

(a limitation of ODK Aggregate) and must be unique across all devices



On Mon, Jun 4, 2012 at 3:42 PM, Kihara Absolomon soloincc@gmail.com wrote:

Hi Mitch,

Thanks for the heads up. Surprisingly I had never noticed this tab or
just didn't know its function prior to this! But we have some problems!

It seems that something weird happened during submissions. Under the
Submissions Admin Tab, I have 2 instances each of my un-submitted
form. I

can see clearly that duplicate instances data is identical, down to
the auto

inserted device-id, start-time and end-time. The only discrepancy
comes in

the media data collected. Each instance is meant to have a minimum of 5
photos and a no maximum, as there is a looping logic to add as many

as possible. These photos have been split between the duplicate

in that some photos appear in one instance and not in the other and

versa. This is a perfect case of merging the duplicate instances. I
guess I

have to do this at the DB level.

I don't know how many have experienced this scenario, but I think it
makes the case for the merge feature in case of in-complete

On another note, I tried using the "Manually Upload Submission Data"
function as a 2nd option, but it only offered 1 option of uploading the
media files. On using this feature, I ended up with an incomplete


This can be solved by zipping all the media files and uploading them
as a

zip file and doing the un-zipping and merging on the server
side...just a


Kihara Absolomon

On Mon, Jun 4, 2012 at 9:05 PM, Mitch S mitchellsundt@gmail.com wrote:

On Aggregate, these submissions may have been determined to be
incomplete -- this occurs if the captured media attachments for the
filled-in form were not all successfully uploaded. You can look at
incomplete submissions on the Forms Management / Submission Admin
tab. If

you "Mark As Complete" the form, that action will remove all traces
of the

missing attachments. Alternatively, on that tab you can "Manually

Submission Data" and navigate to the phone's /sdcard/odk/instances
directory, into the directory of the incomplete submission, and

upload the submission's xml file and missing media attachments to

the submission.

Once the submission is complete, it will move to the Submissions tab

disappear from the Submission Admin tab.

If you are using an older version of ODK Collect, it may be that the
media file formats were not recognized by that older version (1.1.5



On Mon, Jun 4, 2012 at 8:42 AM, Kihara Absolomon soloincc@gmail.com wrote:

Hi all,

I have some instances which were marked as finalized and ready to be
uploaded to the server. During the upload process there was some
sort of

error and 6 of them weren't uploaded. I re-uploaded them and ODK

that they were uploaded successfully. However on logging in to

the 6 instances are not reflecting in Aggregate and on Collect they
are not

appearing as instances that can be uploaded. I can still see them
under the

instances folder in the SD card.

How do I re-upload them to the server?

Kihara Absolomon

Mitch Sundt
Software Engineer
University of Washington

Mitch Sundt
Software Engineer
University of Washington