Skip to main content

Overview

Examination Mode provides a formal, timed assessment environment designed for evaluating user knowledge under controlled conditions. Unlike practice mode, examinations are high-stakes, time-limited, and provide results only after completion.
Examination mode is ideal for certifications, course finals, competency assessments, and any scenario requiring formal evaluation.

Configuring Examination Mode

Examination mode offers comprehensive control over assessment conditions:
settings: {
  examination: {
    enableExaminations: boolean,
    startDate: Date,
    endDate: Date | null,
    questionOrder: 'create-order' | 'random',
    answerOrder: 'create-order' | 'random',
    allowAnonymous: boolean,
    allowFreeNavigation: boolean,
    examTimeFrameSeconds: number,
    examinationAttemptCount: number
  }
}

Core Settings

Enable/Disable Examinations

Control whether examination mode is available:
{
  "examination": {
    "enableExaminations": true
  }
}
When enableExaminations is true, users can take formal timed assessments. The “Start Exam” button appears on the knowledge check page.Use when:
  • You need formal assessment capabilities
  • Measuring competency or mastery
  • Issuing certificates or credentials
  • Tracking official results

Examination Window

Define when users can take exams:
The earliest date users can begin an examination:
{
  "examination": {
    "startDate": "2026-03-01T00:00:00Z"
  }
}
  • Must be a valid date
  • Defaults to current date/time
  • Users cannot start exams before this date
  • Useful for scheduled assessments
The last date users can begin an examination:
{
  "examination": {
    "endDate": "2026-12-31T23:59:59Z"
  }
}
  • Can be null for indefinite availability
  • Must be after startDate
  • Once passed, “Start Exam” button becomes disabled
  • Creates urgency for time-sensitive assessments
If a user starts an exam before the end date, they can complete it even after the end date passes.

Time Limit

Set the maximum duration for completing an exam:
examTimeFrameSeconds: number  // 60 to 18,001 seconds (1 min to 5 hours)
{
  "examination": {
    "examTimeFrameSeconds": 3600
  }
}

Quick Assessment

30 minutes
{ "examTimeFrameSeconds": 1800 }
For short quizzes with 10-20 questions

Standard Exam

1 hour (default)
{ "examTimeFrameSeconds": 3600 }
For comprehensive assessments with 30-50 questions

Extended Exam

3 hours
{ "examTimeFrameSeconds": 10800 }
For complex exams with many open-ended questions
  • Minimum: 60 seconds (1 minute)
  • Maximum: 18,001 seconds (just over 5 hours)
  • Choose a realistic time that doesn’t rush users but maintains focus
  • Consider question count and complexity when setting duration

Attempt Limits

Control how many times users can take the exam:
examinationAttemptCount: number  // Minimum: 1
{
  "examination": {
    "examinationAttemptCount": 3
  }
}
{ "examinationAttemptCount": 1 }
Best for:
  • High-stakes certifications
  • Final exams
  • One-time assessments
  • Maximum integrity requirements
Users get one chance - makes it critical they’re prepared.

Question and Answer Ordering

Question Order

Control the sequence questions appear:
questionOrder: 'create-order' | 'random'

Create Order

Questions appear in the order you created them.
{ "questionOrder": "create-order" }
Use when:
  • Building progressive difficulty
  • Following a logical flow
  • Teaching sequential concepts
  • Questions depend on each other

Random

Questions shuffle for each exam attempt.
{ "questionOrder": "random" }
Use when:
  • Preventing cheating
  • Reducing pattern memorization
  • Questions are independent
  • Ensuring fair assessment

Answer Order

Control how answer options are displayed:
answerOrder: 'create-order' | 'random'

Create Order

Answers appear in the order you created them.
{ "answerOrder": "create-order" }
Use when:
  • Answers have logical ordering (e.g., chronological)
  • “None of the above” should always be last
  • Consistent presentation is important

Random

Answers shuffle for each exam attempt.
{ "answerOrder": "random" }
Use when:
  • Preventing position bias
  • Reducing memorization of answer locations
  • Enhancing security
