♟ Tshwane South District D4
Version 1.0.0 · 15 March 2026

School Chess Portal
User Manual

The complete guide for all portal users — managing players, teams, league registrations, training sessions, and more.

🎓 Teachers & Coaches — covered in this version
👨‍👩‍👧 Parents & Players — coming in v2.0
DocumentUser Manual
DistrictTshwane South (D4)
Portald4portal.co.za
RevisionInitial release · Teachers & Coaches

Contents

Part 1 — Teachers & Coaches Current Version
Part 2 — Parents & Players Coming in v2.0
14Parent Guide – Viewing Your Child's Progress
16Player Guide – Your Profile & Results
15Parent Guide – Training Notifications
17Player Guide – Linking to Chess SA

1.Introduction

The D4 School Chess Portal is an online platform for schools in the Tshwane South District to manage everything related to their chess programme — from registering players and organising teams, to entering leagues and tracking training attendance. Access it at d4portal.co.za.

📖

About this manual

This is the User Manual for the D4 School Chess Portal. It is organised in parts, each covering a different group of users. Part 1 (this version) covers Teachers and Coaches. Part 2, covering Parents and Players, will be added in a future version.

What Can You Do in the Portal?

As a Teacher or Coach, the portal allows you to:

  • Register and verify players — Add your school's chess players and link them to the official Chess SA ratings database.
  • Build and manage teams — Create teams, assign players to board positions, and keep rosters up to date.
  • Enter leagues — Register your teams into open leagues and manage your squad before the finalization deadline.
  • Record training sessions — Log every practice session, mark who attended, and send automated notifications to players and parents.
  • Generate reports — Download attendance summaries and per-player statistics as PDF or CSV.
  • Track tournament results — View your players' results from external tournaments and monitor rating changes.
ℹ️

The portal connects to the Chess SA ratings database to pull official player ratings and IDs. An internet connection is required to verify players or sync ratings.

2.User Roles

The portal has several user roles. Part 1 of this manual covers the two roles most relevant to school staff: Teacher and Coach. Roles covered in future parts are noted below for reference.

🎓 Teacher

Full school management access

  • Add, verify, and manage players
  • Create and manage teams
  • Enter teams into leagues
  • Create and manage training sessions
  • Mark attendance and send announcements
  • Generate attendance reports
  • Edit school profile and manage staff access
  • View tournament results

🏆 Coach

Day-to-day training access

  • View and manage players
  • View teams and rosters
  • Create and manage training sessions
  • Mark attendance and send announcements
  • Generate attendance reports
  • View tournament results
  • Cannot: edit school profile or manage user access

All Roles in the System

The table below shows every role in the portal and where to find guidance for each one.

RoleWho They AreWhat They Can DoIn This Manual
Teacher School staff — primary portal user Full player, team, league, and training management; edit school profile Part 1 — this document
Coach School coaching staff Player and training management; cannot edit school profile Part 1 — this document
Parent Parent or guardian View child's team and results, receive training notifications Part 2 — coming v2.0
Player A registered chess player View own profile, link to Chess SA account, view team and announcements Part 2 — coming v2.0

3.Logging In & Registration

You can access the portal at d4portal.co.za via any web browser. You will need an account to log in — this is arranged through your school or the district.

Logging In

How to Log In
  1. Go to d4portal.co.za/login in your browser.
  2. Enter your email address and password, then click Log In.
  3. Alternatively, click "Continue with Google" if you prefer to use your Google account.
  4. You will be taken to your school's Dashboard.

Registering for the First Time

How to Register a New Account
  1. Enter your name, email address, and a password.
  2. Search for your school by name and select it. If your school does not appear, you can create a new school profile.
  3. Click Register. A 6-digit verification code will be sent to your email address.
  4. Enter the code on the verification screen. The code is valid for 10 minutes. If it expires, click Resend.
  5. Once verified, you will be taken to the Dashboard.
⚠️

You must verify your email address before you can access the portal. Check your spam folder if you do not receive the verification email within a few minutes.

Forgotten Password

How to Reset Your Password
  1. On the login page, click Forgot Password?
  2. Enter your email address and click Send Reset Link.
  3. Open the email and click the reset link.
  4. Enter your new password and confirm it, then click Reset Password.

4.The Dashboard

The Dashboard is your home screen. It gives you a live overview of your school's chess programme and quick access to all key areas of the portal.

What You'll See on the Dashboard

Summary
My Teams & Players
Quick count of your registered teams and players, with links to manage them.
Upcoming
Next Match
Your next scheduled league fixture — date, opponent, and venue.
History
Recent Results
Scores and outcomes from your most recent matches.
Leagues
Active Leagues
Teams currently enrolled in leagues, with roster details and any eligibility warnings.
Registration
Open for Registration
Leagues your school is eligible to enter. Shows deadlines and how many slots remain.
School
School Information
Edit your school's details, upload a logo, and manage staff user access.

