
❌ This issue is not open for contribution. Visit Contributing guidelines to learn about the contributing process and how to find suitable issues.

Overview
This is a tracking issue. It covers the work to build a new self-contained QTI authoring editor in Kolibri Studio and fully replace the existing AssessmentEditor with it, scoped to the interaction types Studio currently supports: Single Choice, Multiple Choice, True/False, and Text Entry.
For product requirements, interaction type definitions, and the full nine-type scope, see #5927. Future tracking issues (siblings of this one) will cover the remaining interaction types.
What we are building
A new QTI editor from scratch. The existing AssessmentEditor was built for the Options API and is tightly coupled to Vuex, and difficult to extend for more question types. The new editor lives under shared/views/QTIEditor/, and is Vuex-independent at the component level — making it extractable as a standalone package in the future. It reuses the card-list UX of the existing editor but is a clean rebuild, not a refactor.
Support for the four core interaction types. The new editor will support authoring Single Choice, Multiple Choice, and Text Entry questions as QTI 3.0 interactions. Each interaction type is a self-contained plugin that owns its editor component, its XML parse/serialize logic, and its validation rules. The plugin registry pattern means adding new interaction types later is additive.
A full replacement of the existing AssessmentEditor. Once the new editor supports all four interaction types end-to-end — including reading from and writing back to Studio's content pipeline — it replaces the existing AssessmentEditor entirely.
Acceptance criteria
AI usage
This issue was drafted using assistance from Claude Code (Sonnet 4.6).
❌ This issue is not open for contribution. Visit Contributing guidelines to learn about the contributing process and how to find suitable issues.
Overview
This is a tracking issue. It covers the work to build a new self-contained QTI authoring editor in Kolibri Studio and fully replace the existing
AssessmentEditorwith it, scoped to the interaction types Studio currently supports: Single Choice, Multiple Choice, True/False, and Text Entry.For product requirements, interaction type definitions, and the full nine-type scope, see #5927. Future tracking issues (siblings of this one) will cover the remaining interaction types.
What we are building
A new QTI editor from scratch. The existing
AssessmentEditorwas built for the Options API and is tightly coupled to Vuex, and difficult to extend for more question types. The new editor lives undershared/views/QTIEditor/, and is Vuex-independent at the component level — making it extractable as a standalone package in the future. It reuses the card-list UX of the existing editor but is a clean rebuild, not a refactor.Support for the four core interaction types. The new editor will support authoring Single Choice, Multiple Choice, and Text Entry questions as QTI 3.0 interactions. Each interaction type is a self-contained plugin that owns its editor component, its XML parse/serialize logic, and its validation rules. The plugin registry pattern means adding new interaction types later is additive.
A full replacement of the existing AssessmentEditor. Once the new editor supports all four interaction types end-to-end — including reading from and writing back to Studio's content pipeline — it replaces the existing
AssessmentEditorentirely.Acceptance criteria
shared/views/QTIEditor/is the live editor for Single Choice, Multiple Choice, and Text Entry items in the Studio channel editorAssessmentEditoris removedAI usage
This issue was drafted using assistance from Claude Code (Sonnet 4.6).