Ingest QTI assessment packages as individual QTI assessment items, rather than uploading a single opaque QTI zip.
Context
The Change
- Parse a QTI/IMS content package: read its manifest, and extract each assessment item's XML and its referenced media.
- For each item, create a
type='QTI' assessment item carrying the item XML in raw_data, with its media, through the internal node-creation API.
Acceptance Criteria
AI usage
Rewritten with Claude Code to match the per-item QTI ingestion model agreed in learningequality/studio#5998. The maintainer reviewed and approved the change.
Ingest QTI assessment packages as individual QTI assessment items, rather than uploading a single opaque QTI zip.
Context
AssessmentItemistype='QTI'with a complete<qti-assessment-item>XML inraw_data, uploaded through the internal node-creation API ([QTI] Accept QTI items through the internal API for ricecooker import studio#6002).The Change
type='QTI'assessment item carrying the item XML inraw_data, with its media, through the internal node-creation API.Acceptance Criteria
type='QTI'assessment items, not a single zip file<qti-assessment-item>XML is uploaded inraw_dataAI usage