Author Course Content › Asset Library
๐ŸŽฌ Simulate:

Introduction to Python Programming

Draft v1 โ€บ Asset Library
โ† Back to Editor
Asset Library
Add Asset
Drag and drop a file here, or
Image: JPG/PNG/GIF/WebP
๐Ÿ”€
Sub-flow invocation
Quiz tab has no upload form โ€” creating a quiz opens SUC-CCM-11 (Build Quiz). After saving, the sub-flow returns here with the new quiz visible in the Quiz tab.
โ†’ Go to Quiz Builder
๐Ÿ”€
Sub-flow invocation
Assignment tab has no upload form โ€” creating an assignment opens SUC-CCM-12 (Build Assignment). After saving, the sub-flow returns here with the new assignment visible in the Assignment tab.
โ†’ Go to Assignment Builder
Name Type File Size Date Added Used In Actions
Python Syntax Diagram.png image 220 KB 2026-06-01 2 lessons
Course Banner.jpg image 95 KB 2026-06-05 0 lessons
Introduction Lecture.mp4 video 148 MB 2026-05-28 1 lesson
Week 1 Reading.pdf document 3.2 MB 2026-05-25 1 lesson
Module 1 Quiz quiz โ€” 2026-06-03 1 lesson Edit
Week 2 Assignment assignment โ€” 2026-06-08 0 lessons Edit
๐Ÿ“ Spec notes โ€” SCR-CCM.24 Asset Library (UC-CCM.10)
Identity
  • Screen: SCR-CCM.24 โ€” Course Asset Library Panel (type: panel, embedded as the "Asset Library" tab of SCR-CCM.02)
  • Use case: UC-CCM.10 โ€” Manage Course Assets
Brief description

Manages all CourseDraftResources of this CourseDraft โ€” shared across all branches of the same course (SS-CCM.05). Filter bar (type tabs + search) + asset list + inline upload area (File/Video/SCORM tabs; Quiz/Assignment tabs show a "Go to Builder" CTA instead) + Preview panel (drawer) for file assets. No "Back" button โ€” closing the tab means switching to another SCR-CCM.02 tab. This panel does not link assets to lessons โ€” that happens via the "Select from Library" tab in SCR-CCM.04 / SCR-CCM.21 / the content pickers opened from UC-CCM.01.

Fields (by region)
  • Filter bar: type_filter "Filter by type" โ€” enum (all/image/video/document/scorm/quiz/assignment), default all ยท search_query "Search asset name" โ€” text, max 100
  • Asset list: col_asset_title "Name" ยท col_type_badge "Type" ยท col_file_size "File size" (hidden for quiz/assignment rows) ยท col_added_at "Date added" ยท col_usage_count "Used in (lessons)" โ€” computed from CourseDraftItem references ยท empty_state_message โ€” visible when the filtered list is empty
  • Upload area: upload_type_selector "File type to upload" โ€” required, default from current type_filter ยท upload_file_input "Select file" โ€” required, hidden for quiz/assignment ยท upload_asset_title "Asset name" โ€” required, defaults from original filename ยท quiz_build_cta / assignment_build_cta โ€” shown in place of the file inputs when Quiz/Assignment selected
  • Preview panel (file assets only): preview_asset_title โ€” editable in edit mode ยท preview_content โ€” inline preview (image/video/document) ยท preview_scorm_metadata ยท preview_usage_count ยท preview_asset_description โ€” editable in edit mode ยท replace_file_input โ€” visible when replace_file_mode == true ยท replace_file_error โ€” inline validation error
Actions
  • filter_by_type "Filter by type" โ€” always enabled
  • add_asset "Add Asset" โ€” always enabled; triggers UC-CCM.10-M-2
  • save_upload "Save Asset" โ€” enabled when upload complete + title filled; triggers UC-CCM.10-M-5
  • delete_asset "Delete" โ€” enabled only when col_usage_count == 0; triggers UC-CCM.10-A-2D-1
  • select_asset_row "View / Edit" โ€” file row opens Preview panel (AF 2A); quiz row โ†’ SCR-CCM.06 (AF 2B); assignment row โ†’ SCR-CCM.27 (AF 2C); triggers UC-CCM.10-M-2
  • go_to_quiz_builder โ€” CTA shown when Quiz tab selected in upload area; triggers UC-CCM.10-A-3A-1
  • go_to_assignment_builder โ€” CTA shown when Assignment tab selected; triggers UC-CCM.10-A-3B-1
  • close_preview "Close" โ€” closes Preview panel, discards unsaved edits; triggers UC-CCM.10-A-2A-2
  • start_edit_details "Edit Details" โ€” enables name/description editing; triggers UC-CCM.10-A-2A-2
  • save_details "Save" โ€” enabled when title non-empty; triggers UC-CCM.10-A-2A-3
  • cancel_edit "Cancel" โ€” discards edit_details changes; triggers UC-CCM.10-A-2A-2
  • start_replace_file "Replace File" โ€” hidden for quiz/assignment assets; triggers UC-CCM.10-A-2A-2
Additional requirements
  1. The asset pool is shared across all branches of this CourseDraft. [refs: SS-CCM.05]
  2. col_usage_count is computed at load time from CourseDraftItem references; Delete is disabled when usage_count > 0, with a tooltip "Used in N lessons. Remove from lessons before deleting this asset." [refs: SS-CCM.07]
  3. Uploads through this panel are not linked to any lesson โ€” they appear immediately in the "Select from Library" tab of SCR-CCM.04 and SCR-CCM.21.
  4. Default sort is date added descending; also supports sort by name (Aโ€“Z) and file size (largest first).
  5. File size column is hidden for quiz/assignment rows (no physical file); those rows never open the Preview panel โ€” quiz navigates to SCR-CCM.06, assignment to SCR-CCM.27.
  6. Replace File is validated against the same format/size whitelist as a new upload and is constrained to the existing asset's type; failure shows an inline error and leaves the stored file unchanged (AF 4A pattern). [refs: SS-CCM.02]
โš  Notes on this render
  • AF-2B / AF-2C / AF-3A / AF-3B leave this UC's boundary (Quiz Builder / Assignment Builder belong to SUC-CCM-11 / SUC-CCM-12) โ€” the harness keeps you on this page and simulates the row highlight / CTA state; use the "Edit" / "Go to Builder" links to actually cross over to /build-quiz/ or /build-assignment/.
  • The "Delete Confirmation" state (AF-2D step 2) has no separate SCR id in the requirements model โ€” it is rendered here as an inline modal belonging to SCR-CCM.24 itself.