Commissioner Tools
Commissioner Overview
The Commissioner Hub is in the navigation bar when you're logged in as a commissioner. It links to the league management tools.
The Hub
The Commissioner Hub at /commissioner/ has these tools:
| Tool | Purpose | Who |
|---|---|---|
| Power Rankings | Set ranking weights, regenerate rankings, generate blurbs, publish weeks | Commissioner |
| Facts & Trash Talk | Anthropic API key, AI prompts, and the lineup-stats setting | Superuser only |
| Keeper Rules | Keeper cost and eligibility rules per season | Commissioner |
| Post to Discord | Webhook setup, automated notification settings, manual messages | Commissioner |
| Push Notifications | Send a push notification to members' phones | Superuser only |
| Sync League Data | Active league ID, Sleeper sync, Yahoo and ESPN historical imports | Commissioner |
| League Constitution | Edit and publish the official rule book | Commissioner |
| Manager Accounts | Create accounts, link Sleeper/Yahoo/ESPN identities, set roles and active members | Commissioner |
Commissioner Tools Outside the Hub
Some commissioner tools live inside their own section of the site instead of the hub:
| Tool | Where |
|---|---|
| Survivor setup | Survivor → Setup (/survivor/setup/). Lock, unlock, advance weeks and enter results from the pool's page. |
| Events | Events → New Event (/events/new/). Edit and grade from each event's page. |
| Rule proposal statuses | Open a proposal under Rule Proposals to set its status and add notes. |
| Treasury | Treasury → Setup (/treasury/setup/). Commissioners and treasurers. |
| AI blurbs and publishing | Power Rankings in the hub. See AI Trash Talk. |
Roles
The app has four access levels:
- Superuser: full access, including Django admin and the superuser-only pages above. Set during initial server setup.
- Commissioner: every commissioner tool except the superuser-only pages. Also has treasurer access. Assigned in Manager Accounts.
- Treasurer: Treasury tools only. Assigned in Manager Accounts.
- Member: standard league member access. Can view all public pages and submit picks and entries.
Initial Setup Order
When deploying from scratch:
- Set the active league and sync Sleeper. This pulls every season in the Sleeper league chain.
- Import historical data: Yahoo for 2018 and ESPN for 2015–2017.
- Set up accounts. Create EMFFL accounts for each manager and link their Sleeper, Yahoo and ESPN identities.
- Configure Discord. Add the webhook URL and choose notification settings. Do this after syncing.
- Set up survivor pools, events, keeper rules and dues for the season.
Each step has its own guide.