> ## Documentation Index
> Fetch the complete documentation index at: https://docs.safeonlineexam.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Root-Account Administrator Workflow in Safe Online Exam

> Manage the root-account dashboard, connect courses, run recovery actions, and configure school exam tool presets for institution-wide rollout.

Safe Online Exam gives root-account Canvas administrators a dedicated dashboard for connecting courses, recovering assessment settings, and managing school-wide exam tool presets. This page covers every action available to administrators from the LTI `account_navigation` placement — from first authorization through bulk tool rollout.

## Accessing the Dashboard

The root-account dashboard is not a publicly accessible page. It is served exclusively through the Canvas LTI `account_navigation` placement and enforces several signed claims before granting access.

<Note>
  The dashboard requires a signed Canvas administrator role, a signed root-account-admin value, numeric account claims, and an active administrator OAuth grant. Opening the service URL directly will not grant administrative access.
</Note>

### Authorize the Dashboard

<Steps>
  <Step title="Open Safe Online Exam Admin">
    Navigate to your Canvas root account and select **Safe Online Exam Admin** from the account navigation menu.
  </Step>

  <Step title="Initiate Canvas Authorization">
    When prompted, select **Authorize Canvas** to begin the OAuth flow.
  </Step>

  <Step title="Review the Requested Permissions">
    Carefully review the requested course, term, account, and assessment permissions before proceeding.
  </Step>

  <Step title="Complete Authorization">
    Finish the Canvas OAuth flow and return to the still-open LTI page. The application stores one refreshable OAuth grant per Canvas user.
  </Step>
</Steps>

An administrator grant includes ordinary course and student capabilities. A person who both teaches and administers does not need separate OAuth tokens for each role.

***

## Connecting Courses

The dashboard tracks only courses that have been deliberately connected to Safe Online Exam — it does not import the root account's complete enrollment history.

<Steps>
  <Step title="Open Configured Courses">
    From the dashboard, open **Configured courses** and select **Connect courses**.
  </Step>

  <Step title="Search the Course Catalog">
    Search Canvas's active course catalog. Use the enrollment term filter to narrow results when working within a specific semester.
  </Step>

  <Step title="Select and Connect">
    Select the intended courses and confirm the connection.
  </Step>

  <Step title="Refresh Course Metadata">
    Open any connected course and select **Refresh** to synchronize the current Classic Quiz and New Quiz metadata from Canvas.
  </Step>
</Steps>

### Operational Term Selection

The **Operational term** selector is shared across the entire root account and persists across browsers and page reloads. By default, the dashboard displays non-concluded connected courses belonging to the selected term.

Select **Show past and other courses** to inspect historical connections. Changing the operational term or course status never deletes connection records. Safe Online Exam refreshes stored Canvas course status periodically and whenever a course is connected or manually refreshed.

<Info>
  Connecting a course gives administrators a recovery and rollout view. It does not automatically enable SEB on every assessment in that course.
</Info>

***

## Recovery Actions

From any connected course, a root administrator can perform the following recovery operations:

* Reveal the effective course start and exit passwords for 30 seconds
* Rotate the course exit password
* Reveal an assessment's start password, exit password, and current Canvas access code for 30 seconds
* Reset an assessment exit password to the current course or managed default
* Regenerate a Canvas access code
* Reset assessment policy to course defaults
* Enable or disable SEB on an assessment
* Refresh assessment metadata from Canvas

<Warning>
  Use reveal and recovery actions only through the embedded dashboard. Sensitive responses are short-lived and served with `no-store` headers. Do not copy revealed passwords, access codes, or session data into support tickets, email, or chat. Every administrator mutation requires a short-lived action token bound to the current LTI identity, root account, deployment, and session.
</Warning>

***

## Course Reset Procedure

The course reset action rebuilds an entire course from a clean Safe Online Exam state. To initiate it, choose the course reset action and enter the exact Canvas course ID when prompted.

**What the reset does:**

1. Performs read-only Classic Quiz and New Quiz discovery to record the current Canvas access-code state of every assessment, assembled in memory without changing cached learner-verification state.
2. Removes every current access code from Canvas using the account-administrator grant.
3. Only after all Canvas changes succeed: deletes the local course policy, assessment settings, outstanding course grants, and school-tool preset assignments for that course in one PostgreSQL transaction. That transaction also stores a reset receipt on the retained root-account course connection.

**What the reset preserves:**

* The Canvas OAuth grant for the administrator
* The administrator's course connection record

After a successful reset, the next instructor launch opens guided setup again. School tools must be re-assigned if the rebuilt course should use them.

### Handling Canvas Failures

If Canvas rejects or cannot confirm any assessment change during a reset attempt, Safe Online Exam automatically restores the exact pre-reset Canvas access-code state for every assessment already modified during that attempt, and keeps the local assessment settings available for recovery and retry.

If Canvas cannot confirm a restoration, or if the database transaction commit response is ambiguous and the service cannot verify the durable reset receipt, the dashboard requires manual verification of every assessment in that course before another reset can proceed.

***

## Managing School Exam Tool Presets

A school tool preset is a reviewed web resource that administrators define once and can assign to any connected course. Instructors can enable or disable assigned presets for individual assessments, but they cannot silently rewrite the preset's launch URL or resource policy.

<Steps>
  <Step title="Open Approved Exam Tools">
    From the dashboard, navigate to **Approved exam tools**.
  </Step>

  <Step title="Create a Preset">
    Create a preset with a clear, descriptive name, an exact HTTPS launch URL, and only the resource rules the tool genuinely requires.
  </Step>

  <Step title="Assign to Courses">
    Assign the preset to selected connected courses, or roll it out to all connected courses at once.
  </Step>

  <Step title="Review Rollout Results">
    Review the rollout result summary and retry any failed course assignments.
  </Step>
</Steps>

Editing a preset after assignment marks all affected courses for reconciliation. Remove the preset from all courses before deleting it.

<Accordion title="Scale limits for school presets">
  Safe Online Exam supports at most **32 school presets** per root account and **2,000 courses** in a single bulk rollout request. Large institutions should connect courses and roll out presets in reviewed batches to stay within these limits.
</Accordion>

***

## Related Pages

<CardGroup cols={2}>
  <Card title="Canvas Setup" icon="canvas" href="/deployment/canvas-setup">
    Install the LTI and OAuth Developer Keys in Canvas before using the administrator dashboard.
  </Card>

  <Card title="Instructor Workflow" icon="chalkboard-teacher" href="/user-guide/instructors">
    Understand what instructors configure after a course is connected and school tools are assigned.
  </Card>

  <Card title="Configuration Reference" icon="sliders" href="/configuration/reference">
    Review environment variables and service settings that affect administrator behavior.
  </Card>

  <Card title="Troubleshooting" icon="wrench" href="/operations/troubleshooting">
    Diagnose dashboard access failures, OAuth errors, and Canvas API rejections.
  </Card>
</CardGroup>
