[QTI] Saving a question drops data-catalog-idref from its prompt
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 新手友好度
- 20/100
- Issue 类型
- 缺陷
- 描述清晰度
- 描述清楚
- 活跃度
- 活跃
- 技术栈
- xml
- 领域
- frontend
调研方向
The issue names no files or tests; start by locating the QTI choice-item editor and the path that emits its raw_data. Trace how the prompt is opened and serialized, then add the requested test from opening the item through emitted raw_data. Done means edits preserve the prompt's data-catalog-idref, including when prompt text around the element changes.
由索引模型根据 Issue 内容生成。
描述
❌ This issue is not open for contribution. Visit Contributing guidelines to learn about the contributing process and how to find suitable issues.
Target branch: unstable
Observed behavior
- Saving a QTI choice question rewrites
<qti-prompt>without its<span data-catalog-idref="…">, even when only a hint changed. - The item still carries the referenced
<qti-catalog>(kept since #6290), now with nothing pointing at it.
User-facing consequences
- An imported item's glossary term stops being a glossary term for learners after any edit in Studio.
Steps to reproduce
- Open a QTI choice item with this prompt and catalog:
<qti-prompt>Pick the <span data-catalog-idref="g1">vowel</span>.</qti-prompt> … <qti-catalog id="g1"> <qti-card support="glossary-on-screen"><qti-html-content><p>A letter like A, E, I, O, U.</p></qti-html-content></qti-card> </qti-catalog> - Click Edit, expand Hints, click Add hint, type any text, click Close.
- The emitted
raw_datahas<qti-prompt><p>Pick the vowel.</p></qti-prompt>.
Context
- Seen on the #6290 branch (
90c5b6190) in the QTI editor dev demo page, Chromium.
Acceptance Criteria
- Editing any part of such an item keeps
data-catalog-idrefon the prompt element that carried it. - Editing the prompt text around such an element keeps the attribute.
- A test covers it from opening the item to the emitted
raw_data.
AI usage
Claude Code found this during manual QA of #6290 and drafted the issue.
- 主要语言
- Python
- 星标
- 213
- 派生
- 314
- 平均合并
- 2 天 17 小时
- 30 天内合并 PR
- 68
环境准备
- 提供 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
learningequality/studio 的其他 Issue
-
DEV: frontend P3 - low
难度 2/5 1-3 小时 新手友好度 74/100
learningequality/studio#5868 ·
维护者通常 1 天内回复
-
TAG: tech update / debt
难度 2/5 1-3 小时 新手友好度 62/100
learningequality/studio#2245 ·
维护者通常 1 天内回复
-
难度 3/5 1-2 天 新手友好度 25/100
learningequality/studio#6319 ·
维护者通常 1 天内回复
-
TAG: tech update / debt
难度 4/5 3-5 天 新手友好度 35/100
learningequality/studio#6318 ·
维护者通常 1 天内回复
-
bug DEV: frontend P0 - critical
难度 3/5 1-2 天 新手友好度 22/100
learningequality/studio#6316 · 1 条评论 ·
维护者通常 1 天内回复
查看 learningequality/studio 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 68/100
docling-project/docling-mcp#147 ·
-
难度 2/5 1-3 小时 新手友好度 80/100
维护者通常 1 天内回复
-
enhancement
难度 2/5 1-3 小时 新手友好度 76/100
autowarefoundation/autoware_carla_scenario#405 ·
维护者通常 1 天内回复
-
bug
难度 2/5 1-3 小时 新手友好度 79/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 78/100
mohitmishra786/readprism#322 ·
维护者通常 1 天内回复