4. Register and build the site¶
Who: the coordinator hands over the list below; the developer makes the changes · When: about a week before · You need: the keys from step 1, each workbook filed in step 2 with its link, and the event's images
The event is inert until two things exist: its registration (the entry in
event-data/config/events.json) and its event site (the pages in the site
repo). Register first. The Hub reads its days, venues and labels from the
registration, and step 5's Set up live sync checks
the day key against it.
What to hand the developer¶
Send this list, filled in, in one message.
- The event key and every day key.
- The event's type: standard, dual meet or team.
- The title, the dates, and the venue name.
- For each day, each venue name (spelled and capitalised exactly as you will type it in Set up live sync) and the link to its workbook.
- The labels the Hub shows: a name for every division, every event, and (dual meet) both clubs; or, for a team event, the label of each pair (MD, WD, XD…).
- Whether the event uses attendance (
consoleordesks) and score entry (consoleorlinks). See who enters scores. - The images: a QR image that opens the event's page, its short link, the event's logo, and for a dual meet both clubs' logos.
- The schedule board's category colours, read off the workbook's
colour-coded
SCHEDULEtab (standard and dual meet).
Register the event¶
Developer task — needs GitHub access to event-data
Add the event's entry to event-data/config/events.json and commit it to
main. No redeploy: it takes effect within about a minute. The mechanics are in
Adding a new event.
The entry carries:
type—"standard","dual-meet"or"team". Required and explicit.title— the masthead label.days— one entry per day. Each has a unique day key, alabel, adate, and itsfacilities: each venue'snameand the workbook'ssheetId.display— labels for divisions, events and clubs (code → label; the order of the keys is the display order). A team event addsdisplay.pairs, anddisplay.teamColorswhen its teams have colours.attendance—"console"or"desks", only if the event uses it.scoreEntry—"console"or"links", only if the event uses it.
Day keys must be unique across every event in the file. Venue names are compared exactly, with capitals. The entry stays in the file for as long as any of the event's pages are up: removing a finished event's entry blanks its Hub.
Build the site¶
Developer task — needs GitHub access to the site repo
Copy the matching template to events/<event-key>/, replace its tokens, add
the images, and commit. The mechanics are in
Adding a new event.
- Copy the template that matches the type:
standard-tournament-template/,dual-meet-template/orteam-tournament-template/. - Replace every
{{TOKEN}}(event key, title, tagline, date range, venue, QR image and short link, logo; a dual meet adds club codes, names and logos). A search for{{in the folder must come back empty. - Put the images in the folder.
- On the schedule board (
schedule.html), set the day key it shows and itsCAT_META: each category's wall-display colour, read off the workbook'sSCHEDULEtab. A team event's board is coloured by bracket and has one colour for playoffs. Nothing detects it if the workbook is recoloured later. - Leave the theme alone unless the event genuinely needs its own.
There are no days, venues or categories to fill in on the pages: they come from the registration.
Add the desk page and the scorer page, if used¶
Developer task — needs GitHub access to the site repo
Copy _templates/attendance/attendance.html to
events/<event-key>/attendance.html if the event is "desks", and
_templates/scorer/scorer.html to events/<event-key>/scorer.html if it is
"links". Replace {{EVENT_KEY}} and {{EVENT_TITLE}} in each.
Without the desk page, a desk link opens a missing page. Without the scorer page,
Mission Control's Scorer links switch and Issue scorer link are off, with a
note. "console" score entry needs neither page.
Check it worked¶
Once the developer says it is done, give it a minute, then check:
- The event appears in Control Center's event picker, with its days.
- The Hub (
/events/<event-key>/) loads and shows the right days and venues, with the right labels. - The schedule board page (
/events/<event-key>/schedule) loads. - For
"desks",/events/<event-key>/attendanceloads. For"links",/events/<event-key>/scorerloads. - Mission Control's Check connection shows the registry copy it is using.
The Hub shows no scores yet. That is step 5.
If it doesn't¶
- The Hub loads but renders empty. Check the spreadsheet's column names (
CSVandSTANDINGSCSVare exact and case-sensitive) and that the event'sdisplaylabels exist. See When something's wrong. - The event is missing from Control Center. The commit has not landed, or the file failed validation. A file that fails any rule is rejected as a whole: ask the developer to check the commit.
- A day key is rejected. It is already used by another event. Choose a new one and use it everywhere.
Where the formats differ¶
- Standard:
standard-tournament-template/;display.divisionsanddisplay.events. - Dual meet:
dual-meet-template/;display.clubs; both clubs' logos and codes. - Team:
team-tournament-template/;typeis"team";display.pairs, anddisplay.teamColors(team code → hex colour) when the teams have colours. Team names come from the workbook, so no division or club labels are needed.
Next: 5. Connect the workbooks.