招待システムを改善する

バージョン 2.7 をターゲットに、招待システムの改善を行い、現在 Discord などのプラットフォームが採用している招待の扱いに合わせます。具体的には、メール、テキスト、チャットにコピー&ペーストしてすぐに共有できるリンクを素早く生成することに重点を置きます。パーソナライズされたメッセージを含むメールの送信や、ユーザーをグループに追加するなどのオプションは、ギアアイコン :gear: で表される「高度なオプション」の範囲で提供されます。また、招待の管理機能も改善し、作成後の招待を編集できるようにします。

この変更には多くの要素が関わり、スタッフのみが実行できる操作にも影響するため、慎重に進めて正確に実装する必要があります。以下に主要なタスクと、新しいインターフェースの提案文案を示します。進行状況に応じてこの OP も更新していきます。

  • LINKS タブを削除し、/user/invited/pending ページの PENDING タブを再構築してリンク招待を含める
  • PENDING タブに記載されている既存の招待を編集する機能を追加
  • Invite ポップアップを簡素化し、高度なオプションを :gear: の背後に配置
  • 招待されたユーザーが招待を受け入れた後に移動するトピックを指定する機能を追加
  • 管理者向けの Bulk Invite に、CSV の準備とアップロード方法に関するその場での教育ステップを中間工程として追加
  • 削除はしなかったが動作するように修正!トピックメニューの share ボタン経由での新規ユーザー招待機能を削除

提案する新しいインターフェース:

新しい統合された PENDING タブの構造
招待 グループ トピック 作成日/最終送信日 有効期限
invitedperson@example.fake team, developers Welcome, developers! 11 月 15 日 12 月 15 日 [編集] [削除] [リンク取得] [メール送信]
リンク (1/5 利用済み) team 10 月 5 日 12 月 15 日 16 時 [編集] [削除] [リンク取得]
anotherinvitedperson@example.fake translators Getting started with translation 11 月 2 日 12 月 20 日 [編集] [削除] [リンク取得] [メール送信]
thirdinvitedperson@example.fake team 11 月 25 日 12 月 25 日 [編集] [削除] [リンク取得] [メール送信]
新しい招待ポップアップ
見出し: 招待する

このリンクを共有して、SITENAME へのアクセスを即座に付与しましょう!

[                             ]  [リンク作成/コピー]

あなたの招待リンクは来週に期限切れになります。:gear:

注: `CREATE LINK` ボタンが選択されると、リンクが空のフィールドに追加され、ボタンが `COPY` に変更されます。選択すると、リンクがクリップボードにコピーされ、メール、チャット、テキストに貼り付けることができます。
新しい招待ポップアップの高度なオプション
見出し: 招待する(高度なオプション)

グループに追加:

[ 検索... ]

初回ログイン時に移動するトピック: 

[ 検索... ]

有効期限

[ 期間を選択 ]

最大使用回数

[ 5 ]

メールアドレスに限定

[ name@example.com ] 

メールを送信

[ こんにちは、私たちのチームに参加してください。


                                                ]

    [                           ] [リンク作成/リンクコピー] [メール送信]

注: 「有効期限」はデフォルトで現在の日付から 1 週間後です。「最大使用回数」はメールアドレスが指定されていない場合のみ表示されます。「カスタムメッセージ」と `メール送信` ボタンは、メールアドレスが指定されている場合のみ表示されます。
新しい一括招待の中間ステップ
見出し: 一括招待(管理者のみ)

