| ✓ | Option text | Fraction (weight) | Per-option feedback (optional) | |
|---|---|---|---|---|
Prototype — simulate question type / state:
Screen Flow (SUC-CCM-07):
Spec notes
Identity
SUC-CCM-07 · Screen: SCR-CCM.07 (Question Editor — MC / True-False)
ReturnUrl context
Current returnUrl: /build-quiz/
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.