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

Complete Project Workflow

This chapter is the recommended end-to-end order for a new competition. It is also a diagnostic checklist: when a later screen is empty, verify the earlier dependency first.

1. Establish the sport contract

Open Sport Profiles and confirm the intended bundled profile is published and has an active version. Create a Sport Type from that version. Enable creation of positions, events and statistics unless you deliberately intend to build every runtime catalog yourself.

Review the resulting catalogs before creating the project. Custom positions, event types and statistics belong to the sport type; project assignment comes later. Do not edit a bundled JSON file to change one installation's display name.

2. Create reusable reference records

Create the competition and season. Then create clubs, teams, people and venues that can be reused by several projects. A club can create and link one initial team and venue automatically. Add historical names and media with their validity dates when an organisation has changed identity.

For individual sports, people may become project entries directly. For team sports, create teams and maintain their club relationship first.

3. Create the project

Select competition, season, sport type and a profile-supported project format. Normally inherit the component/system timezone. The project stores its own immutable profile-version reference when saved.

Open the Project Panel by selecting the project name. This panel is the operational hub; global catalog lists are not a substitute for project-scoped assignment.

4. Add entries and members

Add each participating team, person or named group under Project Entries. The allowed entry kinds come from the sport profile. Set seeds or bib numbers when the selected schedule/race format uses them.

For team entries, assign players and staff under entry membership. Set shirt number, profile-compatible position/function and validity dates. Repeated injury, suspension or membership periods are separate history rows rather than overwriting a single permanent field.

5. Define the stage structure

Create at least one stage. A simple league commonly has one round-robin stage; a tournament can combine groups and knockout stages. Choose whether each stage inherits all project entries or uses an explicit subset.

Create transitions only when entries should flow between stages. Preview a transition before applying it and verify ranks, source round/outcome and target seeds.

6. Build the programme

Use Schedule Planner when a supported generator matches the competition: round robin, Berger tables, race or other bundled JSON-defined algorithms. Preview before applying. Manual creation remains available for exceptional or knockout items.

After generation, inspect the project schedule. Assign dates, times, venues and participants. List editing uses automatic persistence where provided; the full editor remains the authoritative form for detailed fields.

7. Assign operational people

Create project officials/functions from published people and profile-defined official positions. For every programme item, assign officials, lineup players, staff and substitutions as applicable. A role absent from the profile cannot be invented only at project level; add it to the sport type's position catalog first.

8. Enter results and activity

The profile controls participant count, score shape, score segments and valid result statuses. Enter timeline events and statistics in the Event Report workflow. Finalizing a result triggers standings invalidation and automatic recalculation.

Use standing adjustments for explicit penalties or corrections. Always enter a reason and use a negative value for a deduction.

Follow Results and Event Report for the complete operational order, including lineups, staff, substitutions, officials, nested score segments, timeline events, statistics and finalization.

9. Run preflight

Preflight checks profile contract, entries, stages, schedule, officials and stored result contracts. Errors block readiness; warnings identify incomplete but permitted operation. Follow each related-management link, correct the source data and run the check again.

Never suppress a contract error by editing result JSON directly. Correct or re-import the record through the domain workflow.

10. Publish frontend output

Publish the project and all relevant parent/reference records. Create Joomla menu items for the desired JoomLeague views, then publish Project Navigation and supporting modules in positions provided by the active site template.

Test as a logged-out visitor. Administrator access can hide publication or access-level mistakes that anonymous visitors will encounter.

Before duplicating settings across menu items, read Template Settings and Inheritance and place each presentation choice at the profile, project or menu/module layer where it belongs.

Worked examples

Continue with the scenario closest to your project:

The differences between these examples are intentional. They demonstrate team/person entries, group transitions, nested scores and multi-participant time results without hard-coding one sport's workflow into another.