背景
管理 SPA(EPIC #1073)の「クラス・課題」俯瞰ダッシュボードで、運営が みんなの課題に載せると有益そうな課題(内容が充実しているのに未共有らしいもの)を把握できるようにした。ただし現状は 見える化までで、実際に作成した先生へ「共有しませんか?」と促す導線は無い。
みんなの課題への公開は CC BY 4.0 での公開=先生本人の同意が前提(著作権上の制約)。したがって Admin が代理公開するのではなく、先生本人に共有を促し、先生が既存の みんなの課題 共有フローで公開するのが正しい形。
さらにデータ上の制約として、classroom には作成先生の teacherSub(Google の内部 ID)しか無く、氏名・メールは保存されていない(共同担任のメールのみ)。そのため Admin から直接メールを送ることはできない。
ゴール
Admin が「有益」と判断した課題に 推奨フラグを立て、その課題を作成した先生の編集画面に「この課題、みんなの課題に共有しませんか?」バナーを出し、ワンクリックで既存の共有フォームへ誘導する。
スコープ(横断・EPIC 規模)
- classroom スタック / API(
infra/smalruby-classroom)
- classroom(または assignment)に
recommendedForSharing(bool)+ recommendedAt / recommendedBy を持たせる
- 先生向けに「自分の課題に推奨フラグが立っているか」を返す(既存の教師向け API に付与、または新規)
- ⚠️ Admin スタックからは classroom スタックを直接変更しない規約(N2)。フラグの書き込み口をどちら側に置くか要設計(Admin API から classroom テーブルへ RW するか、classroom API に admin 認可の endpoint を足すか)
- Admin API / SPA(
infra/smalruby-admin / packages/admin)
- 有益候補に「推奨する / 取り消す」操作(監査ログつき)
- 先生 UI(
packages/scratch-gui クラス管理)
- 推奨フラグが立った課題に「みんなの課題に共有しませんか?」バナー → 既存の共有フォーム(
shared-assignment-form)へ誘導
- 先生が公開すれば CC BY 同意が取れる(=著作権的に安全)
非ゴール
- Admin による代理公開(同意なしの公開はしない)
- 先生へのメール送信(メールを保存していないため。バナー方式で解決)
参考
背景
管理 SPA(EPIC #1073)の「クラス・課題」俯瞰ダッシュボードで、運営が みんなの課題に載せると有益そうな課題(内容が充実しているのに未共有らしいもの)を把握できるようにした。ただし現状は 見える化までで、実際に作成した先生へ「共有しませんか?」と促す導線は無い。
みんなの課題への公開は CC BY 4.0 での公開=先生本人の同意が前提(著作権上の制約)。したがって Admin が代理公開するのではなく、先生本人に共有を促し、先生が既存の みんなの課題 共有フローで公開するのが正しい形。
さらにデータ上の制約として、classroom には作成先生の
teacherSub(Google の内部 ID)しか無く、氏名・メールは保存されていない(共同担任のメールのみ)。そのため Admin から直接メールを送ることはできない。ゴール
Admin が「有益」と判断した課題に 推奨フラグを立て、その課題を作成した先生の編集画面に「この課題、みんなの課題に共有しませんか?」バナーを出し、ワンクリックで既存の共有フォームへ誘導する。
スコープ(横断・EPIC 規模)
infra/smalruby-classroom)recommendedForSharing(bool)+recommendedAt/recommendedByを持たせるinfra/smalruby-admin/packages/admin)packages/scratch-guiクラス管理)shared-assignment-form)へ誘導非ゴール
参考
packages/scratch-gui/src/components/classroom-modal/shared-assignment-form.jsx、infra/smalruby-classroomのhandleShareAssignment