Random ordering applies to single-choice and multiple-choice questions. Drag-drop questions always start randomized, and open-ended questions have no answer options.

Access Control

Anonymous Access

Control whether unauthenticated users can take exams:
allowAnonymous: boolean
{ "allowAnonymous": true }
Anonymous users can take the exam without logging in.Advantages:
  • Lower barrier to entry
  • Wider reach and accessibility
  • No registration friction
  • Better for public assessments
Considerations:
  • Limited attempt tracking
  • No persistent progress history
  • Difficult to prevent multiple attempts
  • Cannot issue verified certificates
Control how users move through the exam:
allowFreeNavigation: boolean
{ "allowFreeNavigation": true }
Users can jump between questions in any order.Users can:
  • Skip questions and return later
  • Review previous answers
  • Navigate via question list/menu
  • Mark questions for review
Best for:
  • Longer exams (30+ questions)
  • Mixed difficulty levels
  • Reducing anxiety
  • Allowing strategic time management

User Experience Flow

Starting an Examination

1

Access Knowledge Check

User navigates to the knowledge check page and sees:
  • Exam name and description
  • Time limit clearly displayed
  • Remaining attempts count
  • Start date/end date status
  • “Start Exam” button (if eligible)
2

Pre-Exam Confirmation

Clicking “Start Exam” shows a confirmation dialog:
  • Exam duration reminder
  • Number of questions
  • Attempt count warning
  • Navigation policy (free or linear)
  • “I understand” acknowledgment
3

Exam Begins

Timer starts immediately:
  • Countdown timer visible at all times
  • Questions loaded based on questionOrder setting
  • Progress indicator shows completion status
  • Navigation controls based on allowFreeNavigation

During the Examination

What users see:
  1. Timer Display: Prominent countdown showing remaining time
  2. Question Counter: “Question 5 of 30” progress indicator
  3. Question Content: The question text and answer options
  4. Navigation Controls:
    • Next/Previous buttons (if free navigation)
    • Submit button for final submission
    • Question menu/list (if free navigation)
  5. Warning Indicators: Visual alerts when time is running low
User actions:
  • Select answers based on question type
  • Navigate between questions (if allowed)
  • Mark questions for review
  • Submit exam before time expires
If time expires before submission, the exam auto-submits with all current answers. Users cannot retrieve or modify answers after time runs out.

After Completion

Once submitted or time expires:
Users see:
  • Final score and percentage
  • Pass/fail status (if configured)
  • Time taken
  • Questions answered
  • Category performance breakdown
Users may access:
  • Question-by-question review
  • Correct vs. incorrect answers
  • Points earned per question
  • Correct answers revealed
You can configure whether users see detailed results or just their score. This prevents sharing specific questions.
If attempts remain:
  • “Retake Exam” button appears
  • Shows attempts remaining
  • Previous attempt scores visible
If no attempts remain:
  • Button disabled
  • Shows “No attempts remaining” message
  • Historical attempt data still accessible

Configuration Examples

Example 1: Certification Exam

{
  "examination": {
    "enableExaminations": true,
    "startDate": "2026-03-01T00:00:00Z",
    "endDate": null,
    "questionOrder": "random",
    "answerOrder": "random",
    "allowAnonymous": false,
    "allowFreeNavigation": true,
    "examTimeFrameSeconds": 7200,
    "examinationAttemptCount": 1
  }
}
Characteristics:
  • High security (random ordering, no anonymous)
  • Single attempt (high stakes)
  • 2-hour duration
  • Free navigation (user comfort)
  • No end date (available indefinitely)

Example 2: Course Final

{
  "examination": {
    "enableExaminations": true,
    "startDate": "2026-06-01T00:00:00Z",
    "endDate": "2026-06-15T23:59:59Z",
    "questionOrder": "create-order",
    "answerOrder": "random",
    "allowAnonymous": false,
    "allowFreeNavigation": true,
    "examTimeFrameSeconds": 5400,
    "examinationAttemptCount": 2
  }
}
Characteristics:
  • Time-bound (2-week window)
  • Two attempts (reduces anxiety)
  • 90-minute duration
  • Progressive difficulty (create-order questions)
  • Requires authentication

