Skip to content

feat(classroom): みんなの課題の共有導線をボードへ移し、合言葉による限定公開を追加する #1109

Description

@smalruby3-editor-bot

背景 — 共有のストーリー

スモウルビー採用校は少数で、県内トップ層の先駆的な先生が多い。その先生は研究授業・視察の前に課題を共有し、参観者に授業実践の参考にしてもらう。これが最初の共有動機。1年ほど続くと教材が蓄積し、他県の先生が使い始め(相互利用)、やがて微修正版が再共有される(将来)。

共有をためらう一番の壁は**「自分の課題が良いか自信がない」**。ここを 合言葉による限定公開(内輪だけ) で越える。

限定公開(合言葉・内輪)→ Admin が把握 → Admin が推薦 → みんなの課題(全体公開)

このIssueのスコープ(今回実装する)

現状の「みんなの課題」(#1066) は公開カタログのみで、限定公開/合言葉の概念がない。ここに限定公開パイプラインの土台を足す。

出す側の導線を移す

  • 課題一覧(ボード)の各行に「共有」ボタンを置き、押すと共有設定ステップへ(深さは クラス > 課題 > 共有)。
  • 現状の課題詳細タブ行の「この課題を共有」は廃止(導線を一本化)。

公開範囲(合言葉による限定公開)

  • 共有設定で公開範囲を選ぶ:
    • 限定公開(合言葉): 参加コードのような英数字コードを発行。コードを知る内輪だけが取り込める。研究授業で少し試した程度でも出せる=完璧さの圧を下げる
    • 全体公開(みんなの課題): 既存のカタログ公開(学年・所属・同意など)。
  • 限定公開 → 後で全体公開 に段階的に広げられる。
  • 限定公開を Admin 側で把握できる最小の土台(将来の推薦の入口)。

取り込み側

  • 合言葉での取り込み(内輪が受け取れる)導線。

スコープ外(別EPIC)

  • Admin による課題推薦(別Issue)
  • 右上「お知らせ」通知センター(別Issue)
  • 派生・微修正の再共有(将来)

実装の勘所

  • backend(infra/smalruby-classroom: shared-assignment に「公開範囲(limited/public)+合言葉(passcode)」、合言葉での取り込み、Admin での限定公開の列挙。
  • frontend(scratch-gui): 共有導線を「課題詳細タブ行」→「ボード各行の共有+共有設定ステップ」。合言葉取り込みUI。
  • Admin SPA: 限定公開の一覧(将来の推薦の下ごしらえ)。

補足

DoD

  • ボード各行に「共有」→ 共有設定ステップ(課題詳細タブ行の共有は廃止)
  • 公開範囲: 限定公開(合言葉)/ 全体公開 を選べる
  • 合言葉での取り込みができる
  • 限定公開 → 全体公開 に広げられる
  • Admin が限定公開を把握できる最小の一覧
  • backend / frontend / admin の関連テスト
  • docs(docs/classroom/)更新

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions