Page 1 of 1

Synchronizing paradata files

Posted: June 4th, 2018, 11:52 am
by AriSilva
Which is the best way to sync paradata files from several users using tablets?
Best
Ari

Re: Synchronizing paradata files

Posted: June 4th, 2018, 12:18 pm
by josh
We haven't implemented any kind of smart syncing of paradata files although that is on our todo list. You could do it using syncfile but it could get very slow as the paradata files get quite big over time and syncfile sends the entire file each time. For a recent pilot census we saw files of 10-30 mb for roughly 3 weeks worth of interviews. So far when we have seen people use paradata they have manually copied the paradata files from the tablets after the operation was completed. You could reduce the file size by limiting the types of events that are collected in the paradata options dialog but if you have a long running survey it would eventually get quite large.

Re: Synchronizing paradata files

Posted: June 4th, 2018, 4:32 pm
by AriSilva
In fact, my needs where a little bit more basic than everything paradata could give me: I have to measure the time spent in each form, that is, since it entered the first variable of the form, and when it left the last one. And the whole time in each interview. As simple as that.
Presently I´m capturing these times by hand, using systime, and storing them in the database, but since the existence of paradata I said to myself, why not use it?
My problem is that there are too may variables in the paradata file, and I´m really lost where I should find the "inittime" and "lasttime", if you know what I mean.
I´ve used the paradata viewer to have a look at the file but I could not find the variables I need, nor find any piece of documentation that could help me.
Best
Ari

Re: Synchronizing paradata files

Posted: June 4th, 2018, 7:13 pm
by htuser
@AriSilva, i sync them automatically only on LAN and all are correct. Hopefully, smart sync for paradata is already on the to do list! So, we'll have it in future version.

Re: Synchronizing paradata files

Posted: June 4th, 2018, 8:09 pm
by Gregory Martin
If you only care about the amount of time spent on a form, how about only enabling the message event and then adding code like this:
PROC FORM1

onfocus

    logtext("Entering %p");

killfocus

    logtext("Exiting %p");
If you run this SQL query, you'll see the names of the forms as well as the time that each was entered:
SELECT `event`.`time`, `text`.`text`
FROM `message_event`
JOIN `event` ON `message_event`.`id` = `event`.`id`
JOIN `text` ON `message_event`.`message_text` = `text`.`id`
WHERE `message_event`.`source` = 3;
You could join the table with itself (joining id with id + 1) to get the amount of time spent on the form.