[QTI] Saving a question drops data-catalog-idref from its prompt
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 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
- スター
- 191
- フォーク
- 308
- 平均マージ
- 2日 17時間
- マージ済み PR(30日)
- 64
環境構築
- Dockerfile または Docker Compose ファイルあり
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- 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 日以内に返信
-
bug DEV: frontend
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
learningequality/studio#6308 ·
メンテナーはふだん 1 日以内に返信
-
bug DEV: backend python
難易度 3/5 1〜2日 初心者へのやさしさ 30/100
learningequality/studio#6305 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 4/5 3〜5日 初心者へのやさしさ 20/100
learningequality/studio#6304 ·
メンテナーはふだん 1 日以内に返信
learningequality/studio の issue をすべて見る
似ている issue
-
first
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
AcademySoftwareFoundation/rmtc#54 · コメント 1 件 ·
-
feature/cohorts feature/feature-flags team/feature-flags
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
メンテナーはふだん 1 日以内に返信
-
License examples/ as MIT対応中かも @PGrayCS が今日担当しました。 オープンdocumentation enhancement example good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
speedyk-005/yasbd-lib#383 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
interactions-py/interactions.py#1827 ·
-
Managed start can fail when OpenVMM reads its control capability before NVX writes it対応中かも @ppenna が今日担当しました。 オープンbug
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
メンテナーはふだん 1 日以内に返信