...
Total games per round
Provide a matrix to show how many games each team plays against each other to produce a set of games to be scheduled
Date scheduling in calendar
Scheduler must produce dates to be able to use the calendar currently
Rescheduling
Teams need to be able to propose changes to scheduled games by other team and/or league approval
Models
Draft
Deprecated. Unpublished games will be created as DraftGame in the migration
DraftGame
Would be nearly identical to Game, with additional properties:
...
Property
...
Type
...
Description
...
gameId
...
number
...
ID of game being updated or the resulting game that was published
This would be automatically filled in based on the game number when generating/uploading games and would be used when using the (future) rescheduling function
...
round
...
number
...
Not 100% sure if this is still desired
...
isShared
...
boolean
...
Grants access to scheduling:drafts role
...
isPublished
...
boolean
...
Acts as isDeleted, but differentiates that it was used
ScheduleTeam
Same as before, with additional properties:
...
Property
...
Type
...
Description
...
order
...
number
...
This is used to maintain schedule balance when generating additional games.
Adding a scheduleteam would automatically use the next order. Schedulers would be able to adjust the order in the UI
🚩 Competitions integration will create ScheduleTeams, so order needs to be automatic through the API
ScheduleSequence
Add starting game number(s)? If this is per group, should this function as a pg sequence instead?
🚩 Need to thoroughly analyze this to make sure it doesn’t have any issues when replacing the draft start number
...
Property
...
Type
...
Description
...
scheduleId
...
number
...
groupId
...
number
...
start
...
string
...
Starting number (U15T2500)
...
current
...
number
...
Zero indexed. Increments start (U15T2500) + current (5) = U15T1005
...
max
...
number
...
Max number to generate from this sequence (100 caps at U152599)
UX
Draft creation will no longer be a single page workflow, since games will no longer be within a draft. Instead, draft creation behaves more like an import modal.
...
We must maintain the existing analysis functionality and move this into an API
The great thing is it’ll be very easy now to mix the published games and draft games and show the analysis at all times in the schedule view (and potentially even the office)
Would want to allow being able to toggle showing draft games so you can see what your schedule is like currently and how the draft games will affect it
Models
Draft
Deprecated. Unpublished games will be created as DraftGame in the migration
DraftGame
Would be nearly identical to Game, with additional properties:
Property | Type | Description |
---|---|---|
gameId | number | ID of game being updated or the resulting game that was published This would be automatically filled in based on the game number when generating/uploading games and would be used when using the (future) rescheduling function |
round | number | Not 100% sure if this is still desired |
isShared | boolean | Grants access to |
sharedAt | datetime | |
sharedUntil | datetime | |
isPublished | boolean | Acts as |
publishedAt | datetime |
ScheduleTeam
Same as before, with additional properties:
Property | Type | Description |
---|---|---|
order | number | This is used to maintain schedule balance when generating additional games. Adding a scheduleteam would automatically use the next order. Schedulers would be able to adjust the order in the UI ⚠️ Competitions integration will create ScheduleTeams, so order needs to be automatic through the API |
ScheduleSequence
Add starting game number(s)? If this is per group, should this function as a pg sequence instead?
Panel | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
Need to thoroughly analyze this to make sure it doesn’t have any issues when replacing the draft start number |
Property | Type | Description |
---|---|---|
scheduleId | number | |
groupId | number | |
start | string | Starting number (U15T2500) |
current | number | Zero indexed. Increments start (U15T2500) + current (5) = U15T1005 |
max | number | Max number to generate from this sequence (100 caps at U152599) |
Implementation
This can live behind a feature flag under development, as the isolation of drafts makes this convenient.
...