Skip to content

[QTI] Build and ship the new QTI editor for core interaction types #5970

@AlexVelezLl

Description

@AlexVelezLl

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).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels
    No fields configured for Tracking Issue.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions