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
Legacy assessment items carry progressively-revealed hints (AssessmentItem.hints) that the QTI generator drops. Emit them into the generated QTI item as a qti-catalog-info catalog of support="kolibri:hint" cards — dormant content the QTI 3.0 schema excludes from default delivery — carried in raw_data through publish so Kolibri can render them. Legacy-only; the new editor does not author hints.
Complexity: Medium Target branch: unstable
Context
Legacy hints: AssessmentItem.hints is a JSON list [{"hint": <markdown>, "order": N}]; base.py:_process_hints converts markdown→HTML and extracts images.
The QTI generator (utils/assessment/qti/) emits nothing for hints today.
Claude verified the carrier against the QTI 3.0 ASI XSD — confirming qti-catalog-info holds dormant, non-delivered content, accepts a custom kolibri:hint support value, and that HTML <template> is restricted to custom-interaction markup — then drafted the issue section by section. The maintainer chose the catalog approach and the kolibri:hint value and steered each section.
Overview
Legacy assessment items carry progressively-revealed hints (
AssessmentItem.hints) that the QTI generator drops. Emit them into the generated QTI item as aqti-catalog-infocatalog ofsupport="kolibri:hint"cards — dormant content the QTI 3.0 schema excludes from default delivery — carried inraw_datathrough publish so Kolibri can render them. Legacy-only; the new editor does not author hints.Complexity: Medium
Target branch: unstable
Context
AssessmentItem.hintsis a JSON list[{"hint": <markdown>, "order": N}];base.py:_process_hintsconverts markdown→HTML and extracts images.utils/assessment/qti/) emits nothing for hints today.The Change
Emit legacy hints into the generated QTI item as a dormant
qti-catalog-infocatalog — rendered by Kolibri, ignored by default players.qti-card support="kolibri:hint"per hint, in display order; hint HTML insideqti-html-content.id="kolibri-hints"— value not load-bearing; Kolibri selects onsupport.srcso the existing file scan ([QTI] Allow API endpoint to handle AssessmentItem.raw_data to store QTI data #5999) claims them.qti-catalog-info.Acceptance Criteria
qti-catalog-infowith oneqti-card support="kolibri:hint"per hint, in original orderqti-html-contentqti-catalog-infoReferences
qti-catalog-info(dormant catalog content): https://www.imsglobal.org/spec/qti/v3p0/implAI usage
Claude verified the carrier against the QTI 3.0 ASI XSD — confirming
qti-catalog-infoholds dormant, non-delivered content, accepts a customkolibri:hintsupport value, and that HTML<template>is restricted to custom-interaction markup — then drafted the issue section by section. The maintainer chose the catalog approach and thekolibri:hintvalue and steered each section.