davidshumway/zoomie

Multi Session Round Robins

VenturaFranklin opened this issue · 1 comments

I see the note:

If browser window reloads, then list of pairings will be forgotten. Can solve by keeping pairings in the browser or extension cache.

Do you know the ability to store or load previous sessions of round robin to prevent people pairing again?

Specifically, we would like to host multiple sessions using Zoomie and prevent participants from being paired again.

I ask if you think this would be technically feasible to either store full session info with the name of the participants and the robin pairings? Or if it would make more sense to upload a CSV with participant names to avoid pairing together?

Overall, I think this is an awesome app that I've used a few times now and more people are liking it and using it. I wish Google would approve it!

When the host opens the Zoomie dialog from within the Breakout Rooms dialog, the program should load the previous pairings object from local storage. A new panel should then show all current and past pairings. For each pairing, metadata is saved including: Date/timestamp when each round was run; list of users paired in each round; total rounds completed.

For each entry, metadata should be displayed including date of last run, number of users in the pairing, and total rounds completed. In addition, for each entry, an additional column should be present showing whether the pairing could be presently activated (✓), i.e., if users present match those in the pairing, or if users are missing or different (denoted with X). On hovering a row, a pop-up will show which users are missing or different from the previous pairing (e.g., Same Users--Bob; Missing Users--Alice; New Users--Jane, Bill). On clicking a row which can be activated (✓), the program will update the Zoomie dialog to match the selected pairing. The presently selected pairing is also placed at the top of the list and highlighted with a green background.

Case 1) When the host opens the Zoomie dialog from within the Breakout Rooms dialog, the program should check the current participants in the room with the previous pairings from local storage. If the current participants match the participants from the last saved entry in storage, then the program should set the round to be one greater than the last round completed and display the pairings (program already currently does this).

Case 2) If the current participants do not match the last entry in storage but match a previous entry, then the program should similarly update the round counter from that pairing and display the pairings. However, the program should display a warning that a previous pairing is being used.

Case 3) If the current participants do not match any entries in storage (or if storage is empty), then the program should make a new pairing and set the round counter to 0. The program should display a warning that this is a brand new pairing.

When the host clicks Open All Rooms, the program should update and save the pairings object to local storage.

Two options for storing across sessions are 1) in the browser's storage and 2) in the extension's storage. The first option would make it more easily programmable between browsers, as I believe Chrome and Firefox implement different extension storage functionality.