新しいグループに全メンバーを追加する方法はどのようにしますか?

こんにちは。

新しいグループに全メンバーを追加したいのですが、カンマ区切りのユーザー名のリストをコピー&ペーストしようとするとエラーが発生します。

100件までならインポートできますが、40,000人のメンバーを追加する必要があります。

以前は最大10,000件までインポートできましたが。

何かアイデアはありますか?

「いいね!」 1

はい、UIの一括追加で数千人のユーザーを追加できるかどうかわかりません。新しいグループを作成し、次にレールコンソールを使用してそのグループにtrust_level: 0のユーザーを追加できると思います。この方法を選択する場合は、必ず最初にバックアップしてください。

「いいね!」 2

なぜですか?それはどのような問題を解決しますか?後で一部のメンバーを削除する予定ですか?trust_level_0 または trust_level_1 を使用してはいけないのですか?あなたがやろうとしていることは何であれ、すべてのユーザーをグループに追加することは問題を解決する良い方法ではない可能性が高いです。

Railsから行うことができます。これは機能すると思います。

group=Group.find_by_name('my_group')
User.all.each do |user|
  GroupUser.create!(user_id: user.id, group_id: group.id)
end

役立つかもしれないプラグインを作成しましたが、十分にテストされておらず、試した人が問題に遭遇しました。予算がある場合や、大胆な場合は、私に連絡してください。

「いいね!」 3

Trust_level_0を、全メンバーのデモグラフィックをターゲットにする必要がある場合はいつでも使用しています。

「いいね!」 1

トピック内の全メンバーに(メールで通知して)言及したいのですが。Trust_level_0レベルのグループで機能しますか?理想的には、グループ名をカスタマイズするために新しいグループを作成したいです。

告知カテゴリを設けて、全員がそのカテゴリをウォッチするように設定するのはどうでしょうか?

私が提案したようにRailsから全員を追加できますが、それは新しいユーザーを追加するものではありません。

自動化プラグインとバッジによるグループメンバーシップを確認してみてください。そのバッジを持つユーザーをグループに追加するカスタムバッジを作成できるようです: Discourse Automation

「いいね!」 3

100人以上のユーザーがいる場合は、max users notified per group mention 設定を変更する必要があります。

「いいね!」 2

ああ、そうですね、良い点です!ありがとうございます、その設定を忘れていました :slight_smile:

「いいね!」 1

一度にグループの「ユーザーの追加」フォームに追加できるユーザーの最大数は1000人です。コードを見ると、それ以上追加しようとすると、次のようなエラーメッセージが表示されるはずです。

「一度に最大1000人のユーザーを追加できます。」

そうしないと、Discourse が未処理のエラーを発生させる危険があるため、何らかの制限が必要です。制限を回避するには、Jay が提案した Automation Plugin アプローチが良いでしょう。

「いいね!」 2

カプセル化されたインターフェイス group.add(user) を使用しないのはなぜですか?このようにActiveRecordを直接操作すると、潜在的な問題が発生するのではないでしょうか?

「いいね!」 1

これは@kam44のユースケースにとって最善(かつ最も簡単な)解決策だと確信しています。

しかし、Railsコンソールからグループにユーザーを追加する方法を知っておくことは非常に役立ちます。これは、私が時々行わなければならなかった大規模なグループのマージに役立つでしょう!

「いいね!」 2

なぜそうしないのか?しばらく探していた時に、なぜそれが見えなかったのかわからない。

アクティブレコードの呼び出しは危険ではありません。必要なルールを強制します。

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.