Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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

ScheduleSettings

Add starting game number(s)? If this is per group, should this function as a pg sequence instead? 🚩

Property

Type

Description

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

Implementation

This can live behind a feature flag under development, as the isolation of drafts makes this convenient.

  • Implement model changes

    • Add order to ScheduleTeam

    • Create DraftGame, add a new card to show them in place of Drafts per flag

    • Implement game number sequence

  • Manual creation

    • Modal to create draft games one by one via the new DraftGame card

    • Select multiple games to publish, share, or delete

  • Analysis dialog

    • Move the game analysis logic into a library and accessible through the API

    • Provide an analysis dialog on the schedule page

  • Import modal

    • Follow the existing importers to parse a file

    • This would import as draft games as well as schedule teams

    • Should we provide an option to publish directly?

  • Generation

    • Create a stepper modal that mimics the existing cards

    • New POST /schedules/:id/generate API would accept the parameters and create draft games

  • Release

    • Existing unpublished drafts to be converted to draft games