Warnings and Alerts

The Dashboard will display warnings in the following situations — pay attention to these before the league starts:

Warning TypeWhat It MeansWhat To Do
Gender Violation A male player is assigned to a girls-only league team Go to the team roster and remove the ineligible player
Age Violation A player is too old for the age group (e.g. over 13 in a U13 league) Remove that player from the team and add an eligible replacement
Multi-Team Conflict A player is registered as a board player in more than one team A player may only play as reserve in a second team, not as a main board player
Squad Deadline Your squad finalization deadline is approaching Confirm your roster before the deadline — rosters are locked after this date
✅

Check the Dashboard regularly, especially in the weeks before a league starts, to ensure your rosters are compliant and deadlines are not missed.

5.Managing Players

The Players section is where you build and maintain your school's chess roster. All players must be added here before they can be assigned to a team.

Adding a New Player

How to Add a Player
  1. Go to Players in the sidebar menu.
  2. Click Add New Player.
  3. Enter the player's First Name, Surname, Date of Birth, and Gender.
  4. Click Save. The player is added as Provisional — not yet verified against Chess SA.

Verifying a Player Against Chess SA

Verifying a player links them to their official Chess SA record, giving them an official rating and ID. This is important for league eligibility.

How to Verify a Player
  1. Find the player in your player list and click Verify.
  2. The portal searches the Chess SA database using the player's name.
  3. If a match is found, a record will appear showing their rating and Chess SA ID.
  4. If the date of birth on Chess SA does not match, you will be asked to confirm. Click "Yes, Proceed" only if you are sure it is the same person.
  5. Click Link to confirm. The player is now verified with an official ID and rating.
📋

If a player cannot be found on Chess SA, they remain Provisional. This is fine for training purposes, but they may need to be registered with Chess SA before competing in official leagues. Contact your district coordinator for guidance.

Tagging Players

Tags let you group players into categories like "U11 Squad", "Girls Team", or "Beginners". Tags are used for:

  • Filtering which players are included in a training session
  • Targeting announcements (only notify relevant players and parents)
  • Grouping attendance reports

To add a tag, open a player's profile and type a tag name in the Tags field. Players can have multiple tags.

Syncing a Player's Rating

Player ratings from Chess SA are cached for 7 days. To manually refresh a player's rating at any time:

How to Resync a Player Rating
  1. Find the player in your player list.
  2. Click the Resync button next to their name.
  3. The portal will fetch their latest rating and ranking from Chess SA.

Player Status Indicators

StatusMeaning
Verified Player is linked to an official Chess SA record with a rating and ID
Provisional Player added manually, not yet verified against Chess SA (assigned a PROV_ ID)

6.Managing Teams

Teams are the groups you enter into leagues. A team is not tied to a single league — the same team can be reused across multiple leagues and seasons.

Creating a New Team

How to Create a Team
  1. Go to Teams in the sidebar and click Create New Team.
  2. Enter a Team Name (e.g. "Primary U11 A" or "Girls U13 Team").
  3. Fill in the team size, age group, and gender settings as required.
  4. Click Save. The team is created and you can now add players.

Adding Players to a Team

How to Add Players to a Team Roster
  1. Open the team by clicking its name in the Teams list.
  2. The current roster is shown at the top, sorted by board order (Board 1, Board 2, etc.).
  3. Scroll down to Available Players. This list shows players from your school who are eligible for this team (filtered by age and gender).
  4. Click Add + next to a player's name. They are automatically assigned the next available board number.
  5. Repeat for all players you want on the team.

Reordering Board Positions

Board order matters in competitive chess — Board 1 is your strongest player. To change the order:

How to Reorder Players
  1. In the team roster, find the player you want to move.
  2. Use the ↑ and ↓ buttons next to their name to move them up or down.
  3. Changes are saved automatically.

Removing a Player from a Team

Click Remove next to a player's name in the roster. The player is removed from the team but remains in your school's player list.

Editing or Deleting a Team

⚠️

Important: Once a team is enrolled in a league, you can only edit the team name — you cannot change size, age, or gender settings. To make those changes, you would need to withdraw the team from the league first. A team cannot be deleted while it is enrolled in a league.

7.League Registration

The League Registration section allows you to enter your teams into open leagues. Available leagues are shown based on your school's level (Primary or Secondary).

Dashboard → Open for Registration  |  d4portal.co.za/leagues/open

Entering a Team into a League

How to Register a Team for a League
  1. On the Dashboard, find the "Open for Registration" section, or go directly to Leagues in the sidebar.
  2. Click Enter Team next to the league you want to join.
  3. You will be asked to select a team:
    • Reuse an existing team — Select from the dropdown (e.g. your team from last season).
    • Create a new team — Enter a name; the system will pre-fill the required settings based on the league.
  4. The system will check that the team size and player count match the league's requirements.
  5. Click Confirm to complete registration. The league will now appear under "Active Leagues" on your Dashboard.
✅

Reusing a team from a previous season saves time. You can then adjust the roster by adding or removing players as needed.

The Squad Finalization Deadline

Each league has a squad finalization deadline. Once this date passes, your team roster is locked — you cannot add or remove players. The deadline is shown on the Dashboard.

⚠️

Make sure your roster is correct and all players are verified before the squad finalization deadline. Any eligibility issues (wrong age or gender) must also be resolved before this date.

Withdrawing from a League

How to Withdraw a Team
  1. Go to Active Leagues on the Dashboard and find the team entry you want to withdraw.
  2. Click Withdraw.
  3. Confirm the withdrawal. This can only be done while the registration window is still open.

League Entry Information

FieldMeaning
Age GroupThe maximum age for the league (e.g. U11 = players born after a certain year)
GenderMixed (boys and girls) or Girls Only
Team SizeHow many players are in the main lineup (e.g. 4 boards)
Reserve PlayersHow many additional reserve players are allowed on the squad
Registration ClosesThe last date to enter or withdraw from the league
Squad DeadlineThe date after which the roster is locked and cannot be changed

8.Training Sessions

Training sessions let you log every practice with your players, mark attendance, and send notifications to players and parents.

Creating a Training Session

How to Create a Training Session
  1. Go to Training Attendance in the sidebar and click Create Session.
  2. Enter the Session Date (required).
  3. Optionally enter the Start Time and End Time.
  4. Optionally add Notes (e.g. "Focus on opening theory – Sicilian Defence").
  5. Optionally add Tags to filter which players are included (e.g. "U13 Squad" — only players with that tag will appear in the attendance list and receive notifications).
  6. Click Save. The session is created in Draft status.

Sending an Announcement for a Session

After creating a session, you can notify players and parents via email or WhatsApp.

How to Send a Training Announcement
  1. Open the training session from the Training list.
  2. Click Announce or Send Notification.
  3. Select the method: Email and/or WhatsApp.
  4. If the session has tags set, only players (and their parents) with those tags will receive the notification.
  5. Click Send. Notifications are delivered in the background.
📱

WhatsApp notifications require that the parent or player has a valid mobile number saved in their profile (in +27 format for South African numbers).

Session Statuses

StatusMeaning
DraftSession created but not yet finalized. Attendance can still be modified.
CompletedSession finalized. Attendance is locked and included in reports.

9.Attendance & Reports

Mark which players attended each session, then generate detailed attendance reports for individuals, groups, teams, or a full monthly summary.

Marking Attendance

How to Mark Attendance for a Session
  1. Go to Training Attendance and click on a session to open it.
  2. A list of players is shown (filtered by the session's tags, if any were set).
  3. Tick the checkbox next to each player who attended. Use the search bar to find specific players quickly.
  4. Attendance is saved as you go — you do not need to click a separate save button.
  5. When done, click Complete Session to finalize it. The session moves to Completed status.
✅

You can mark attendance during the session on your phone or tablet — the portal works in any browser.

Generating Attendance Reports

The portal offers four types of attendance reports. All can be exported as PDF or CSV.

Report TypeWhat It ShowsBest Used For
Monthly Summary Total sessions held, unique players who attended, overall attendance rate for a given month Monthly reporting to school management or the district
Per-Player Report Each player's attendance percentage across all sessions, with a session-by-session heatmap Identifying which players are consistently attending or missing
By Tag (Group) Attendance breakdown grouped by tag (e.g. "U11 Squad" vs "Girls Team") Comparing engagement across different squads or groups
By Team Attendance breakdown per team Checking which team's players are most engaged in training
How to Generate a Report
  1. Go to Training Attendance and click Reports.
  2. Select the report type (Monthly Summary, Per-Player, By Tag, or By Team).
  3. Choose your date range or month.
  4. Click Generate to view the report on screen.
  5. Click Export PDF or Export CSV to download a copy.

10.Tournament Results

The Tournament Results section shows you how your players have performed in external tournaments and how their ratings have changed over time.

Viewing School Tournament Results

When tournament results are imported into the system, they are automatically matched to your school's players where possible. You can view these results in the School Tournament Results section.

Click on any tournament to see:

  • Which of your players participated
  • Their score and final placing
  • Their rating before and after the tournament

Linking a Player to a Tournament Result

Sometimes the auto-matching will not find a match (for example, if the tournament used a slightly different spelling of a player's name). You can manually link a result to a player:

How to Link a Result to a Player
  1. Open the tournament result and find the unlinked entry.
  2. Click Identify Player next to the entry.
  3. Search for the player from your school's roster.
  4. Click Link to connect the result to the player.

11.School Profile & Settings

Keep your school's information up to date. This section is available to Teachers only (not Coaches).

Dashboard → School Information → Edit

Editing School Information

You can update the following details:

FieldNotes
School NameThe official name of your school
EMIS NumberYour school's official EMIS number
School LevelPrimary, Secondary, or Combined (determines which leagues you are eligible for)
DistrictYour district (e.g. Tshwane South D4)
Principal's NameFull name of the school principal
Contact EmailMain contact email for the school
Finance EmailEmail address for league payment communications
Phone NumberSchool contact number
AddressPhysical address of the school

Uploading a School Logo

Click Upload Logo on the School Information page and select an image file. The logo will appear on your school's profile and in reports.

Managing Staff Access

You can add or remove other Teachers and Coaches who have access to your school's portal:

How to Add a Staff Member
  1. Go to School Information on the Dashboard and click Manage Users.
  2. Click Add User and enter their email address.
  3. Select their role (Teacher or Coach) and click Save.
  4. The new staff member will receive an invitation to register (if they don't already have an account).
📋

Only Teachers can manage staff access. Coaches can see the list of school users but cannot add or remove others.

12.Announcements

The Announcements section shows system-wide and school-specific messages from the district administration. These may include important notices about leagues, deadlines, or policy updates.

Viewing Announcements

Announcements appear in your feed filtered to your role (e.g. Teachers see announcements targeted at teachers). New unread announcements are highlighted.

Click on an announcement to read it in full. Once read, it is automatically marked as Read.

Pinned Announcements

Important announcements may be pinned to the top of the feed. Pinned announcements remain visible until they are removed — even after you have read them.

✅

Check your announcements regularly, especially at the start of each term, as league schedules and registration windows are often communicated here first.

13.Tips & Troubleshooting

Common questions and issues — and how to resolve them.

Frequently Asked Questions

My player cannot be found on Chess SA. What should I do?

Some players, especially young or new players, may not yet be registered with Chess SA. They will remain in Provisional status. Contact your district coordinator — they can advise on how to register a new player with Chess SA so they can receive an official rating and ID.

The "Enter Team" button is not showing for a league. Why?

This can happen for a few reasons: the registration window may have closed, your school may have already reached the maximum number of entries for that league, or your school's level (Primary/Secondary) may not match the league category. Check the registration deadline and your school's level in the School Profile.

The squad finalization deadline has passed and I need to change my roster. What can I do?

Once the deadline has passed, the roster is locked and you cannot make changes yourself. Contact your district coordinator — they may be able to grant an extension in exceptional circumstances.

A player's rating seems incorrect or outdated. How do I update it?

Ratings are automatically cached for 7 days. To force an immediate update, click Resync next to the player's name in the Players list. If the rating on Chess SA itself is wrong, contact Chess SA directly.

I am getting a gender or age violation warning on my team. What does this mean?

Your team roster has a player who does not meet the eligibility requirements for the league. For age violations, check the player's date of birth is correct. For gender violations in a girls-only league, ensure no male players are on the roster. Resolve all warnings before the squad finalization deadline.

I accidentally marked the wrong player as present. Can I undo it?

Yes — as long as the session is still in Draft status, you can uncheck a player's attendance by clicking their checkbox again. Once a session is Completed, attendance is locked. If you need to correct a completed session, contact your district coordinator.

I cannot see the "School Information" edit option. Why?

Editing school information is only available to users with the Teacher role. If you are logged in as a Coach, you will not have this option. Contact your school's Teacher-role user to make changes.

How do I change my own password?

Go to your Profile (click your name in the top-right corner of the portal) and select Change Password. Enter your current password and your new password, then click Save.

Common Issues at a Glance

ProblemLikely CauseSolution
Can't log in Wrong password or unverified email Use Forgot Password or check your email for the verification code
Player not found on Chess SA Player not yet registered with Chess SA Leave as Provisional, contact your district coordinator to register with Chess SA
League not showing as available Registration closed or school level mismatch Check deadline and school level in School Profile
Eligibility warning on team Age or gender violation in the roster Review roster and remove ineligible player
Can't change team roster Squad finalization deadline passed Contact your district coordinator for an override
Notification not received by parent No mobile number or email on parent profile Ask parent to update their profile details
ℹ️

If you encounter an issue not covered in this manual, or if something in the portal is not working as expected, please contact your district coordinator or visit d4portal.co.za for support.