Bug #4
closedEvent scheduling
100%
Description
Add scheduler for planning and automatizing the race day.
The event could include different races from different classes and it must allow customize the scheduling classes/rounds sort and times
Race duration will be used from the race settings (practice time + race time)
Files
Updated by Jesús M. Broceño over 8 years ago
The main concern is ZRound Manager doesn’t create the runs until they start so I don’t have the records in the database defining all heats/rounds to facilitate the scheduling. I have included the code to create the runs for all Heats at the very first heat distribution without populate them with racers (it’s impossible as they are resorted after every qualify).
The idea is to implement a new concept called “event” . An “event” is a set of race starting on a date. You would be able to add races belonging to a championship (like our club session races) or single races like the PN World Cup classes.
Some settings must be configured to allow an automatic scheduling:
- Order: It will stablish how the races will be sort. I’m thinking on three fields to generate the sort:
o Round
o Group (Heat/Main)
o Race (class)
Examples for two rounds/two groups/two races:
Sort round->race->group: Round 1/Stock/Heat A->Round 1/Mod/Heat A->Round 2/Stock/Head A->Round 2/Mod/Head A-> Round 1/Stock/Heat B->Round 1/Mod/Heat B->Round 2/Stock/Head B->Round 2/Mod/Head B
Sort round->group->race: Round 1/Heat A/Stock->Round 1 /Heat B / Stock->Round 1/Heat A/Mod->Round 1/Heat B/Mod -> Round 2/Heat A/Stock->Round 2 /Heat B / Stock->Round 2/Heat A/Mod->Round 2/Heat B/Mod
Sort race->round->group: Stock/Round 1/Heat A->Stock/Round 1/Heat B->Stock/Round2/Heat A->Stock /Round 2/Heat B->Mod /Round 1/Heat A->Mod/Round 1/Heat B->Mod/Round 2/Heat A->Mod/Round 2/Heat B.
I think the race->round->group sort should be the default option. The ascending/descending criteria could be also included (a->b->c->… or …->c->b->a)
- Time paused after runs. Time to wait until the next run once one has finished allowing racers access the driving place.
- Time paused after blocks. Extra time to wait until the next “block of races” begins. It will be based on the sort criteria. For example, if the sort is race->round->group then when all groups complete the first round this pause will be done.
- The run duration will be the heat/main duration + practice time defined into the race settings.
Once the scheduling has been sorted, you could manually change it moving slots up and down and start/end times will be re-computed.
There is already a mock-up for the user inteface I use for testing options with the sort (race->round->group).
Events can be more than a day long. It is done by editing the race you want on the second day and changing the date. Then the next races are rescheduled.
The scheduling will have an html output. It could be used for publishing, printing or copied to excel.
I will include the option for starting the run from the scheduler and to automatize all the process although I don’t know if it is desirable as resorts must be done, printed and published. The same for the mains.
Updated by Jesús M. Broceño over 1 year ago
- File clipboard-202210160119-assdr.png clipboard-202210160119-assdr.png added
- File clipboard-202210160119-3wfzq.png clipboard-202210160119-3wfzq.png added
- Description updated (diff)
2016-12-09:
- Implemented database layer class
- Closed user interface v1
- Races can be rearranged by drag&drop or by Ctrl Up-Down keys
- Implemented search event for creating/reading/deleting events
2016-12-18:
- Implemented scheduling options, print outs, resorts
- Unit test OK
- Documented on video tutorial: https://www.youtube.com/watch?v=OKSZgvc-B5Y
Waiting for users feedback
2017-04-11: No news, good news. Not full tested but ready to receive issues. It's time to close the ticket