Admin Context: Initial Setup
Goal
Prepare the system so that association, central access and first master data for the demo league exist. This chapter bundles everything created in the system-admin or admin context.
Role and Permission
- System operator for server and configuration steps.
- System administrator for maintenance in the Admin area.
Prerequisites
- The application is reachable.
- You have server access to the running application.
- The internal application directory on the target host is known.
- Real configuration values live in deployment secrets or internal operations documentation, not in this public handbook.
- Mail delivery or development mail redirection is prepared for login links.
- The demo scenario is functionally fixed.
2.1Configure the Application
Goal
The application starts with a consciously selected runtime mode, database and mail delivery.
Required Configuration
| Area | Variable | Expectation |
|---|---|---|
| Runtime mode | APP_ENV | prod for publicly reachable operation; dev only for protected test operation |
| Debug output | APP_DEBUG | 0 for publicly reachable operation |
| Application secret | APP_SECRET | long random value; never documented in the repository or handbook |
| Database | DATABASE_URL | reachable MySQL-compatible database with utf8mb4 |
| Mail transport | MAILER_DSN | production SMTP/API transport or consciously disabled test transport |
| Sender | MAILER_FROM | technical sender address for login links and notifications |
| Development target | MAILER_DEV_RECIPIENT | target address for redirected mail outside APP_ENV=prod |
| URL context | DEPLOY_DOMAIN | public domain for generated links |
| URL scheme | DEPLOY_SCHEME | https for publicly reachable operation |
Check Configuration
Sign in to the target host by SSH, change into the internally documented application directory and check runtime, database and migrations:
php bin/console about
php bin/console doctrine:query:sql "SELECT 1"
php bin/console doctrine:migrations:migrate --no-interactionTypical Mistakes
- Wrong
APP_ENVcauses mails to be redirected unexpectedly or sent productively. APP_DEBUG=1can expose technical details on a public host.- Missing database or mail settings block login-link and workflow tests.
2.2Create System Access by Console
Goal
Create the first administrator account without depending on an already working Admin login.
Server Command
Run the internally documented console command for creating a system administrator. Use the target email of the first admin account.
php bin/console app:admin:create demo-admin@ligawerk.deCheck Login
- Open
/login. - Request a login link for the created email address.
- Open the delivered link.
- Check that the Admin area is reachable.
- Confirm that the active workspace is system administration.
Verification
- The account exists.
- Login-link mail delivery works.
/adminopens without access denied.
2.3Create Association
Goal
Create the organizational frame for the demo league.
Example Data
| Field | Value |
|---|---|
| Name | ZauberForest Spielrunde |
| Short name | ZFS |
| Status | Active |
| Website | https://www.ligawerk.de/handbuch/ligabetrieb |
Workflow
- Sign in as administrator.
- Open
Associations. - Click
Create Association. - Enter name, short name, status and public contact data.
- Save the association.
- Reopen the detail view and check that the association is active.
Expected Result
- The association exists once.
- It is active.
- It can be selected as work context for league administration.
2.4Set Up League Administration
2.4.1Goal and Access
League administration needs a person, login-capable access and an association function that grants the association workspace.
2.4.2Example Data
| Element | Value |
|---|---|
| Person | Luminara Funkelblatt |
| liga.zauberforest@ligawerk.de | |
| Association | ZauberForest Spielrunde |
| Function type | League administration |
| Status | Active |
2.4.3Create Person and Function
- Open
People. - Create the person with email address and active status.
- Open
Association functions. - Create a function for the association and person.
- Select the function type that grants league-management access.
- Save.
2.4.4Check Login and Workspace
- Request a login link for the league-management email.
- Sign in with that link.
- Open
/admin. - Check that the association workspace is offered.
- Switch into the association workspace and check the navigation.
2.4.5Controls and Error Patterns
| Situation | Meaning |
|---|---|
| Workspace missing | association function is missing, inactive or has the wrong type |
| Login link not delivered | check mail configuration and recipient address |
| Access denied | user exists but has no matching admin-capable function |
2.5Create Club
2.5.1Goal and Access
Create the clubs that later submit teams, player lists, referees and game-day data.
2.5.2Example Data
| Club | Short name | Role |
|---|---|---|
| Feldberg Füchse | FBF | complete home-club submission |
| Kinzigtal Kauze | KIK | follow-up / late-submission case |
| Murgbach Murmeltiere | MBM | cancellation and rescheduling case |
2.5.3Enter Club
- In the association workspace, open
Clubs. - Click
Create Club. - Enter name, short name, status and contact data.
- Assign the club to the association.
- Save.
2.5.4Check Public Display
Open the public master-data pages and check whether the club appears in the expected season/league context once teams and registrations exist. A club alone does not yet create a public league entry.
2.5.5Typical Mistakes
| Situation | Meaning |
|---|---|
| Club not visible publicly | no team or league registration exists yet |
| Club appears twice | duplicate master-data record was created |
| Club cannot be selected later | status or association assignment is wrong |
2.6Set Up Club Access
2.6.1Goal and Access
Club access consists of person, club membership and club function. The person must be active and the function must grant the intended club workspace.
2.6.2Example Data
| Element | Value |
|---|---|
| Person | Felia Fuchspfad |
| verein.fbf@ligawerk.de | |
| Club | Feldberg Füchse |
| Club function | Club administrator |
| Membership status | Active |
2.6.3Create Person
- Open
People. - Create or find the person.
- Enter email address, status and public data as needed.
- Save.
2.6.4Create Club Membership
- Open
Club memberships. - Select person and club.
- Set membership status to active.
- Save.
2.6.5Create Club Function
- Open
Club functions. - Select club, person and function type.
- Use a type that grants club administration where needed.
- Save.
2.6.6Pre-Check Access
- Request a login link for the club account.
- Sign in.
- Check that
/adminopens. - Check that the club workspace is available.
- Switch into the club workspace and check club navigation.
2.6.7Typical Mistakes
| Situation | Meaning |
|---|---|
| Person can log in but sees no club | membership or club function is missing |
| Person sees the wrong club | membership/function points to the wrong club |
| Person cannot edit | function type has read-only or no admin permissions |
2.7Use Audit Log as System Admin
Goal
The audit log answers who changed what, when and in which work context. It is used for support, traceability and acceptance checks.
Role and Access
- System administrator or authorized admin role.
- Work in the system or association workspace.
- Use the audit log for review, not for editing business data.
Typical Support Questions
| Question | What to check |
|---|---|
| Who changed this object? | actor, operation, object type and object ID |
| Was a workflow action triggered? | route/path, operation and context |
| Was a user acting by proxy? | original actor and effective actor |
| Which club or association was affected? | work context type and ID |
Workflow
- Open
Audit log. - Filter by actor, operation, object type, route or time range.
- Open the matching entry.
- Compare actor, object and work context with the support question.
- Document the finding outside the audit log if follow-up is required.
Expected Result
- Mutating admin and workflow actions are traceable.
- Support can identify actor, operation, object, route and context.
- No business correction is performed directly in the audit log.
Outlook
After this setup, league administration continues with association context: season, leagues, registrations, schedule and review workflows.