You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[QTI] Build and ship the new QTI editor for core interaction types #5970
❌ 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
The new shared/views/QTIEditor/ is the live editor for Single Choice, Multiple Choice, and Text Entry items in the Studio channel editor
The existing AssessmentEditor is removed
Studio generates valid QTI 3.0 packages for each of the four interaction types that render correctly in Kolibri's QTI viewer
All new components use the Vue Composition API and carry no direct Vuex coupling
AI usage
This issue was drafted using assistance from Claude Code (Sonnet 4.6).
Activity
formatprop to the TipTap editor to support HTML input/output #5966File.included_presets) into the content database #6004