Tutorial: Running Race
This scenario creates a fictional 10 km running race with individual participants, bib numbers, finish times and categories. It demonstrates why JoomLeague uses programme events rather than assuming home/away matches.
Create the race foundation
Create a Sport Type from running_race with all initialization switches
enabled. Review participant/official positions, race statuses and time-based
statistics.
Create competition City 10K, season 2035, project City 10K 2035 and
select project type Race. Create one venue representing the start/finish area.
The project/venue timezone should inherit the Joomla system timezone unless
the race is elsewhere.
Participants
Create fictional Person records and add them as Person project entries. Assign unique bib numbers. Seed numbers are optional and can represent start-wave or ranking order if the event uses them.
Do not create a club/team merely to satisfy a football-shaped model. Club or team association is optional metadata for participants and team ranking rules only when the race actually uses it.
Stage and programme
Create one stage 10 km Race, type race, sequence 1, inheriting all entries.
Create one round/wave and one programme event with a contest type compatible
with multiple race participants. Assign the venue, scheduled date/time and
publish it.
For wave starts, create multiple ordered rounds/events only when the selected profile/result aggregation knows how they combine. Otherwise one event with all participants is clearer.
Record race results
Race results are time-based and lower values rank better. For every starter, record the supported status and finish time. Use profile-defined values for:
- finish time and rank;
- category rank;
- pace and gap where calculated;
- split/lap times where available;
- penalty time;
- DNS, DNF or DSQ status.
Do not enter 0 as a finish time for a non-finisher. Status distinguishes DNS,
DNF and DSQ from a valid measured time. The profile contract determines how
penalties and statuses affect classification.
If team ranking is enabled, configure its profile/project rule (for example how many top participant times count). Do not assume a football points table.
Officials and support roles
Assign race director, timekeeper, marshal, medical or other profile-defined official/staff roles as applicable. A guide runner is a participant/support relationship and should use the profile's supported pairing rather than a free-text note when that capability is available.
Frontend setup
Create Project, Participants, Participant, Results, Standings, Statistics Overview, Statistic Ranking and Event Report menu items. Publish Project Navigation, Programme, Next Event, Participant and Personnel modules.
Race standings should use the race_results shape: rank, participant,
category/team context, time/status and relevant metrics. Home/Away scopes,
result matrix and head-to-head bracket are not meaningful and should not be
published for this project.
Validation checklist
- every entrant is a person entry with a unique bib where required;
- the event supports more than two participants;
- final classifications contain valid time or explicit non-finish status;
- lower finish time produces the better rank;
- category/team ranking follows explicit profile rules;
- Event Report uses a neutral multi-participant statistics table;
- calendar output contains the race start without inventing home/away sides.
Run preflight and inspect every result-contract error before publishing final classification.