Taking many photos

Dear users, happy time
i have forms with containing "image" type question, when i visit a site, it take only photo, as per the requirements, i need at least 6 photos per site to be submitted by ODK, is it possible, or ODK is supporting only one photo per one question?
thanks in advance.

@Mansour, I'd use six photo questions and make them required. Would that work for you?

1 Like

6 phots for same scene on a single scree. Is this you want @Mansour?


As Yaw said, you can have many different photos in a survey by having each photo created by a different question. I have had surveys with multiple photos in the past. I'm not sure where you are deploying the tool, but a few tips if you are capturing lots of photos:

  1. If you are doing daily uploading, the bandwidth upload requirement will be higher than ODK forms with no photos
  2. Using Briefcase to pull the data is very helpful to access all photos offline, and I've found Google Fusion tables to be helpful in 'visualizing' photos across geographic areas/topics/sectors
  3. Managing and naming thousands of photos can be tiresome, I used the trick I posted about HERE and it helps a lot.

it Mean we should have 6 "image" type question??

@Lloyd_Banwart With recent versions of Collect you can have the device or the form set a maximum length. See https://forum.getodk.org/t/reduce-picture-image-while-we-are-taking-photo-with-odk.

1 Like

Hi @yanokwa , I'm new to ODK and I've been following your discussion here.

I need to take several pictures (I do not have an exact number) with the same "question". Is there such a possibility?

There is presently no widget that supports taking multiple photos. Instead, you must either explicitly add a separate question/control for each photo you want (eg if you have a fixed known number of photos). Or if the number of potential photos is unknown, as in your case, you would be better off putting a (single) photo question in a repeat group, and 'adding' additional photos that way.



would you have any form that uses this method of repeat group or could you tell me where I can find an example?

Thanks for your help, it was great!

There's an example of how to use repeat groups in an XML XForm here.

Alternatively, if you are using XSLForms, then here

1 Like

BTW, another quasi approach to allowing entering a variable number of photos, is put a fixed number of photo questions on your form (eg 10) but construct them so that each is relevant on the previous question being non-null. That way you initially only see the first photo question, and when you take a picture the next photo question will appear to take another, and so on.

It avoids repeat groups, but results in a bit cleaner of a UI than having all 10 questions appearing at once. Of course, you are still setting an explicit limit (10) on the maximum number of photos possible.


@Xiphware how would I write the 'not null' expression for the relevant field in xlsform?

For photo2, try

relevant = ${photo1} != ''

Basically, when you take a photo it puts a filename reference in the corresponding instance XML result. If this is not an empty string, then a photo has been taken (and saved) for it.

@Xiphware thank you; that worked exactly as expected.