Sub-flow › Build Assignment
๐ŸŽฌ Simulate: Failure ยท 1A Reset SUC-CCM-12 harness ยท 8 scenarios

Assignment Builder

SCR-CCM.27 ยท Course: Introduction to Financial Literacy โ€” Lesson: Module 2 โ€บ Lesson 3
Preview
โš 
Confirm cancellation?

All unsaved data will be lost. No assignment will be added to this lesson.

Course
Introduction to Financial Literacy
โ€บ
Lesson
Module 2 โ€บ Lesson 3
Assignment details
Assessment type (Practice/Summative), whether this assignment is optional, and the maximum number of resubmissions are delivery settings configured per-lesson in the Content Editor (UC-CCM.01 AF 7A) โ€” not here. The same assignment can have different settings in each lesson it is added to.
Rubric No criteria added yet
# Criterion description * Maximum points *
No criteria yet โ€” click "+ Add criterion" to add the first criterion
Total rubric points 0
Save assignment Preview Cancel
๐Ÿ“ Spec notes โ€” SUC-CCM-12 / SCR-CCM.27 (fields, actions, requirements)
Identity
  • Screen: SCR-CCM.27 โ€” Assignment Builder
  • Sub-use case: SUC-CCM-12 โ€” Build Assignment (demoted from UC-CCM.03 on 2026-06-23)
  • Invoked by: UC-CCM.01 (Author Course Content), UC-CCM.10 (Manage Course Assets)
  • Type: page ยท Primary actor: ACT-02 (Instructor)
ReturnUrl context

Current returnUrl: (none — standalone preview)
Fallback: / when returnUrl is empty.
Propagation: Save (main flow step 9) โ†’ returnUrl. Cancel (AF 1A) / Delete (AF 1B) โ†’ returnUrl + &sub_cancelled=1.

Sub-flow context

Opens in two modes: "new" (empty form, Delete disabled) and "edit" (pre-filled, Delete enabled) via ?mode=edit.
Step 9 (save, pass validation) returns to a different screen depending on the caller: from UC-CCM.01 โ†’ SCR-CCM.02 (assignment appears in the lesson's content item list); from UC-CCM.10 โ†’ SCR-CCM.24 (assignment appears in the Assignment tab of the asset library). The prototype uses the generic returnUrl passed in by the caller for both destinations.

Fields (SCR-CCM.27, current)
  • course_title โ€” text ยท read-only ยท session.current_course_title
  • lesson_position โ€” text ยท read-only ยท param.lesson_position_label
  • title โ€” text ยท required ยท max 255
  • instructions_html โ€” rich text ยท combined required* with scenario_prompt_html (SS-CCM.30) ยท sanitized (SS-CCM.27)
  • scenario_prompt_html โ€” rich text ("Case study") ยท optional ยท sanitized (SS-CCM.27)
  • submission_format โ€” enum [text, file, both] ยท required ยท default text
  • character_limit โ€” number ยท visible when text/both ยท min 0 ยท 0 = unlimited
  • max_files โ€” number ยท visible when file/both ยท min 1
  • accepted_file_types โ€” enum ยท visible when file/both ยท TBD (open issue)
  • criterion_text โ€” textarea per row ยท required
  • criterion_max_points โ€” number per row ยท required ยท min 1
  • total_rubric_points โ€” computed ยท read-only ยท real-time update
Removed from this screen (spec drift, apply from current YAML)
  • Assessment type (Practice/Summative radio) โ€” removed. Now a delivery setting on the content item in the lesson editor, not the assignment itself. Per SUC-CCM-12 additional_requirements #5: "the same assignment can be summative in one lesson and practice in another."
  • Optional assignment (switch) โ€” removed. Per SUC-CCM-12 additional_requirements #9: the optional toggle is a delivery setting on the content item (UC-CCM.01 AF 7A), independent from the summative setting.
  • Maximum resubmission attempts (number field) โ€” removed. Same additional_requirements #9: the resubmission count is also a per-lesson delivery setting, not part of SCR-CCM.27's current field list.
Kept: Preview action

SCR-CCM.27 action #4 ("Preview") is still defined in the current screen spec โ€” client-side only, shows the assignment from the learner's perspective with unsaved data, triggers_uc_step: null (no corresponding SUC-CCM-12 flow step). Kept in this build; not tied to any AF number.

Additional requirements (SCR-CCM.27)
  1. Validation errors display inline below fields; scroll to first error on Save [refs: SS-CCM.30]
  2. Rich text toolbar: bold/italic/underline/lists/image; HTML sanitized before save [refs: SS-CCM.27]
  3. Rubric drag-drop reorder must have keyboard alternative (โ†‘/โ†“ buttons) [WCAG 2.1 AA]
  4. At least one of "Instructions" or "Case study" must have content [refs: SS-CCM.30]
Open issues
  • Accepted file types whitelist for assignment submission โ€” TBD, confirm with DTVE
  • Character limit enforcement during learner submission โ€” PLY/LMS scope