Example 3: Public Quiz

{
  "examination": {
    "enableExaminations": true,
    "startDate": "2026-03-01T00:00:00Z",
    "endDate": null,
    "questionOrder": "random",
    "answerOrder": "random",
    "allowAnonymous": true,
    "allowFreeNavigation": true,
    "examTimeFrameSeconds": 1800,
    "examinationAttemptCount": 3
  }
}
Characteristics:
  • Open access (anonymous allowed)
  • Multiple attempts (low stakes)
  • 30-minute duration
  • Randomized for variety
  • Indefinite availability

Best Practices

Setting Time Limits

A good rule of thumb: allow 1-2 minutes per multiple-choice question, 3-5 minutes per complex question, and 5-15 minutes per open-ended question.
Consider:
  • Question count and types
  • Complexity and reading time
  • Target audience skill level
  • Adding 10-15% buffer time
  • Accessibility needs

Choosing Attempt Counts

1 Attempt

Use for:
  • Certifications
  • Final exams
  • High-stakes assessment
  • Maximum integrity

2-3 Attempts

Use for:
  • Balanced approach
  • Allowing improvement
  • Reducing anxiety
  • Progressive mastery

4+ Attempts

Use for:
  • Learning focus
  • Skill building
  • Consider practice mode instead

Security Considerations

For high-integrity exams:
  1. Randomize Everything: Both questions and answers
  2. Require Authentication: No anonymous access
  3. Limit Attempts: One or two maximum
  4. Hide Detailed Results: Show only pass/fail
  5. Use Exam-Only Questions: Prevent practice exposure
  6. Set Examination Window: Time-bound availability
  7. Consider Linear Navigation: For maximum security

Accessibility Considerations

Ensure your examination settings accommodate diverse user needs while maintaining integrity.
  • Provide adequate time for reading and comprehension
  • Allow free navigation for users who need to pace themselves
  • Clearly communicate time limits and attempt counts
  • Consider offering accommodations for users with disabilities
  • Test your exam with representative users before deployment

Monitoring and Analytics

Track examination performance to improve your assessments:
  • Completion Rates: Percentage of started exams finished
  • Average Scores: Overall performance trends
  • Time Usage: How long users typically take
  • Attempt Patterns: First attempt vs. retry performance
  • Question Difficulty: Items with high failure rates
  • Drop-off Points: Where users abandon exams

Troubleshooting

Check:
  • enableExaminations is true
  • Current date is between startDate and endDate
  • User hasn’t exceeded examinationAttemptCount
  • If allowAnonymous is false, user is logged in
  • Knowledge check openDate has passed
  • Knowledge check closeDate hasn’t passed
Verify:
  • examTimeFrameSeconds is set correctly
  • Server and client clocks are synchronized
  • No browser extensions interfering with timers
  • Users aren’t experiencing network disconnections
Ensure:
  • questionOrder is set to 'random'
  • Browser cache is cleared
  • Multiple questions exist (can’t randomize one question)
  • Different attempts are actually new sessions
If allowAnonymous is true but users still can’t access:
  • Check knowledge check-level openDate and closeDate
  • Verify shareAccessibility or share_key is configured
  • Ensure examination window (startDate/endDate) is active

Combining with Practice Mode

Most knowledge checks benefit from both modes:
{
  "settings": {
    "practice": {
      "enablePracticing": true,
      "allowedPracticeCount": null
    },
    "examination": {
      "enableExaminations": true,
      "examinationAttemptCount": 2,
      "examTimeFrameSeconds": 3600
    }
  }
}
Workflow:
  1. Users practice unlimited times to learn
  2. When ready, they take the formal exam (2 attempts)
  3. Practice questions help prepare for exam questions
  4. Different question pools prevent over-familiarity
Use accessibility settings to create separate question pools: practice-only questions for learning, exam-only for formal assessment, and all for both.

Next Steps

Practice Mode

Learn about practice mode for learning-focused assessments

Question Types

Understand the four question types available

Categories

Organize questions with prerequisites

Knowledge Checks

Back to knowledge check overview

Build docs developers (and LLMs) love