Sub-flow › Author MC / True-False Question
Question New Question Multiple Choice (single-answer)
Single-answer: mark exactly one option as correct.
✓ Option text Fraction (weight) Per-option feedback (optional)
Shown to all learners after submission, regardless of whether they answered correctly. Different from per-option feedback above.
Total marks this question contributes to the quiz.

Prototype — simulate question type / state:

Spec notes

Identity

SUC-CCM-07 · Screen: SCR-CCM.07 (Question Editor — MC / True-False)

ReturnUrl context

Current returnUrl: /manage-question-bank/
Fallback: / when returnUrl is empty.
Propagation: all type/state links carry returnUrl. Save → returnUrl. Cancel → returnUrl + &sub_cancelled=1.

Sub-flow context

SUC-CCM-07 · Invoked by (Backoffice Portal): SUC-CCM-11 "Build Quiz" and UC-CCM.12 "Manage Question Bank" (both include this SUC per use-cases.yaml).
Types handled here: mcq (single-answer), multi_select (multi-answer), true_false. (short_answer / numerical / match are handled by sibling SUCs SUC-CCM-08/09/10 on this same screen.)
Question type is locked on first save — cannot be changed afterward.
New question: creates Question + QuestionVersion v1 + QuestionAnswer rows (Active status).
Edit mode: saves as new QuestionVersion vN; previous version preserved for existing quiz sections.
Cancel (AF 5A): no data saved; question bank unchanged.

Screen spec: SCR-CCM.07

  • Regions: Question Header · Question Text · Type-Specific Content · Feedback & Explanation · Scoring · Form Actions
  • question_type (F-2): read-only · locked to param type · data_ref: Question.type
  • question_text (F-3): required · 1–5000 chars · data_ref: QuestionVersion.text
  • mc_options (F-6, mcq/multi_select): dynamic table — content (QuestionAnswer.content), fraction (0..1; negative=penalty for multi_select), feedback (optional); mcq: min 2 opts, exactly 1 fraction=1; multi_select: min 2 opts, at least 1 fraction>0
  • tf_correct (F-7, true_false): radio — True or False; 2 locked options; fraction=1 for selected, fraction=0 for other
  • explanation (F-5): optional · max 5000 · shown to all learners post-submit regardless of correctness · data_ref: QuestionVersion.config.explanation
  • points (F-4): required · 0.01–1000 · default 1 · data_ref: QuestionVersion.points
  • SUC-CCM-07 AR#1: type-specific option requirements (SS-CCM.09). AR#2: save is one atomic operation (SS-CCM.07). AR#5: explanation shown to all learners, distinct from per-option feedback.
  • SCR-CCM.07 AR#2: question type cannot be changed after first save (this is a screen-level rule, not a SUC additional requirement). AR#3: WCAG AA (NFR-09). AR#4: responsive ≥600px (NFR-08). AR#5: unsaved-changes warning on navigate-away.