Drafts currently function as isolated schedules which are very intentionally self-contained as a separate workflow. Due to the nature of the database modelling, there are a lot of limitations to being able to easily share draft games to associations and allow them to work on multiple drafts.
Instead, we’ll move away from the single Draft model to a parallel games table (likely called DraftGames) which we can work with like any other model.
Requirements
Draft games need to be shared to associations who need to be able to view all their draft games in one place regardless of schedule
Draft games must be in their own model to make this relation feasible
Draft games may impact availability as soon as they’re scheduled even if not yet “published”
This setting currently exists
If a draft game is rescheduling an existing game this should be clearer
Currently this matches on game number
Should be possible to partially publish some draft games when they’re ready
e.g., one association is done early but others aren’t ready yet
Future
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.
Property | Type | Description |
---|---|---|
ScheduleTeam
Add ordering?
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.
Once the information from the draft modal is filled out, draft games are created and they’ll be available in a cards on the schedule and office pages.
We can make use of card expanding (from reports) to provide more space to schedule games and use the calendar, or provide a dedicated tab instead.
Generated
Convert the current card design (of the info step) into individual steps in the modal
🚩 Previous draft selection TBD. This is used to determine the round that the scheduler should continue from and is very important
Order matters in team selection. May be best to just maintain an order on ScheduleTeam directly so it can be easily reused. Otherwise, the teams step just duplicates the schedule’s teams tab
Uploaded
This can behave exactly like existing import modals
Manual
No longer necessary. Schedulers will be able to create draft games directly in the schedule
🚩 The only config this flow needed was a starting number, how do we maintain this functionality?
Updates
🚩 Drafts update existing games using their game number, how do we show this? When creating a game with a game number, do we automatically link it to a matching game to show what’s being updated?
This will become relevant later when reusing this functionality for game change requests
Analysis
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
Implementation
Existing unpublished drafts to be converted to draft games
…