ユーザーリストを招待して、コミュニティを素早く立ち上げましょう。招待したいユーザーのメールアドレスを少なくとも 1 行ずつ含んだ [CSV ファイル](https://en.wikipedia.org/wiki/Comma-separated_values) を準備してください。ユーザーをグループに追加したり、初回ログイン時に特定のトピックに誘導したりしたい場合は、以下のカンマ区切りの情報を提供することも可能です。

name@example.com,group_1;group_2,topic_id

アップロードした CSV ファイルに含まれるすべてのメールアドレスに招待が送信され、後で管理できます。

[ CSV ファイルをアップロード]

注: `CSV ファイルをアップロード` ボタンを選択すると、ファイルシステムが開き、アップロードする CSV ファイルを選択できます。
「いいね!」 18

tests-passed の方々は既にお気づきかもしれませんが、@dan は OP で説明されている通り、招待システムの改善に献身的に取り組んできました。これらの改善は現在実装され、非常にうまく機能していますので、まだ確認されていない方はぜひ試してみてください!ご意見や問題点があればお知らせください。新しいインターフェースのスクリーンショットを以下に示します。

招待は、ユーザーメニューにある大幅に改善されたインターフェースからアクセスできるようになりました。保留中のリンク招待とメール招待は、統合されたインターフェースで表示されます。使用済みの招待は、新しい順に時系列で表示されます。

最も大きな追加機能として、他のユーザーを招待できる一般ユーザーは、メール招待を送信するだけでなく、共有用のリンクをコピーできるようになりました。また、リンクの最大使用回数を設定することも可能です。これは invite link max redemptions limit users という管理者設定で制限されます(デフォルトは 10 回)。ただし、招待の有効期限(invite expiry days 管理者設定で設定、デフォルトは 30 日)を変更することはできません。

スタッフは、招待されたユーザーを特定のグループに追加したり、初回ログイン時に特定のトピックへ誘導したり、リンクの有効期限を変更したりする高度なオプションにアクセスできます。メール招待の場合、スタッフは任意の個人メッセージを追加することも可能です。

一括招待はこれまでと同様に機能しますが、CSV ファイルをアップロードする前に、ファイルのセットアップ方法に関する直前の情報を示す中間ステップが表示されるようになりました。

リンク招待とメール招待の両方を含む保留中の招待タブ

高度なオプションを開いた招待リンクの作成

高度なオプションを開いた招待メールの作成

「いいね!」 12

13件の投稿が新しいトピックに分割されました:招待リンクを作成するAPIエンドポイントが /invites.json に移動しました

これは素晴らしいですね - 取り組んでくれた皆さん、ありがとうございます :slight_smile:

「いいね!」 7

7件の投稿が新しいトピックに分割されました:「ユーザー承認必須」管理者設定が有効な場合、信頼されたユーザーは招待できません

さらなる改善のためのコメント・アイデアです:
当社の Discourse では、コミュニティメンバーシップを別々に表すグループにリンクされた個別のカテゴリが設定されています。同じインストール上に複数のコミュニティが存在します。そのため、以下のような機能が実現されれば理想的です。

  • 「ユーザー間招待」に、招待された人が招待者のグループメンバーシップを自動的に継承するオプションを追加する(招待者が複数のグループに所属している場合は、選択可能にする)。
  • または、管理者またはモデレータによる承認プロセスの2段階目で、適切なグループ権限が付与されるようなワークフローを導入する。
「いいね!」 2

これは UI の刷新時の見落としなのか、それとも何らかの理由があるのかはわかりませんが、グループの所有者である一般ユーザー(非スタッフ)が「メールアドレス 1 つを招待」を選択すると、高度なオプションで招待対象者を自身のグループに追加することができません。所有者は /g の UI から引き続き追加できます。この変更について、どこかで再認識させる必要があるかもしれません。例えば js.user.invited.invite.restrict_email などで。

すべてのアップデート、特に今回の更新に心から感謝しています。招待状の使いやすさが大幅に向上しました。

「いいね!」 2

@dan は最近、招待システムにアップデートをデプロイしました。ご意見や、さらなる改善の提案をお聞かせください!今回の変更の主な目標は、招待システムのすべての機能を維持しつつ、できる限りシンプルにすることです。もはや「詳細設定」画面はありません。利用可能なオプションはすべて、状況やユーザーがアクセスできるものに応じて、招待ポップアップに同時に表示されます。

一般ユーザーにはオプションがいくつかしかないため、招待は簡単です。スタッフにとっては、招待リンクを取得したり、メールで送信したりする前に、5つのオプションから選択する必要があることを認識しています。これは便利ですが、特にDiscourseに慣れていない人にとっては、混乱を招く可能性があります。すべての機能を維持しつつ、よりシンプルなインターフェースに移行する方法を検討しています。提案を歓迎します。

スクリーンショット:

信頼レベル2のユーザーがメールで誰かを招待しています。オプションの個人メッセージは、メールアドレスの入力を開始すると表示されます。

同じユーザーがトピックメニューの招待リンク経由で誰かを招待しています。「トピックに到着」が表示されていますが、編集はできません。

管理者はすべての機能を利用できます。まだメールアドレスの入力を開始していません。アクセスにグループメンバーシップが必要なセキュアなカテゴリのトピックに招待者を表示しようとすると、警告が表示されます。

招待を保存すると、リンクをコピーして共有できます。

それは非常に複雑に聞こえます。その考え方は理解できますし、興味深いアイデアですが、現時点でさらに多くの機能を加えたいとは思っていません。スタッフが利用できる招待トピックやグループのオプションを使用して、目的を達成できますか?各サブコミュニティには、サインアップ後に参加できるグループがあり、ユーザーは互いに助け合い、グループオーナーと協力してそれを実現できます。

これは、ほとんどのユーザーにとって招待システムをシンプルに保つための意図的な設計です。ご指摘の通り、グループオーナーは常にグループページからメンバーを追加したり、招待してすぐにグループに追加したりできます。

この動作について私たちが間違っており、多くの人が不満を表明する場合は、この決定を再検討する可能性があります。

「いいね!」 4