Skip to content

Quiz: per-field scoring with correct answers, exact-match checkbox and range answers #1730

Closed

Description

@rpgmem

Problem

Quiz scoring today reads a per-option points string on radio and select only. Checkbox fields show a points input that the scorer ignores; there is no way to mark the correct answer independently of points; text, date and number fields cannot be scored; and the "Show which answers were correct" setting (quiz_show_correct) is saved but read nowhere.

Design

Each input field gets a quiz block, visible only when quiz mode is on:

  • Score this question on/off. Off removes the field from the question count and from the points that make up the percentage.
  • Radio / select / checkbox, two modes:
    • Correct option(s): radio/select score when a correct option is chosen; checkbox scores only on the exact set (every correct one, no wrong one).
    • Points per option (partial credit, the current model): radio/select score the chosen option; checkbox sums the chosen options, floored at 0, maximum = sum of positive points.
    • Existing forms open in Points per option, so no score changes.
  • Text / textarea: no points (default) · points when answered (respecting the minimum length) · manual grading (delivered in the manual-grading issue).
  • Date / number: correct value or range.
  • The editor refuses a checkbox whose maximum selections is below its number of correct options.
  • "Show which answers were correct" works.
  • New tokens {{correct_count}} and {{question_count}}.

Acceptance criteria

  • Scoring toggle and modes as above, server-side scoring, legacy forms unchanged.
  • Show-correct setting delivered.
  • Documentation (Quiz topic), three catalogues, CHANGELOG, tests.

Delivered in #1738. Manual grading of text answers stays with #1732, as designed.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions