All help topics

Setup & Configuration

Timetable History

View previously published timetable versions, preview past timetables, and manage your publication history. Each time you publish a timetable, the previous version is preserved here.

Start from the left sidebar navigation menu:

  1. Look for the "Timetable" menu item in the left sidebar
  2. Click to expand and find "History" submenu item
  3. Click on "History" to navigate to this page
  4. The page will load and display: "Timetable History" header with subtitle "Previously published timetable versions", and a list of version cards

Overview

The Timetable History page shows all previously published timetable versions as a list of cards. Each version card displays the version name, publication date, number of timetable entries, academic year, and whether it is the currently active version. You can preview inactive versions to see their full timetable grid (using the same Master View layout), navigate directly to the Master View for the active version, or restore a past version to make it the active timetable again. The Delete action is planned for a future update.

Tasks

Read - View Version History

Navigation: Start from sidebar → Click "Timetable" → Click "History" → Page loads

Display Format: Version cards listed vertically, each showing:

  • Version Name (bold text, top-left of card header)
  • Status Badge: "Active" (green badge) for the current timetable, or "Inactive" (default badge) for past versions
  • Published Date: Formatted as "Published [Day Month Year, HH:MM]" (e.g., "Published 5 Apr 2026, 14:30")
  • Entries Count: Number of timetable entries in the version (e.g., "842 entries")
  • Academic Year: Year range if available (e.g., "2026-2027")

Ordering: Versions are listed with the most recent first.

Example: "Open the page to see three version cards: 'v3 - April 2026' marked Active with 842 entries, 'v2 - March 2026' marked Inactive with 810 entries, and 'v1 - February 2026' marked Inactive with 795 entries."

Read - Preview an Inactive Version

Navigation: Start from sidebar → Click "History" → Find an inactive version → Click "Preview"

Steps:

  1. Find Version: Locate an inactive version card (shows "Inactive" badge)
  2. Click Preview: Click the "Preview" button (Eye icon) in the card header
  3. Loading: A spinner appears while the timetable data loads
  4. View Grid: The card expands to show the full timetable in a Master View grid, organized by bell time schedule
  5. Browse Timetable: Scroll through the grid to see all grades, subjects, and teacher assignments from that version
  6. Hide Preview: Click "Hide Preview" (EyeOff icon) to collapse the grid

Example: "Click Preview on 'v2 - March 2026' to see the full timetable from that version displayed in a grid below the card. Scroll through to compare how subjects were assigned compared to the current version."

Read - View Active Version in Master View

Navigation: Start from sidebar → Click "History" → Find the active version → Click "View in Master View"

Steps:

  1. Find Active Version: Locate the version card with the green "Active" badge
  2. Click Link: Click "View in Master View" button (ExternalLink icon)
  3. Navigate: You are taken to the Master View page showing the current live timetable

Example: "The active version card shows 'View in Master View' instead of Preview/Restore buttons. Click it to go directly to the full Master View page."

Take Action - Restore a Past Version

Navigation: Start from sidebar → Click "History" → Find an inactive version → Click "Restore"

When to use: You published a new timetable but want to roll back to a previous version. Common cases: the new version introduced a placement you don't like, you ran an experiment and want to revert, or the previous version was working fine and the regeneration produced a worse result.

Steps:

  1. Find Inactive Version: Locate the version card you want to restore (shows "Inactive" badge)
  2. Optionally Preview: Click "Preview" first to confirm this is the version you want
  3. Click Restore: Click the "Restore" button (RotateCcw icon) in the card header
  4. Read the Warning: The Restore Published Version dialog explains "This will deactivate the current timetable and restore [version name] (published [date]) as the active version. All class and teacher views will immediately show the restored version. The current active version will be moved to history."
  5. Type RESTORE: Type the word RESTORE exactly (uppercase, no spaces) in the confirmation input. The "Restore Version" button stays disabled until the text matches.
  6. Confirm: Click "Restore Version". The button label changes to "Restoring…" while the action is in progress.
  7. Verify Result: The list refreshes. The version you restored now shows the "Active" badge. The previously active version is now Inactive.
  8. Check Cascading Views: Open /timetable/master-view, /timetable/by-class, /timetable/by-teacher, and Substitutions — all reflect the restored version immediately.

