Aggregate versions of forms

ODeeKers,

Having a small issue with uploading changes in my survey to Aggregate.

I am using XLSForm to write my survey.
I am using the most recent version of Aggregate.

I have a form that I am working on and when I make changes to it, I am
incrementing the version count in the Excel spreadsheet:
[image: Inline image 1]
Then, I am uploading this form to my Aggregate server. I should be able to
upload a new versions, as long as I have incremented the version count, but
I get an error every time:
Error: Form Already Exists for this Namespace/Id attribute
org.opendatakit.aggregate.exception.ODKFormAlreadyExistsException
So, what am I doing wrong? Is it not possible to update a form on Aggregate
as a new version? The only way I am able to upload the new form is to
delete the form and its data entirely. That's OK until you collect your
first data record, after which it becomes problematic.

Thanks for any help,
☞§※☼:airplane::open_umbrella::slight_smile:
~Neil

image

Neil,

Presuming that you are running an Aggregate released within the last 6-12
months, you can upload revisions to your form -- but only if those
revisions do not require a change in the underlying database structure. In
other words, you can change relevance expressions, labels, etc., bump the
version, and re-upload -- but you cannot add a field, delete a field,
change a field's type, etc. For a change that alters the database
structure, you'll need to upload it as a new formid, not as an update to an
existing formid.

Best,

Chris

image

··· On Tue, Feb 25, 2014 at 5:46 PM, Neil Hendrick wrote:

ODeeKers,

Having a small issue with uploading changes in my survey to Aggregate.

I am using XLSForm to write my survey.
I am using the most recent version of Aggregate.

I have a form that I am working on and when I make changes to it, I am
incrementing the version count in the Excel spreadsheet:
[image: Inline image 1]
Then, I am uploading this form to my Aggregate server. I should be able to
upload a new versions, as long as I have incremented the version count, but
I get an error every time:
Error: Form Already Exists for this Namespace/Id attribute
org.opendatakit.aggregate.exception.ODKFormAlreadyExistsException
So, what am I doing wrong? Is it not possible to update a form on
Aggregate as a new version? The only way I am able to upload the new form
is to delete the form and its data entirely. That's OK until you collect
your first data record, after which it becomes problematic.

Thanks for any help,
☞§※☼:airplane::open_umbrella::slight_smile:
~Neil

--
You received this message because you are subscribed to the Google Groups
"ODK Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to opendatakit-developers+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Thanks. that makes perfect sense. I am in the develop/test/change process for this survey, so there are additions that change the columns in the database.

I guess if you felt that this was something you wanted to work around, you could create the form with many more questions/nodes than you need. Each unused Node would create a column. For nodes you were not using, you could assign a little skip logic saying "Relevant if Node1 = 999999" Then, the unused nodes would be skipped, they would not affect the resulting survey form (except in size), but if you wanted to add a question, you could do so without disrupting the database.

Just a side note, the new Enketo functionality is incredibly useful. You can conduct tests with your team without having to distribute phones to everyone. Also, loving being able to print the form with all questions, for paper-based data collection.

This is the policy because the ODK team doesn't want to guess how to
appropriately merge data. What happens to the data if you delete 10
questions, does Aggregate delete 10 columns of data? How should the data be
merged if all the data can't change from one type to the other? What should
aggregate do delete the old values, prompt the user, etc? The point is
there are a lot of decisions that will cause data loss for people and any
assumptions the ODK team makes will inevitably be wrong for some subset of
users. Therefore any form version update the causes a change to the
underlying database is not allowed.

The general idea is that organizations/users know best how to merge data so
users should merge their own data making appropriate assumptions. Aggregate
is designed to be a store of record not a data cleaning tool. Someday ODK
might have a data cleaning tool but we don't right now.

Waylon

image

··· On Tue, Feb 25, 2014 at 2:54 PM, Christopher Robert wrote:

Neil,

Presuming that you are running an Aggregate released within the last 6-12
months, you can upload revisions to your form -- but only if those
revisions do not require a change in the underlying database structure. In
other words, you can change relevance expressions, labels, etc., bump the
version, and re-upload -- but you cannot add a field, delete a field,
change a field's type, etc. For a change that alters the database
structure, you'll need to upload it as a new formid, not as an update to an
existing formid.

Best,

Chris

On Tue, Feb 25, 2014 at 5:46 PM, Neil Hendrick mojotexas@gmail.comwrote:

ODeeKers,

Having a small issue with uploading changes in my survey to Aggregate.

I am using XLSForm to write my survey.
I am using the most recent version of Aggregate.

I have a form that I am working on and when I make changes to it, I am
incrementing the version count in the Excel spreadsheet:
[image: Inline image 1]
Then, I am uploading this form to my Aggregate server. I should be able
to upload a new versions, as long as I have incremented the version count,
but I get an error every time:
Error: Form Already Exists for this Namespace/Id attribute
org.opendatakit.aggregate.exception.ODKFormAlreadyExistsException
So, what am I doing wrong? Is it not possible to update a form on
Aggregate as a new version? The only way I am able to upload the new form
is to delete the form and its data entirely. That's OK until you collect
your first data record, after which it becomes problematic.

Thanks for any help,
☞§※☼:airplane::open_umbrella::slight_smile:
~Neil

--
You received this message because you are subscribed to the Google Groups
"ODK Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to opendatakit-developers+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

--
You received this message because you are subscribed to the Google Groups
"ODK Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to opendatakit-developers+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.