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

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions