School Chess Portal
User Manual
The complete guide for all portal users — managing players, teams, league registrations, training sessions, and more.
Contents
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.
| Role | Who They Are | What They Can Do | In 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
- Go to d4portal.co.za/login in your browser.
- Enter your email address and password, then click Log In.
- Alternatively, click "Continue with Google" if you prefer to use your Google account.
- You will be taken to your school's Dashboard.
Registering for the First Time
- Go to d4portal.co.za/register.
- Enter your name, email address, and a password.
- Search for your school by name and select it. If your school does not appear, you can create a new school profile.
- Click Register. A 6-digit verification code will be sent to your email address.
- Enter the code on the verification screen. The code is valid for 10 minutes. If it expires, click Resend.
- 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
- On the login page, click Forgot Password?
- Enter your email address and click Send Reset Link.
- Open the email and click the reset link.
- 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
Warnings and Alerts
The Dashboard will display warnings in the following situations — pay attention to these before the league starts:
| Warning Type | What It Means | What 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
- Go to Players in the sidebar menu.
- Click Add New Player.
- Enter the player's First Name, Surname, Date of Birth, and Gender.
- 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.
- Find the player in your player list and click Verify.
- The portal searches the Chess SA database using the player's name.
- If a match is found, a record will appear showing their rating and Chess SA ID.
- 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.
- 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:
- Find the player in your player list.
- Click the Resync button next to their name.
- The portal will fetch their latest rating and ranking from Chess SA.
Player Status Indicators
| Status | Meaning |
|---|---|
| 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
- Go to Teams in the sidebar and click Create New Team.
- Enter a Team Name (e.g. "Primary U11 A" or "Girls U13 Team").
- Fill in the team size, age group, and gender settings as required.
- Click Save. The team is created and you can now add players.
Adding Players to a Team
- Open the team by clicking its name in the Teams list.
- The current roster is shown at the top, sorted by board order (Board 1, Board 2, etc.).
- Scroll down to Available Players. This list shows players from your school who are eligible for this team (filtered by age and gender).
- Click Add + next to a player's name. They are automatically assigned the next available board number.
- 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:
- In the team roster, find the player you want to move.
- Use the ↑ and ↓ buttons next to their name to move them up or down.
- 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).
Entering a Team into a League
- Click Enter Team next to the league you want to join.
- 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. - The system will check that the team size and player count match the league's requirements.
- 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
- Go to Active Leagues on the Dashboard and find the team entry you want to withdraw.
- Click Withdraw.
- Confirm the withdrawal. This can only be done while the registration window is still open.
League Entry Information
| Field | Meaning |
|---|---|
| Age Group | The maximum age for the league (e.g. U11 = players born after a certain year) |
| Gender | Mixed (boys and girls) or Girls Only |
| Team Size | How many players are in the main lineup (e.g. 4 boards) |
| Reserve Players | How many additional reserve players are allowed on the squad |
| Registration Closes | The last date to enter or withdraw from the league |
| Squad Deadline | The 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
- Go to Training Attendance in the sidebar and click Create Session.
- Enter the Session Date (required).
- Optionally enter the Start Time and End Time.
- Optionally add Notes (e.g. "Focus on opening theory – Sicilian Defence").
- 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).
- 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.
- Open the training session from the Training list.
- Click Announce or Send Notification.
- Select the method: Email and/or WhatsApp.
- If the session has tags set, only players (and their parents) with those tags will receive the notification.
- 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
| Status | Meaning |
|---|---|
| Draft | Session created but not yet finalized. Attendance can still be modified. |
| Completed | Session 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
- Go to Training Attendance and click on a session to open it.
- A list of players is shown (filtered by the session's tags, if any were set).
- Tick the checkbox next to each player who attended. Use the search bar to find specific players quickly.
- Attendance is saved as you go — you do not need to click a separate save button.
- 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 Type | What It Shows | Best 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 |
- Go to Training Attendance and click Reports.
- Select the report type (Monthly Summary, Per-Player, By Tag, or By Team).
- Choose your date range or month.
- Click Generate to view the report on screen.
- 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:
- Open the tournament result and find the unlinked entry.
- Click Identify Player next to the entry.
- Search for the player from your school's roster.
- 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).
Editing School Information
You can update the following details:
| Field | Notes |
|---|---|
| School Name | The official name of your school |
| EMIS Number | Your school's official EMIS number |
| School Level | Primary, Secondary, or Combined (determines which leagues you are eligible for) |
| District | Your district (e.g. Tshwane South D4) |
| Principal's Name | Full name of the school principal |
| Contact Email | Main contact email for the school |
| Finance Email | Email address for league payment communications |
| Phone Number | School contact number |
| Address | Physical 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:
- Go to School Information on the Dashboard and click Manage Users.
- Click Add User and enter their email address.
- Select their role (Teacher or Coach) and click Save.
- 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
| Problem | Likely Cause | Solution |
|---|---|---|
| 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.