Dear Chris,
I do step 1 and 2. What is Stata? Is it open source software? Do you have
any manual that I could learn from your below process. Thanks.
On Monday, July 23, 2012 1:37:50 PM UTC+7, Chris wrote:
Dear Chan,
There is no one method. For our project, we go through a daily routine as
follows:
-
Use Briefcase to download all form data.
-
Use Briefcase to decrypt and export all form data to .csv files. (We
use encryption which, really, anybody collecting confidential data and
submitting over 3g should.) (And actually, we download and decrypt on
separate computers since the computer with the private key and confidential
data is permanently disconnected from the network.)
-
Run a Stata .do file that imports the .csv files, merges them into our
master database of responses (using instanceID as the unique identifier),
and then checks for and reports various errors.
-
Back up our master database of responses.
With this kind of system, we don't care about the data that accumulates on
Aggregate. Thus, if we have to update a form, we can easily delete it and
upload a new one. (We just have to download all current data first and make
sure that the field teams are not currently collecting data. That generally
means performing updates at night or on weekends, then asking the field
teams to delete and re-download the blank forms.)
There are a great many other ways to organize data management, but I hope
this example helps.
Best,
Chris
On Monday, July 23, 2012, Chan Choth wrote:
Dear Chris,
Can you please show me the way on how I could do this? Thanks.
On Monday, July 23, 2012 1:23:24 PM UTC+7, Chris wrote:
Hi Chan,
Without heroic coding efforts to automatically port between data
structures, I'm afraid that any database changes will require you to first
delete a form and all its data, then upload the new form. For us in our
projects, actually, this isn't a problem since we download all data into
Stata every day, and maintain our database there. Thus, we don't care about
the data sitting on the Aggregate server and we can replace forms with new
ones as needed (taking care in our Stata import code to account for new or
updated fields). Perhaps you too can design your data processes in such a
way that it's not a big problem to delete the old Aggregate data when
updating forms?
Best,
Chris
On Monday, July 23, 2012, Chan Choth Puth wrote:
Dear Chris,
Thanks for your explanation. Is there any possibility that I can change
the database structure? Thanks.
Best regards,
Chan Choth
On Mon, Jul 23, 2012 at 12:00 PM, Christopher Robert < chrislrobert@gmail.com> wrote:
Chan,
Mitch will give a more authoritative reply, but let me give it a shot.
Aggregate v1.2 will allow you to upload a new version of a form as long
as it would not require any changes to the database. This means that no
new fields may be added in the new version (and, similarly, no old fields
may be deleted and no old fields may have their data types change). Your
first test will clearly not work because you are adding a field. The second
test does work because you are not adding a field but rather are just
changing the UI for the field; this is precisely the use case for which the
new-version support was added.
When it comes to the third test, it seems to me that you are trying to add
fields -- but I don't know anything about these advanced cascading selects,
so I can't be sure. /Advanced_Cascading_Selection/location_village_in_
khnar_sanday, for example, looks like it is a new field, though you
don't highlight its core instance definition in the second version and
don't show the full original version. You should be able to modify those
selects so long as they are there in the original. Again, though, you can
only change the UI, not the underlying database structure.
It may be, however, that your third change should go through since it does
not actually affect the DB structure. Since I don't understand the syntax
and implementation for those select types, I can't be sure.
Best,
Chris
On Monday, July 23, 2012, Chan Choth wrote:
--
Post: opendatakit@googlegroups.com <javascript:_e({}, 'cvml',
'opendatakit@googlegroups.com');>
Unsubscribe: opendatakit+unsubscribe@googlegroups.com <javascript:_e({},
'cvml', 'opendatakit%2Bunsubscribe@googlegroups.com');>
Options: http://groups.google.com/group/opendatakit?hl=en