Dynamic data: update time, unique id, external files

Hi,

I have a parent form Scheduler where a supervisor can create a schedule by selecting a worker and assign different tasks. Then the child form is Field Work where the workers enter the date and their ID and then they will see the scheduled tasks.

On phoneA I have both forms and everything is manual (downloading blank forms and sending finalized forms), on phoneB I only have the child form (Field Work), where downloading forms is automatic (Exactly Match Server). I use Kobo Collect on both phones.

When I deploy Scheduler and then create some schedules and upload them via phoneA, and afterwards wait and then deploy Field Work and start using phoneB, the data is there and I can see the scheduled task if I enter the workerid and date.

Afterwards, I create other schedules on phoneA and upload them, and I wait 10-20minutes and still can’t get the new schedules. On phoneA, because I have manual download, I first try downloading the Field Work form again (the form hasn’t changed, only the data), but it doesn’t get the new data. I then reset the Saved forms, Blank forms and Form load cache and then I download it the Field Work form again, and now it downloads the new data.

On phoneB it can take up to 1 hour for the data to become available.

Question1: the document says the data should be available after 5 minutes. What can be done to make the update time lower than an hour?

I am using the worker id and the date to create an unique id for the task when sceduling. If the supervisor submits a schedule with 3 tasks and then wants to add a 4th one or make any correction, if the Scheduler uses the same worker id and date, it will not be unique, and from what I tested, it won’t show the data if the id is not unique. I’ve added a rev (revision) variable and I create an unique id like 240129rev0Scheduleworker01.

Question2: Should I use the unique id variable and the linking of the Scheduler form to itself to somehow increment the rev number, to create unique ids?

Preventing duplicate entries by respondents

And in the child Field Work form, how can I check if there is only a rev0 or if there are rev1 rev2 etc?

If the worker doesn’t receive a schedule via the scheduler but for example via a call/sms, they should be able to still select the task from the task list. The tasks are in a CSV file that is uploaded with the parent Scheduler form, but I have also uploaded it for the child Field Work form.

Question3: Is it possible to only upload the CSV once to the parent but have it available for the child? I saw the option to add a file via URL in the Media Settings, but haven’t tested it.

Could I add a link to a CSV that both can use? If the CSV is updated where it is hosted, would it be also updated in Kobo? In other words, will Kobo Collect get the CSV from the link directly or will Kobo Server get the CSV and then deploy it?

FieldWork.xlsx (137.0 KB)
Scheduler.xlsx (88.4 KB)
tasks.csv (2.9 KB)
workers.csv (212 Bytes)

Welcome to the community, @nmambre!

Maybe I would advise to go with the manual refresh as you would need the latest version and would not need to wait that long. When going with a manual refresh, you will only need to wait for 5 minutes to sync your data.

At the moment it’s not possible to share the same CSV file between projects. Hence, you will need to upload a different CSV file for a different project.

Thank you @Kal_Lam, a manual refresh is no problem for me personally, but I don’t want the users to have to delete the blank forms and then to download them again. Is the 5 minute delay related to the Kobo server or the plan? Is everybody experiencing more than 5 minutes delay?
Can I get less delay on a paid plan, on a private server with Kobo or if I self-host the server?

Just to make sure, if I don’t enable automatic download on the user phones, and if the supervisor creates a schedule and upload it. After 5-10 mintues can the user go to the download section and select that form and download that form again (without previously deleting it), should it fetch the new data submitted data?