Repository navigation
Show QTI questions read-only when an edit would drop item-level content - #6306
Conversation
90c5b61 to
dbe8a96
Compare
|
Reworked per @AlexVelezLl's direction: items with item-level content the editor doesn't write now open read-only instead of carrying it. The PR description above still describes the carry-over approach.
Deleting a hint on the edit-schemalocation.webm |
f6778b6 to
0f4e0d1
Compare
AlexVelezLl
left a comment
There was a problem hiding this comment.
The high level strategy proposed for this issue was too risky and prone to errors, where new introducedn editor capabilities could potentially drop support for questions created with older versions of it. Let's allow some flexibility in favor of a safer strategy for 99.99999% of cases.
fa52f67 to
b6cffde
Compare
b6cffde to
e2b15cc
Compare
- An item opens read-only when its root has an attribute or child the editor doesn't write; scoring outcomes and processing are regenerated. - An item that reads an outcome (feedback, printed variable) opens read-only: the rich-text editors drop those elements. - holdsOnlyHints (hints.js) accepts only hint cards parseHints reads in full. - assembleItemXml writes the converter's root metadata, including xsi:schemaLocation. - parseItem reads a pre-c51c5e035 root `language`, so an edit writes it as xml:lang. - validateQtiItem still applies the editor's rules to these items, so an unanswerable one stays incomplete. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
e2b15cc to
bdd38bb
Compare
|
Rebased onto |
|
Quick check on rtibblesbot's work on this PR: react 👍 helpful · 😕 mixed · 👎 not helpful. Reply with anything specific. |

Summary
<qti-stylesheet>,<qti-modal-feedback>, a non-hint catalog,adaptive="true", or an outcome reference.xsi:schemaLocation,tool-name,tool-version,xml:langfor legacylanguage, and keeplabel.References
Fixes #6290.
Reviewer guidance
validateItem.js;<qti-catalog-info>may hold only hint cardsparseHintsreads in full.SCOREdefault or custom partial credit.Manual QA
QA team: questions now open read-only when an edit would lose content. Look for Studio-made questions that open read-only.
Import "Skeletal Structure - Practice" (Kolibri QA Channel, Courses > Hummingbird Biology > Anatomy & Physiology > Skeletal Structure) into an editable channel. Open Questions.
Evidence
SCOREquestion editable0,5,1234,5, complete1,2,3flaggedRule-breaking read-only questions deleted:
readonly-rules-delete-flagged.webm
Scoring extras stay editable:
s1x-edit-correct-answer-save-reopen.webm
More captures (27)
SCOREquestion, Beta markedSCOREquestion savedadaptive="false",time-dependent="0": editablefalse/0question in the editorlanguage: Edit enabledlanguagein the editorlanguagereopenedLegacy
language, converted hints, new questions:s3-legacy-language-edit-save-reopen.webm
s4-edit-delete-hint-save-reopen.webm
s5-text-entry-create-reopen.webm
Deviations from the issue spec
<qti-stylesheet>,<qti-modal-feedback>, non-hint catalogsAI usage
Claude Code wrote and self-reviewed it; Jest and pre-commit pass.
🤖 Generated with Claude Code
Written by rtibblesbot, an LLM-based coding agent.
🟡 Waiting for feedback
Last updated: 2026-10-15 05:18 UTC