User Guide & Documentation
Comprehensive guide to managing your examination sessions efficiently. Click a tile to open.
Getting Started - Initial Setup Wizard
When you first launch The Exam Factory or create a new profile, a Setup Wizard guides you through configuring your exam management system. This takes about 2 minutes and ensures the app is tailored to your school's needs.
- First Launch: When you open the Dashboard for the first time
- New Profiles: Each time you create a new profile
- Manual Launch: Settings - Profiles & Cloud Save - Run Setup Wizard
- IB + IGCSE: Most international schools (both boards enabled)
- IB Only: IB Diploma Programme schools
- IGCSE Only: Cambridge IGCSE schools
- Custom: Configure everything yourself
The template automatically pre-selects appropriate exam boards for you.
- Official Boards: a IGCSE and a IB with built-in features
- Custom Boards: Add your own (e.g., "Internal Exams", "A-Level")
Note: You can add unlimited custom boards by clicking "+ Add Custom Board"
- Yes: Shows iSAMS-related features (e.g., staff invigilation sync references)
- No: Hides iSAMS-specific workflows for a cleaner interface
This customizes the app's UI based on your school's systems.
- Access Arrangements: Track student accommodations (extra time, etc.)
- Public Holidays: Account for holidays in exam scheduling
- Staff Assignment: Manage invigilation schedules
- Mailing Exams: Track exams sent to boards
- Subject Groups: Organize exams by subject/department
All features are enabled by default - you can toggle them off if not needed.
- Selected exam boards
- iSAMS integration status
- Enabled features
Click Start Using App to begin!
- Open the Settings page from the sidebar
- Use Exam Boards to control active boards and custom board definitions
- Use Centre Numbers to set board-specific centre codes
- Use Access Arrangements to manage selectable needs and dot colors
Profile Management (Exam Sessions)
Profiles allow you to maintain completely separate datasets for different exam sessions (e.g., "November 2024", "May 2025"). Each profile stores its own students, timetables, seating plans, and all other data independently.
- Current Profile dropdown - Shows which profile is currently active using
- Profiles & Cloud Save panel - Create, switch, rename, save, and restore profiles
- Open Settings from the sidebar
- Open the Profiles & Cloud Save panel
- Enter a profile name (e.g., "May 2025 Exams")
- Optionally add a description
- Click Create Profile
- Open Profiles & Cloud Save
- Find the profile you want to backup
- Click Export on that profile row
- A JSON file downloads containing all data for that profile
Save this file safely! It contains everything: students, entries, seating, access arrangements, etc.
- Open Profiles & Cloud Save
- Click Import and choose your exported file
- Select your exported .json file
- Profile imports as "[Name] (Imported)"
- Rename if needed and start using it
Note: You cannot delete the currently active profile. Switch to another profile first.
Cloud Sync & Backup (Firebase)
The Exam Factory uses Firebase Cloud Storage to sync your data across devices and provide automatic backups. All data is stored securely per-user and never shared between accounts.
- Per-User Storage: Your data is tied to your login email (e.g., info@theexamfactory.com)
- Per-Profile Sync: Each profile syncs independently to the cloud
- Two-Way Sync: Save local data to cloud, or load cloud data locally
- Automatic Backups: Data is safely stored in Firebase Firestore
Important: Profiles are NOT shared between users. Each person's data is private and isolated.
- Synced X items recently: Data is in cloud, shows item count and last sync time
- Never synced to cloud: Profile exists only locally
- Profile in cloud but no data: Profile metadata exists but data missing
- Loading... Checking cloud status
This status updates automatically when you open Profile Manager.
- Open Profiles & Cloud Save
- Click Sync All at the top of Your Profiles
- The system will iterate through all your profiles and sync them one by one.
- A summary will appear showing success/failure counts.
When to use: Periodic full backups of all your exam sessions.
As you work (e.g., editing seating plans, updating entries), the system automatically
saves your changes locally.
Watch for the Auto-Save Indicator in the top-right of the Dashboard
header:
- Saving... - Data is currently writing to storage
- Saved - Save complete successfully
- Open Profiles & Cloud Save
- Find the profile you want to backup
- Click Save on that profile card
- Wait for confirmation message
What gets saved: ALL data for that profile (students, exams, seating, access arrangements, etc.)
When to use: After making significant changes, before switching devices, or as regular backups
- Open Profiles & Cloud Save
- Find the profile you want to restore
- Click Load on that profile card
- Confirm the overwrite warning
- Wait for data to download
- Page automatically reloads with cloud data
Warning: This OVERWRITES your local data! Make sure you want to replace it.
When to use: Switching to a new computer, recovering from local data loss, or reverting to a previous backup
- Item Count: "Synced 2,450 items" = All your data categories (students, exams, etc.)
- Last Sync Time: "2 hours ago", "Just now", "3 days ago"
- Never Synced: Profile hasn't been backed up to cloud yet
Tip: If sync status shows "Never synced" but you know you uploaded, try clicking "Load" to pull down the data.
On Computer A:
- Make your changes
- Click Save
- Wait for confirmation
On Computer B:
- Log in with same email
- Open Profiles & Cloud Save
- Click Load for that profile
- Confirm and wait
- Start working with synced data!
- Per-User: Only you see your data (tied to your login email)
- GDPR Compliant: No cross-user data sharing
- Secure Storage: Firebase Firestore with authentication
- Local + Cloud: Data exists in both places for redundancy
Your data is as secure as your Google/Firebase account.
Data Center (Setup & Configuration)
The Data Center is the foundation of the system. You must ensure all data is clean and uploaded here before using any other tool.
- Exam Catalog: Defines all exam codes and durations.
- Students (IGCSE/IB): Student roster with Candidate Numbers.
- Master Timetable: Schedule of all exams (Date, Start Time).
- Entries: Links Students to Exams (Candidate # + Exam Code).
Candidates (Exam Selection + Access Arrangements)
Use Candidates to assign exams and configure access arrangements with a cleaner click-to-add workflow.
Settings (Profiles, Boards, Centre Numbers, Access Needs)
Settings is the control panel for profile operations, board configuration, centre codes, and access-need options.
Staff Timetables (Multi-Week Upload)
The Staff Timetable system now supports uploading multiple weeks of iSAMS invigilation data to cover your entire exam session. This allows you to upload one file per week and have all staff schedules automatically combined.
- Week Slots: Individual upload slots, each with a date picker and file selector
- "Add Another Week" button: Adds more week slots as needed
- "Upload All Weeks" button: Processes all filled slots at once
- Uploaded Weeks Summary: Shows all uploaded weeks with dates and assignment counts
- In the Data Center, scroll to Staff Timetable
- For the first pre-loaded week slot:
- Use the date picker to select the week commencing date
- Click Choose File and select your iSAMS weekly file
- Click + Add Another Week to add more slots
- Repeat for each week of your exam session
- Click Upload All Weeks to process
- Week commencing date (sorted chronologically)
- Number of staff assignments in that week
- Original filename for reference
- Remove button - Delete individual weeks if needed
- Clear All button - Remove all uploaded weeks at once
- Combines all weeks into a unified dataset
- Staff Schedules: Shows assignments across ALL uploaded weeks
- Daily Scheduler: Pre-fills invigilators for any date covered
- Printing Centre: Staff PDFs include complete schedules
- Analysis: Invigilation clash detection uses all weeks
- The system prompts you to confirm overwriting
- Click OK to replace the old data with new
- Click Cancel to skip and keep the existing week
Understanding Room Assignments
The system assigns students to rooms using a priority system. Understanding this is crucial for correctly managing where students sit for their exams.
- Specific Room (from Entries): Set in your IGCSE Entries or IB Entries file, in the "Specific Room (Optional)" column. This overrides everything else.
- Fixed Seat (from Fixed Seating): Assigned in Data Centre a Fixed Seating. This applies to ALL exams unless overridden.
- Master Timetable Default: The room specified in the Master Timetable for that exam (usually "Main Hall").
Solution: In your IB Entries or IGCSE Entries file, find the row for that specific exam and type "Main Hall" in the "Specific Room (Optional)" column.
Result:
- That one exam a Main Hall (from Specific Room override)
- All other exams a N2.20 (from Fixed Seat)
Explicit value (like "Main Hall") = "Override and use THIS room"
Example: If you want to move a Fixed Seat student back to Main Hall for one exam, you MUST write "Main Hall" explicitly. Leaving it blank will still use their Fixed Seat.
Room Layouts (Multi-Configuration System)
The Layout System allows a single room to have multiple seating configurations. This is essential when the same physical room is used differently for various exam types (e.g., a hall that sometimes has reduced seating for listening exams).
- Layout 1 a Default configuration (e.g., Main Hall with 80 students)
- Layout 2 a Alternate configuration (e.g., Main Hall - Listening with 40 students)
- Layout 3+ a Additional configurations as needed
Think of layouts as "versions" of the same room with different student-to-seat assignments.
- Listening Exams: A reduced/different seating plan when audio equipment is used (e.g., only half the desks are used, different spacing)
- Practical Exams: Science labs or art rooms may have different stations for different exam types
- Split Sessions: AM uses one configuration, PM uses another
- Access Arrangements: Creating a dedicated layout for students requiring specific accommodations
- Select your room from the dropdown
- You'll see a Layout dropdown showing "Layout 1" by default
- Click + Add Layout to create a new layout (e.g., "Layout 2")
- Drag students to seats in this new layout a these assignments are separate from Layout 1
- Use the Layout dropdown to switch between configurations
- Click Delete Layout to remove a layout (confirmation required if students are assigned)
- If a student is in Layout 2, they use that seat assignment
- If not in Layout 2 but in Layout 1, they use that seat
- If not in any layout, they go to the default room from Master Timetable
This allows you to override specific students without affecting others.
Solution:
- Open Fixed Seating Editor a Select "Main Hall"
- In Layout 1, assign your 80 regular students
- Click + Add Layout to create Layout 2
- In Layout 2, assign ONLY the 20 French Listening students to specific seats (e.g., alternate rows for better audio)
- In your IGCSE Entries, set the "Specific Room" for the French Listening exam to "Main Hall"
Result: When generating seating plans:
- French Listening a Uses Layout 2 assignments (40 seats)
- All other Main Hall exams a Use Layout 1 assignments (80 seats)
Solution:
- In Layout 1, assign students who always sit in the same spot
- Create Layout 2 for "Reader/Scribe exams" where you need different positioning
- Use the Entries file to direct specific exams to use Room N2.20
Timetable Generator
Generate individual PDF timetables for specific students to resolve queries or for ad-hoc printing.
- Red (Key Time): Exam finishes before 11:00 or 15:00. Student needs supervision.
- Orange (Clash): Back-to-back exams. Supervision required during the break.
Session Timeline
Visualise the day's exam flow with a Gantt-style chart. Ideal for planning room turnover and identifying busy periods. You can also drag bars to adjust exam start times!
- Bars snap to 5-minute intervals for precision
- A time indicator shows the new time while dragging
- Modified bars display a pulsing gold border
- A floating action bar appears showing pending changes
ALL DAY Exams (Art Practicals)
ALL DAY exams are special exams (typically Art Practicals) that run for the entire school day rather than a specific time slot. The system automatically detects and handles these exams differently.
- Catalog: Add the exam to your Exam Catalog (e.g., "Art Practical").
- Entries: Add students to this exam in IGCSE/IB Entries as normal.
- Analysis: Go to the Analysis tab and find the "All-Day Exam Scheduler" card. Select your exam and click Find Available Dates.
- Update Master: Click the Schedule button next to a suitable date string. This automatically adds entries to your Master Timetable.
- Student Timetables: "ALL DAY" in Time column, "Full Day" in Duration
- Daily Scheduler & Room Schedules: 08:00 - 16:30 (full school day range)
- Timelines: Full-width purple bar spanning the entire day
- Student Timetable PDFs: Purple row highlighting
- Session Timelines: Full-width purple bars
- Full Session Timetable: Purple row background (overrides other colors)
- Exam Registers
- Seating Plans
- Daily Pack documents
- See which rooms are occupied all day
- Plan invigilation rotas for the entire day
- Calculate staffing requirements across all periods
Exam Registers
Produce official attendance signing sheets for invigilators.
Seating Plans
A powerful tool to drag-and-drop students or auto-fill rooms for exams.
Daily Scheduler (Room & Invigilation Planning)
The Daily Scheduler is your central hub for managing room-specific exam schedules and invigilation rotas. Perfect for planning staffing needs and understanding room usage throughout the school day.
- Exams Today: All exams in that room with start/end times and candidate counts
- Invigilation Rota: Period-by-period staffing showing iSAMS timetabled staff (auto-populated) and manual assignments
- Regular exams: Show actual start/end times (e.g., 09:00 - 11:30)
- ALL DAY exams: Display 08:00 - 16:30 (full school day) to indicate the room is reserved all day
- Blue badge: IB rules apply (1 per 20 students, minimum 2)
- Green badge: IGCSE rules apply (1 per 30, or 1 if a30 students)
- Add manual staff codes (comma-separated)
- Override iSAMS assignments
- Click Save Assignments to store your manual changes
Key Time Supervision
Manage supervision for students who finish exams early. Students cannot leave before 11:00 AM (morning sessions) or 3:00 PM (afternoon sessions). If an exam ends more than 15 minutes before the key time, the student requires supervision.
- Supervision Room: Default room name for Key Time Supervision (appears in staff schedules)
- AM Key Time: When students can leave in morning sessions (default: 11:00)
- PM Key Time: When students can leave in afternoon sessions (default: 15:00)
- Calculates end times for each exam (including extra time if applicable)
- Compares to the session's key time
- Flags exams ending >15 minutes before key time
- Shows how many students are affected per slot
- Blue highlighting: Key Time sessions are visually distinct
- Light blue rows: In both on-screen and PDF exports
Printing Centre (Bulk Actions)
The operational hub for mass-producing documents. Use this for final preparations and bulk printing operations.
Student Timetables
Download a single PDF with ALL student timetables, or filter by IGCSE/IB groups, or generate for a single student. Ideal for handing out to students before study leave.
Exam Registers
Batch print attendance sheets for a whole week or month. Can be filtered by Room. Essential for invigilators to track attendance.
Daily Timelines
Generate a PDF of Gantt charts for a specific date range (e.g., "Week 1 Overview"). Helps visualize the exam flow and identify busy periods.
Seating Plans
Batch export visual room maps for every session in a date range. Essential for the setup team to arrange rooms correctly.
Daily Room Schedules
Generate exam lists and invigilation rotas for specific rooms over a date range. Shows what exams are happening when and who needs to be where.
Daily Pack (Combined)
All-in-one solution! Generate a branded PDF pack containing everything for your exam day(s):
- Room Schedules & Invigilation Rotas
- Daily Session Timeline (Gantt chart)
- Examination Registers (AM/PM, IGCSE/IB)
- Seating Plans with Access Arrangements
Features:
- Mode Selection: Generate for a single date or a date range
- Room Filter: Generate for all rooms or a specific room only
- Branded Cover Pages: Each day starts with a professional cover page showing the date and current profile name
Perfect for printing everything you need for exam days in one click!
Mailing Exams (Script Dispatch)
Manage the logistics of sending exam scripts to examination boards. Track deadlines, optimize box packing, record shipments, and export proof of sending.
- Scripts per Packet: How many exam scripts fit in one packet (default: 25)
- Max Scripts per Box: Maximum capacity of each courier box (default: 100)
- Cost per Box (a): Shipping cost for cost estimates (default: a26.99)
- Analyse From Date: Start date for the analysis period
- Groups exams by destination (IGCSE, IB Standard, IB Multiple Choice)
- Calculates mailing deadlines (3 working days from exam date, excluding weekends & holidays)
- Optimizes box packing based on scripts-per-box capacity
- Excludes already-sent items from the pending list
- OVERDUE (Burgundy): Past deadline - send immediately!
- DUE TODAY (Gold): Must be sent today.
- UPCOMING (Navy): Future deadlines, sorted by date.
- RECENTLY SENT (Grey): Last 5 sent items for reference.
- Click Mark as Sent on the box card
- Enter the Date Sent
- Enter the Tracking Number
- Optionally enter a Custom Cost if different from default
- Add any notes
- Click Confirm Sent
- Pending Boxes: Number of boxes to send
- Total Scripts: Total exam scripts across all boxes
- Est. Shipping Cost: Calculated as boxes x cost-per-box
- Already Sent: Boxes already dispatched and their total cost
A PDF showing all pending boxes with:
- Profile name and generation date
- Summary (total boxes, scripts, estimated cost)
- Boxes grouped by destination with deadlines
- Cost breakdown by destination
Records of dispatched boxes with:
- Date sent, destination, tracking numbers
- Filterable by date or destination
- Total cost summary
Analysis (Health Checks & Scheduling)
The Analysis tab runs a series of health checks on your schedule to identify problems and conflicts. It also houses the specific tool for scheduling ALL DAY exams.
- Excessive Duration: Identifies students with >6 hours of exams in one day (accounting for Extra Time).
- Listening Clashes: Finds multiple listening exams in the same room at the same time.
- Lunch Break Gaps: Highlights students with less than 30 mins break between AM and PM sessions.
- Exam Start Overlaps: Warns if a new exam starts in a room whilst another is still in progress.
- Invigilation Clashes: Checks if staff are invigilating their own subjects.
- Public Holiday Staffing: Calculates invigilator needs for exams on public holidays.
Workflow:
- Select the exam from the dropdown (must be in Exam Catalog).
- Set number of days required and date range.
- Click Find Available Dates.
- The system checks every student enrolled in that exam and finds dates where NO student has any other exam.
- Click Schedule next to a date to automatically add it to your Master Timetable.
Exam Room Display (Timers & Tiles)
The Exam Room Display is a live board for invigilators. You add exam tiles, start timers, pause/resume, and apply extra time. All timers run from the moment you click start (not from the scheduled time).