Viewing previous versions of saved forms

What is the problem? Please be detailed.
Is there a way to see previous versions of a saved form. For example, if I entered 'a' to a question, saved the form, but then later changed the answer to 'b' (saved and sent the form), is there a way to view a version of the form that displays the 'a'?

What ODK tool and version are you using? And on what device and operating system version?
ODK Collect 1.4.7 on Android (version 4.2.2) Samsung Tab3 (SM-T110)

What steps can we take to reproduce the problem?
None. It's not problem with ODK per se.

What you have you tried to fix the problem?
Nothing yet. Still investigating whether this is possible to view previous versions.

Anything else we should know or have? If you have a test form or screenshots or logs, attach here.

Hi @Lizzy_Button

it's not possible. Could you tell us why you need that, what high level problem you try to solve?

1 Like

Thank you @Grzesiek2010 for your swift reply! I suspected this would not be possible. There is no high level problem really, other than for data checking purposes (to cross-check versions collected in field against those then amended forms sent to our server).

@Lizzy_Button There is an audit log feature in recent versions of Collect that let's you attach an audit log to a submission that would help you see how the enumerator traversed the form. The log data in Aggregate sorta looks like this:

The feature has shipped and is working, but we are a bit delayed on the documentation (see for status). Would a feature like that help?


Thank you @yanokwa. I'm a bit of an amateur at this so you may have to explain again. An audit log sounds like a good thing. In the photo you shared above I can see that each line explains what action was taken e.g. answering a text question but is it possible to see the actual answer given e.g. "This is what was typed" at 11:46:25. My thinking is that if I can compare the same question at different time points / a later action e.g at 11:46 and then later at 13:30 I can see what the previous entry was and the way it was edited later.

Even if that is possible, am I right in thinking I cannot apply this feature to my current data because a) I am using Collect 1.4.7 and b) I would have to write an audit feature into the Excel (pre-XML) form i.e. this is not an automatic feature of Aggregate? In other words, to enable this feature I would have to update Collect and write the audit log into the xls/xml form.

Thank you again,


You are correct that this can't be done retroactively. You'd have to upgrade to recent versions of Collect (you should anyway, v1.4.7 is three years old!), then edit the XLS or XML version of the form to enable the auditing.

But just because we can't help with this current situation, we might be able to help with a future situation. The audit feature currently doesn't track the value that was saved and I don't remember why we didn't add it, but I think it'd be relatively easy to add. Sounds like it would have been useful. Correct?

Thanks again @yanokwa. Yes I think it would have been very useful. It's not a feature we would plan to use often but it would certainly be helpful in the rare instances when we did use it (especially if we add it to the XLS/XML versions of the form anyway). Yes, good point on the upgrade. As a side note, if we upgrade Collect will it still be compatible with old versions of Aggregate? The reason I ask is that we're quite behind on our Aggregate / server updates. Since we would have to do each one individually and given our timeline we decided it would be too time-consuming at this stage. I just want to avoid a situation where we upgrade Collect only to find that it is no longer compatible with our server.

A post was split to a new topic: Audit log gives numbers instead of datetime