Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

https://spordle.atlassian.net/browse/SPR-742

Play and SID both handle leagues and tournaments as a type of office/organisation, which are already synced.

Management of participating associations and teams has been added to SID, which needs to be synced to Play. Once synced, the only thing necessary to manage in Play are the games.

Requirements

Expectation is that users follow this process to create a league/tournament:

  1. SID: Create a league/tournament, sync to Play (done)

  2. SID: Add organisations to the league/tournament, sync to Play (missing)

  3. SID: Create competitions, sync to Play as schedules (missing)

  4. SID: Add teams to the competition, sync to Play (missing)

  5. Play: Create games (done)

Models

SID API

SID properties

Play Model

Notes

affiliated-organisations

  • affiliated_organisation_id

  • linked_organisation_id

  • period_id

  • division_id

  • team_category_id

OfficeMember

  • Add seasonId, categoryId, externalId

  • Rollover?

competitions

  • name

  • organisation_id

  • period_id

  • division_id

  • team_category_id

  • start_date

  • end_date

Schedule

  • Identical

  • Dates will be required in SID next season

  • Add externalId

competition-teams

  • competition_id

  • team_id

ScheduleTeam

  • Identical

  • Add externalId

UX

Arrive in Play, all you need to do is create games. ✨

(question) Do we rename schedules to competitions for consistency?

(question) How to determine when to limit member/schedule/team creation in Play? Should this be an office flag?

Implementation

  • Add externalId to OfficeMember, Schedule, ScheduleTeam

    • Limit editing for all linked fields

  • OfficeMember: Add seasonId, categoryId

    • This has a similar problem with roster members as SID has a member per position, where Play groups as an array, so we need multiple rows to track the externalId correctly and figure out the UX

  • Authorization will be affected by seasonId/categoryId change

  • No labels