Skip to content

Overview

QTI Editor provides a modular way to embed a QTI-capable authoring environment into web applications.

Under the hood, the editor is built on ProseMirror, which gives it a structured document model instead of treating content as loose HTML. QTI Editor layers QTI-specific schema nodes, commands, serializers, and web components on top of that foundation so applications can offer rich-text authoring while still producing valid QTI output.

The ProseMirror schema is what makes QTI interactions manageable: it defines which interaction nodes are allowed, where they can appear, what they can contain, and how they may be nested. That gives the editor built-in guards against invalid structures and adds safeguards around things like unsupported nesting or placing interactions in the wrong context. In practice, this means you can assemble an editor from focused packages, register only the interactions you need, and embed the result in your own application without tying yourself to a single frontend framework.

What’s next?