Example: "Restore 'Timetable - 22 Feb 2026' by typing RESTORE in the dialog. After confirming, the Master View page shows the February timetable as the live one. The May version is moved to history and can be restored again later if needed."

Reversibility: Restoring is itself reversible — you can restore the previously-active version back at any time. No data is lost.

Buttons & Controls

  • Preview Button (Ghost Button, Eye Icon): Loads and displays the timetable grid for an inactive version. Toggles to "Hide Preview" (EyeOff icon) when preview is open. Shows spinner while loading.
  • Hide Preview Button (Ghost Button, EyeOff Icon): Collapses the preview grid for an inactive version.
  • View in Master View (Ghost Button, ExternalLink Icon): Navigates to the Master View page. Only shown for the active version.
  • Restore Button (Secondary Button, RotateCcw Icon): Opens the Restore confirmation dialog. Available on inactive version cards. Hidden on the active version (no need to restore what's already active). Shows a spinner and "Restoring…" label while the restore is in progress.
  • Delete Button (Ghost Button, Trash2 Icon): Currently disabled with "Coming soon" tooltip. Will allow removing a version from history.

Visual Elements

  • Version Card: Card component with a bordered header containing version name, badge, and action buttons. Card content shows metadata row.
  • Active Badge (Green): Green "Active" badge indicating the currently live timetable version.
  • Inactive Badge (Default): Gray "Inactive" badge indicating a past version.
  • Metadata Row: Row of text items showing published date, entries count, and academic year, separated by spacing.
  • Preview Grid: Expandable section below metadata showing the full Master View grid with all grades, subjects, and teachers. Separated from metadata by a border line.
  • Schedule Group Headers: When multiple bell schedules exist in the preview, each gets a sub-heading.
  • Loading Spinner: Centered spinner shown while loading history or preview data.
  • Empty State: Centered message "No published timetable versions found." with sub-text "Publish a timetable to see it appear here." when no versions exist.
  • Error Alert (Red): Red alert with AlertTriangle icon shown when data fails to load.
  • Success Alert (Green): Green alert shown after successful restore or delete operations. Auto-dismisses after 5 seconds.

Alerts & Errors

  • "Loading history...": Spinner shown while fetching version list.
  • "Failed to load history": Red error alert if version list cannot be fetched.
  • "Failed to load preview": Red error alert if preview data cannot be loaded for a version.
  • "No published timetable versions found.": Empty state when no timetables have been published.
  • "Version restored successfully. It is now the active timetable.": Green success alert after restoring a version. Auto-dismisses after 5 seconds.
  • "Version deleted from history.": Green success alert after deleting a version (future feature — Delete is not yet enabled).

Rules & Constraints

  • Published Timetable Required: Only published timetables appear in history

    • What Happens: Empty state shown if no timetables have ever been published
    • How to Fix: Generate and publish a timetable from the Timetable Generation page
  • Active Version Cannot Be Previewed: The active version shows "View in Master View" instead of a preview button

    • Why: The active timetable is already visible on the Master View page
  • Restore Is Available; Delete Is Coming Soon:

    • Restore: Makes a past version the active timetable again. Requires typing "RESTORE" in a confirmation dialog to prevent accidental switches. All class and teacher views update immediately after restoring.
    • Delete: Currently disabled. Will allow permanently removing a version from history in a future update.
  • Preview Uses Master View Grid: The preview displays the same grid layout as the Master View page

    • What Happens: All grades shown side-by-side with subjects, teachers, and color coding
  • Read-Only View: History is for viewing only — no editing of past timetables is possible

    • To Make Changes: Generate a new timetable from the Timetable Generation page

Tips & Notes

  • Compare Versions Visually: Use Preview on inactive versions to see how past timetables looked and compare with the current active one.
  • Track Publication History: Each publish creates a new version, making it easy to see when changes were made.
  • Academic Year Reference: The academic year shown on each version helps identify which school year the timetable belongs to.
  • Entries Count: The entries count indicates the size/complexity of the timetable — more entries means more grade-period assignments.
  • Master View Link: For the active version, use "View in Master View" for the full interactive experience with cell details and color legend.
  • Preview Loads Once: After loading a preview, toggling it off and on again reuses the cached data without re-fetching.