data class AdvancedProperties(val startTime: Instant? = null, val freezeTime: Duration? = null, val holdTime: Duration? = null, val teamMediaTemplate: Map<TeamMediaType, MediaType?>? = null, val teamOverrideTemplate: TeamOverrideTemplate? = null, val teamRegexes: TeamRegexOverrides? = null, val teamOverrides: Map<String, TeamInfoOverride>? = null, val groupOverrides: Map<String, GroupInfoOverride>? = null, val organizationOverrides: Map<String, OrganizationInfoOverride>? = null, val problemOverrides: Map<String, ProblemInfoOverride>? = null, val scoreboardOverrides: RankingSettings? = null)(source) This class represents possible contest configuration overrides.
Ideally, all this information should be received from the contest system. Unfortunately, in the real world, it's not always possible, or information can be not fully correct or convenient to display.
This class contains the data to be fixed in what is received from a contest system.
The order in which overrides applied:
Time and scoreboard related (they don't interact with others)
Filtering out non-submitted teams if requested
Regexp overrides (so values provided by them can be used in templated)
Creating new groups mentioned in teams or overrides and group overrides
Creating new organizations mentioned in teams or overrides and organization overrides
(Deprecated) Team media template
Team override template
Normal team overrides
In all templates in all strings inside {variableName}
pattern is substituted. The following variable names are supported:
teamId - team id from the contest system
orgFullName - fullName of team organization
orgDisplayName - displayName of team organization
all values from customFields
Parameters
Override for contest start time. The preferred format is yyyy-mm-dd hh:mm:ss
, but some others would be accepted too. startTime override also can affect contest state.
Time from the start of the contest before scoreboard freezing.
Fixed time to show as time before the contest start
Template medias for all teams.
Template for team overrides
Bunch of regexes to extract information cds doesn't provide from team name.
Overrides for a specific team. Team id from the contest system is key.
Overrides for specific groups. Group name is key.
Overrides for specific problems. Problem letter is key.
Overrides of scoreboard calculation settings