JoomLeague 6.2 development documentationNot compatible with the JoomLeague 6.1.x component. Use a clean test installation.

Tutorial: Football League

This tutorial builds a fictional 8-team football league. Names are examples; replace them with your real competition data. The objective is a published programme, automatic total/home/away standings and complete event reports.

Prepare the sport

  1. Open Sport Profiles and confirm football has an active published version.
  2. Create a Sport Type named Football, code football.
  3. Leave Create positions, Create event types and Create statistics set to Yes.
  4. Save, then verify the runtime catalogs contain football player/staff/ official positions, goal/card/substitution events and statistics.

Do not create another sport type for each league. One Football sport type can serve many competitions and seasons while every project retains its profile version contract.

Create reusable entities

Create one competition:

  • Name: Regional League
  • Short name: RL
  • Code: regional-league

Create season 2035/36. Create eight clubs and enable Create new team and Create new venue when each club has one initial side/home ground. Rename the generated teams explicitly if a club has multiple sides, for example Demo United A and Demo United B.

Example teams:

  1. Demo United A
  2. Riverside Athletic
  3. Northfield FC
  4. Central Town
  5. Hillcrest Sports
  6. Lakeside Club
  7. Valley Rovers
  8. City Academy

Verify every team has the intended club_id and every venue has its owner_club_id. Upload one current club/team logo where available; use a team picture only for a squad photograph.

Create the project

Create project Regional League 2035/36:

  • Competition: Regional League
  • Season: 2035/36
  • Sport type: Football
  • Project type: League
  • Timezone: Use Default (system settings)
  • Default start time: use the profile default or set the competition time
  • Current round mode: Start
  • Auto advance: 7200 seconds

Save the project and open its name to enter Project Panel.

Add participants

Open Project Entries → Assign/Add and create one team entry for each team. Keep Included in standings enabled. Seed numbers 1–8 are optional but make the generated order deterministic.

Open each entry's members and add fictional players and staff. Use only player positions for players and staff functions for staff. Add shirt numbers and validity dates where known. A football project can operate before full rosters exist, but Event Reports cannot attribute goals/cards to missing people.

Create the league stage

Create one stage:

  • Name: League phase
  • Stage type: league
  • Sequence: 1
  • Published: Yes

Use inherited project entries so all eight entries participate. No stage transition is needed for a single-stage league.

Generate the schedule

Open Schedule Planner from the stage. Choose the round-robin/Berger method, all eight entries and the desired number of legs:

  • one leg creates 7 rounds and 28 programme items;
  • home-and-away creates 14 rounds and 56 programme items.

Set the first round date, interval, default time and publication state. Preview before applying. Confirm each round contains four unique pairings and no team appears twice in one round. Apply only after the preview is correct.

Use Project Schedule or a round's programme list to adjust individual dates, times and venues. Compact fields save automatically; open the full editor for contest status, attendance and description.

Officials and lineups

Create available project officials from fictional people using the football official roles. Assign at least a referee to each programme item. Open each participant lineup to assign starters, substitutes and staff, then record substitutions when they occur.

Missing officials are warnings rather than profile-blocking errors, but a complete public demo should not leave them empty.

Record one completed event

Open Event Report for the first item:

  1. Confirm the two participants and scheduled context.
  2. Record a valid lineup for both sides.
  3. Add goal, assist/card/substitution events with minute/actor as applicable.
  4. Enter team/person statistics.
  5. Enter the numeric score and any period values supported by the contract.
  6. Set result status to Final and save.

Finalization automatically invalidates standings. Open Standings and verify Total, Home and Away scopes without pressing a recalculation button.

Publish the frontend

Create menu items for Project, Participants, Results, Standings, Event Ranking, Statistic Ranking and Team Plan. Publish Project Navigation near those pages. Publish Programme, Next Event and Standings modules in suitable template positions.

Recommended checks as an anonymous visitor:

  • all eight teams appear exactly once in standings;
  • the final event affects the correct total/home/away metrics;
  • future events have no fabricated result;
  • Results contains programme/results only;
  • events, lineups, officials and statistics appear in Event Report;
  • iCalendar downloads contain scheduled future items.

Preflight checklist

Run Project Preflight. Expected minimum:

  • valid immutable football contract;
  • 8 project entries;
  • 1 stage and correct assignment;
  • 7/14 rounds with 28/56 items depending on legs;
  • no participant duplication within an event;
  • all stored final results satisfy the score contract.

Correct errors before treating the project as operational. Official warnings should also be resolved for a demonstration-quality site.