Fincs

講座運営 / 講座基本情報編集

講座運営 / 講座基本情報編集

本ページは 2 段構成。上段が biz/CS 向け(ユーザー提示可)、下段(## 🔧 実装詳細 以降)が dev 向け。biz/CS がユーザーへ提示・転用してよいのは上段のみ。

概要

講座基本情報編集は、メイン講師およびサブ講師が自身の運営する講座の表示情報・運営パラメータを画面から自分で更新できる機能。講座名・サマリー・サムネイル・タグ・入会制限人数・入会条件・紹介文ブロック・サブ講師の追加削除など、受講者の見え方や講座運営の根幹に関わる項目を一画面で編集できる。

主な利用想定は、講座開始後の説明文の更新、シーズン更新時のサムネイル変更、新たな講師の追加(サブ講師化)、入会条件文の改訂など。本機能はメイン講師とサブ講師のいずれも編集可能で、現時点では編集対象項目はメイン講師・サブ講師で同等となっている。

なお、講座の新規作成・削除・各種特殊設定(事業者登録・受講者数表示・ダウンロード可否・個人情報タイプ等)は運営アドミン経路で対応するため、講師側からは行えない。受講者向けの料金プラン(./price.md)・コンテンツ配信(../contents/)・トークルーム(../talk/room.md)は本ページとは別の管理経路を持つ。

📝 レビュー観点(draft 段階の記述ヒント、完成時に削除):

  • 目的: 講座の見せ方・運営パラメータを講師が自分で更新できる経路
  • 誰が使うか: メイン講師 / サブ講師
  • どこで使うか: 講座編集画面(/plan/{id}/edit)と新 UI(オーナー詳細セクション)
  • 隣接機能との関係: 料金プラン(./price.md)、コンテンツ(../contents/)、トークルーム(../talk/room.md
  • CS 問い合わせで頻発する論点: 「サブ講師が編集できる範囲は?」「講座名の文字数上限」「サブ講師追加でロールがどう変わる?」
  • [本機能特有] サブ講師追加時のロール強制書換: 既存の一般ユーザーに対しても内部ロールが講師相当に強制書換される副作用(dev 詳細は下段)
  • [本機能特有] FE/BE 制限値乖離が多数: 講座名・サマリー・入会条件メッセージ等で FE のみ上限あり
  • [本機能特有] 旧 UI / 新 UI の共存: featurePlanOwnerDetail() トグルで切り替わる過渡期

利用シナリオ

シナリオ 1: メイン講師が講座名・サムネイル・説明文を更新する

メイン講師が講座編集画面から、講座名・サマリー・サムネイル画像・タグなどを更新。保存すると即時反映され、受講者画面の講座表示が新しい内容に切り替わる。シーズン更新やキャンペーン開始時の見せ方変更などで頻繁に利用される。

シナリオ 2: サブ講師が紹介文を更新する

サブ講師も同様に編集画面に入れる。紹介文ブロック(マークダウンで管理される複数のブロック)を編集して講座の魅力や受講者向けの案内を更新できる。現時点ではメイン講師と同等の編集権限を持つ。

シナリオ 3: 新規にサブ講師を追加・削除する

メイン講師が講師チーム拡張のためにサブ講師を追加。対象ユーザーの ID を入力して追加すると、その人が同講座の編集権限を得て、コンテンツ配信・受講者対応などに参加できるようになる。退任時には削除操作で外せる。

シナリオ 4: 講座を公開 / 非公開に切り替える

講座をクローズドな状態(一時的に非公開)にしたい場合や、準備段階で非公開のまま整えてから公開に切り替えたい場合に、講座の公開設定を変更。既存の受講者への影響(既存契約は維持されるか等)の論点は CS 対応で頻繁に扱う。

シナリオ 5: 入会条件・サイドメッセージを更新する

受講者の入会フローで表示される条件タイトル・条件メッセージ・サイドメッセージを編集。受講者がプランを契約する際の同意事項や案内文として表示される。

よくある失敗ケース

  • 文字数オーバー: 講座名(50 文字)・入会条件タイトル(100 文字)・入会条件メッセージ(500 文字)・サイドメッセージ(200 文字)の各上限を超えるとエラー表示
  • タグ件数オーバー: タグ 5 件を超えると保存できない
  • 入会制限人数の範囲外: 1〜10000 の範囲外を入力するとエラー
  • 存在しないユーザー ID をサブ講師として追加: 該当ユーザーが見つからない旨のエラー
  • 必須項目の未入力: 講座名や紹介文の必須ブロックを空のまま保存しようとするとエラー

権限別仕様

権限定義は ../user-roles.md 参照。用語は ../terminology.md

講座権限軸

操作 未受講者 受講者 サブ講師 メイン講師
講座基本情報の編集 × ×
紹介文ブロックの編集 × ×
サブ講師の追加・削除 × × ○(要確認)
公開/非公開切替 × × ○(要確認)
講座削除 × × × ×(運営アドミン経由のみ)

横断軸

操作 運営アドミン テストユーザー 投稿禁止
基本情報・各種設定の代理編集 ○(運営アドミン経路) (通常と同じ) (通常と同じ)
サブ講師追加・削除の代理操作 ○(運営アドミン経路) × ×
講座削除 ○(運営アドミン経路) × ×

📝 レビュー観点:

  • 現状はメイン/サブ講師で 編集可能項目に差分なし(実装上 UNION 判定)。サブ講師に制限を設けるか biz レビュー対象
  • サブ講師追加時の権限ガードが見当たらない件は要確認(dev 改善課題)

機能詳細(ふるまい)

基本情報の編集

編集対象項目:

  • 講座名(必須): 受講者一覧・詳細で表示されるメインタイトル
  • サマリー / 説明: 講座のキャッチコピー・概要文
  • サムネイル: 講座カードや詳細画面で表示される画像
  • タグ: ジャンルや特徴を示すタグ(最大 5 件)
  • 入会制限人数: 同時に契約できる受講者数の上限(1〜10000)
  • 入会条件: 入会フローで提示するタイトル・メッセージ
  • サイドメッセージ: 講座詳細画面の補足表示
  • 公開 / 非公開: 講座自体の表示状態
  • 配信元情報: 配信元メールの差出人名など(運営アドミン経路と一部重複)

サブ講師の追加・削除

  • メイン講師およびサブ講師は、編集画面からサブ講師の追加・削除を行える
  • ユーザー ID を指定して追加。追加されたサブ講師は同講座の編集権限・コンテンツ配信権限を得る
  • 削除すると当該ユーザーの講座編集権限が失われる
  • 注意: サブ講師に追加された対象ユーザーの内部上のロールが講師相当に書き換わる副作用がある(同ユーザーが他の講座でも一般ユーザーとして利用していた場合に影響する可能性)。詳細な挙動はサポート対応時に dev に確認

公開・非公開の切替

  • 講座の公開状態を編集画面から切替可能
  • 非公開化により受講者向け一覧から非表示にすることが可能
  • 既存契約者への影響(契約自体は維持されるか、コンテンツへのアクセスが制限されるか等)は別途確認が必要なケースがある

紹介文ブロックの編集

  • 講座の紹介文はマークダウンで記述された複数の「ブロック」を順序付きで編集する形式
  • ブロックには本文だけでなく、レビュー表示・講師情報・コンテンツ一覧などの構造化された要素も配置できる(種類別タグでブロック分割)
  • 並び替え・追加・削除をブロック単位で行える

文字数・件数の制約(上段サマリ)

  • 講座名: 1〜50 文字(必須)
  • タグ: 最大 5 件
  • 入会制限人数: 1〜10000
  • 入会条件タイトル: 100 文字以内
  • 入会条件メッセージ: 500 文字以内
  • サイドメッセージ: 200 文字以内
  • 交付文書タイトル: 100 文字以内
  • サブ講師ユーザー ID: 50 文字以内(一般的な ID 長で十分収まる範囲)

上記は実際にユーザーへ適用される値(FE 表示の制限)。一部の項目は内部的にもう少し長い値を許容するが、画面の制限が実質となる。

📝 レビュー観点:

  • 入力 → 処理 → 出力: 編集 → 確認 → 保存ボタン → 即時反映
  • エッジケース: サブ講師追加時の対象ユーザーの状態(一般ユーザー / 別講座のサブ講師 / 投稿禁止 等)
  • 編集・削除の挙動: 既存契約者への影響(公開→非公開、料金プラン削除との連動)
  • [本機能特有] FE/BE 制限値の乖離: 講座名(FE 50 / BE 制限なし / DB 255)、サマリー(FE/BE 制限なし / DB 500)、入会制限人数(FE 1〜10000 / BE 制限なし)等

admin 操作

運営アドミン経路で可能な操作

  • 講座の作成(運営アドミン専用、講師側からは作成経路なし)
  • 講座基本情報の代理編集(タイトル・説明 等)
  • 個別設定の代理切替: 事業者登録 / 受講者数表示 / 動画ダウンロード可否 / 文書ダウンロード可否 / 個人情報タイプ / 同意条件非表示 / 領収書送付先メール / 配信元メール
  • 講座削除(論理削除)
  • サブ講師の代理追加・削除

該当なし

  • 受講者向けの専用 運営アドミン 操作なし

📝 レビュー観点:

  • 運営アドミン経路の各個別設定は biz/CS 対応で頻出
  • 「事業者登録」「個人情報タイプ」等の biz 用語の確定が必要

品質 / 約束事項

  • 応答性: 編集保存は即時反映、サムネイルアップロードはアップロード完了次第反映
  • 信頼性: 保存処理は確定保存方式(途中操作の自動保存はなく、明示的な保存ボタン押下でのみ反映)
  • 制限値:
    • 講座名: 50 文字(実質 FE 制約)
    • タグ: 最大 5 件
    • 入会制限人数: 1〜10000(実質 FE 制約)
    • 入会条件タイトル: 100 文字(FE)/ メッセージ 500 文字(FE)/ サイドメッセージ 200 文字(FE)
  • データ保持: 論理削除(内部的に保持)

📝 レビュー観点:

  • [本機能特有] FE/BE 制限値の乖離: BE 側のバリデーション欠落多数 → dev 改善課題
  • 応答性: サムネイルアップロード時の体感(presigned URL 経路)

変更履歴(リリースノート候補)

v2.29.2: 2026-05-02(PSD 初版)

  • [PSD 追加] 本ドキュメント初版作成。v2.29.2 時点の実装を起こし。機能追加・変更は含まない

📝 レビュー観点:

  • 過去の主要変更(新編集 UI 導入 / featurePlanOwnerDetail トグル / サブ講師仕様変更 等)

関連ドキュメント


このページの内容を AI に質問しますか?
関連 spec を自動抽出して ChatGPT / Claude などに渡せます。
AI Prompt で開く →