Skip to content
Learnomy

Quiz Proctoring

Proctoring gives a graded quiz light, honest-effort integrity checks without a webcam or a third-party service. Learnomy records when a student leaves the quiz tab, warns them on screen, flags the attempt for graders, and can auto-submit the quiz once the student switches away too many times. It works on any quiz layout and is built into the free plugin.

What you can do

  • Record every time a student switches to another browser tab or window during a quiz.
  • Show the student an on-screen warning the moment a tab switch is detected.
  • Flag attempts with a high tab-switch count for the grader, so suspicious submissions stand out in the grading queue.
  • Auto-submit the quiz automatically once the student switches away more than a number you choose.
  • Tell candidates the rules up front with a monitored notice on the quiz start screen.
  • See the tab-switch count, the submission IP address, and a late-submission signal on each attempt in the grading detail.

The Quiz settings tab showing Track Tab Switches and the Auto-submit after N tab switches field

How to use it

  1. Go to Learnomy Settings > Settings > Quiz.
  2. Turn on Track Tab Switches. This starts recording tab switches on every quiz attempt.
  3. In Auto-submit after N tab switches, enter the number of switches allowed before the quiz submits itself. Leave it at 0 to only warn and record, never auto-submit.
  4. Save. Any quiz the student takes now shows a monitored notice on the start screen, warns on each tab switch, and (if a limit is set) submits automatically once the limit is passed.

When a student switches tabs during a timed exam, they see a "tab switching detected, this activity is recorded" warning. If you set the limit to, for example, 2, the quiz submits on the second switch and the student lands on the results screen with a note that it was submitted for them.

What graders see

Open Learnomy > Grading and pick a submitted attempt. The exam-integrity panel shows:

  • Tab switches — how many times the student left the quiz tab.
  • IP address — where the attempt was submitted from.
  • Late submission — a signal when the attempt was submitted after the time limit.

Attempts whose tab-switch count is at or above the flag threshold are highlighted so you can review them first.

Settings and options

  • Track Tab Switches (learnomy_settings[quiz_track_tabs]) — the master switch. When off, tab switches are never recorded and nothing auto-submits.
  • Auto-submit after N tab switches (learnomy_settings[quiz_tab_switch_limit]) — the auto-submit threshold. 0 means no auto-submit.

For developers

  • learnomy_tab_switch_auto_submit_limit — filter the auto-submit limit, e.g. to vary it per quiz. Receives (int $limit, object|null $quiz).
  • learnomy_tab_switch_flag_threshold — filter the tab-switch count at which the grading view flags an attempt (default 3). Receives (int $threshold, object $attempt, object $quiz).
  • The limit is resolved by \Learnomy\Services\Quiz_Defaults::tab_switch_auto_submit_limit() and sent to the player as tab_switch_limit in the quiz start payload.
  • Enforcement is server-authoritative: POST /learnomy/v1/quiz-attempts/{id}/tab-switch records each switch and returns auto_submit: true once the count reaches the limit, so a tampered client-side threshold cannot bypass it.