Prototype โ simulate states:
Screen Flow (SUC-CCM-06):
Spec notes
Identity
SUC-CCM-06 (Embed SCORM Module) ยท Screen: SCR-CCM.21 (dialog) ยท Upload-only โ SCORM 1.2 / SCORM 2004, .zip only
ReturnUrl context
Current returnUrl: /author-course/
Fallback: / when returnUrl is empty.
Propagation: all state links carry returnUrl. Save โ returnUrl. Cancel โ returnUrl + &sub_cancelled=1.
Sub-flow context
SUC-CCM-06 ยท Invoked by (Backoffice Portal): UC-CCM.01 (Author Course Content), step 6 โ
"Add Content โ SCORM Module" on a lesson content item that has no content linked yet.
Precondition: the selected content item exists and does not yet have any content linked to it;
the user already has edit rights on this course draft (verified in UC-CCM.01).
Success: SCORM CourseDraftResource created + bound to the lesson (SS-CCM.07) โ Course Editor
outline shows the new SCORM block; the module also appears in the course Asset Library (SCR-CCM.24).
Upload-only: selecting an existing SCORM module from the library is handled at SCR-CCM.26
"From Library" tab before entering this sub-flow.
Screen spec: SCR-CCM.21
- Regions: Context Header ยท Upload area ยท Footer Actions
- context_header: read-only ยท computed โ shows course + destination lesson path
- zip_file_input: required ยท visible when upload_state == idle ยท accept: .zip only; client-side pre-check of format + size before upload
- upload_progress: read-only ยท visible when upload_state == uploading ยท range 0โ100
- scorm_title: required ยท 1โ200 chars ยท default = original filename ยท visible when upload_state == complete ยท data_ref: CourseDraftResource.title
- scorm_description: optional ยท max 500 chars ยท visible when upload_state == complete ยท data_ref: CourseDraftResource.description
- AF 2A: file fails preliminary check (not .zip or exceeds size limit) โ inline error; resume at step 2
- AF 3A: .zip is not a valid SCORM package (missing manifest or unsupported version) โ inline error + "Choose a Different File"; resume at step 2
- AF 4A: user cancels after a successful upload โ uploaded file deleted (SS-CCM.07); lesson item remains empty
- AR#2: atomic save โ module + lesson link saved together; either failing removes the uploaded file and leaves no data behind (SS-CCM.07)
- AR#4: only SCORM 1.2 / SCORM 2004 packages accepted, .zip format, checked client-side and again by the server (SS-CCM.02)
- Open issues: SCORM progress double-counting across lessons โ deferred to Content Player design (not a CCM concern)