Extensions
Overview
Extensions are used to capture information necesary for the processing/mutation of tournament data while a tournamnet is in process, and to capture calculated results, for instance Round Robin group finishing positions, which are not defined in TODS. Extensions capture configuration parameters as part of the tournament "time capsule" to ensure that what happened during a tournament can be reconstructed.
Extensions can exist on any attribute within a TODS tournamentRecord
. Each extension has { name, value }
attributes and there should never be more than one extension with a given name in an .extensions
array.
APPLIED_POLICIES
Regularly attached to tournamentRecords
, events
and drawDefinitions
; can also be attached to structures
. Many factory methods will check for policies which are "in scope", meaning within the object hierarchy. Policies can be attached at any time programmatically; they are attached automatically to drawDefinitions
if any policyDefinitions
are passed to generateDrawDefinition()
.
DELEGATED_OUTCOME
Used to capture matchUp
outcomes which are not "official", meaning they may have been sourced from a third party application for the purposes of display prior to the entry of an official result.
DISABLED
The presence of this extension indicates that a resource (court
or venue
) has been disabled such that scheduling methods cannot use the resource.
DISABLE_LINKS
In certain conditions, when allowed by positioning policies, participants may have their drawPositions swapped in non-MAIN structures. When this occurs the normal logic of participant progression is broken and links must be disabled to avoid data corruption.
DISABLE_AUTO_CALC
When manual scoring is enabled for TEAM matchUps
, the automatic calculation of TEAM results is disabled by the presence of this extension.
DISPLAY
Specific to client applications. Storage of display preferences for e.g. an event
, a drawDefinition
, or a structure
.
DRAW_DELETIONS
When no external auditing service is available, drawDefinitions
which are deleted can be stored on the tournamentRecord
.
ENTRY_PROFILE
Stores limitations set on the number of accepted entries for an event
; can include number of qualifiers, number of allowed wildcards, and maximum drawSize
FACTORY
Used to capture version of factory that created/mutated the tournamentRecord
.
FLIGHT_PROFILE
Captures flight names and draw entries when event
entries are split into multiple flights before drawDefinitions
are generated.
GROUPING_ATTRIBUTE
Stores the person
or participant
attribute that was used to generate TEAM participants
.
LINEUPS
Stores the most recent lineUp
for each TEAM progressing through a structure
; enables default assignments to be presented in hydrated SINGLES/DOUBLES tieMatchUps
prior to actual lineUps
being saved to TEAM matchUps
.
LINKED_TOURNAMENTS
When two or more tournaments are being run using shared venues
the association between the tournaments is captured in this extension so that client applications can know to load multiple tournamentRecords
when scheduling.
MATCHUP_HISTORY
Captures point-by-point score progression in a condensed format that can later be expanded to full TODS.
PARTICIPANT_REPRESENTATIVES
Stores a record of participant representatives present as witnesses during the making of a draw (old school, when manually drawing positions out of a 'hat').
PERSON_REQUESTS
Captures scheduling requests. Consumed by the scheduler to attempt to accommodate participants; can be used to simply capture and display scheduling requests.
POSITION_ACTIONS
When no external auditing service is available, positionAction
telemetry can be stored on the tournamentRecord
.
RANKING_POINTS
Add the ability to capture points generated by event
outcomes to tournamentRecords
for the purpose of displaying points awarded in real time as participants
advance through draw structures
.
ROUND_TARGET
Supports the generation of qualifying structures which feed in to different rounds of MAIN stage structures; also used to annotate event.entries
to specify rounds at which a participant will enter a "staggered entry" structure.
SCHEDULE_LIMITS
Stores matchUp
"daily limits"; overrides any policies that may be attached.
SCHEDULE_TIMING
Stores matchUpFormat
timing; overrides any policies that may be attached.
SCHEDULING_PROFILE
A schuedulingProfile
is used to run the Auto Scheduler. This extension allows for the iterative editing of a scheduling profile before the Auto Scheduler is run.
STATUS_DETAIL
Not used by the factory. Third party extension for annotating the entry status of participants.
SUB_ORDER
When there are ties in calculating of Round Robin groupOrder
, the SUB_ORDER extension can be added to capture a manual determination of the order for tied positions.
TALLY
Stores calcualated participantResults
on positionAssignments
for a structure
. Used to determine groupOrder
in Round Robin structures.
TIE_FORMAT_MODIFICATIONS
When no external auditing service is available, modifications to tieFormats
during the course of an event can be captured on the tournamentRecord
.