Hey all,
I'm about to start on a S123 project to support a multi-day event (two days) and one of the components I don't have a solid workflow yet is for recording and managing attendance between the two days.
Overview
The first day will consist of an in-class training session. In the form, day one attendance can be represented as a repeat. No problem!
The second day will be practical training from day one learnings. The catch here is that the attendance list for day two has potential to be slightly different. Either some folks from day 1 may not be able to attend, or new folks will attend for day two.
Additionally, one of the later workflows is to create certificates for attendees on the second day that passed assessment, so being able to query folks present on day two is essential.
Current Thoughts
My current thoughts are to set up a repeat (thus a related table) for day one attendance.
For day two however, I'm thinking a potential method could be adding in another repeat for day two (so a second related table), then having the questions in the repeat be selection questions that pull information from the day one attendance table via autocomplete search() while also offering the option to add new attendees.
The main issue I can see with that however is if the full list of attendees from day 1 is presented for every repeat via pulldata(), attendees could potentially be recorded twice as I don't think the list would filter out those who have already been recorded. Maybe a select_multiple and just have names as comma separated values would be the way to go?
Questions
Essentially, the overall question I have is: what's the best practice to go about managing attendance for multiple days where the majority of attendees for day two would likely be the same, though could be different?
Could I maybe have just one related table and then add fields for each day with a value of "Yes" or "No" based on attendance (e.g., field of day_1 with domain Yes/No; field of day_2 with domain Yes/No)? If so, what would that workflow look like? Alternative ideas?
Thanks in advance!