私のフォーラムでは、カテゴリとグループに基づいて多くのプライベートトピックをロックする予定です。これは教室環境なので、匿名投稿は非常に重要です。問題は、ユーザーが匿名に切り替わると、グループが引き継がれないことです(これは予想通りです)。
私はこれまでプラグインを作成したことはありませんが、これはプラグインで最も効果的に実装できるようです。ユーザーが匿名化するとアカウントが作成され、そのユーザーの現在のグループをすべて匿名アカウントに割り当てます。これでうまくいくでしょうか?私はグループの割り当てと削除にAPIを使用しています。これらの変更を匿名ユーザーにも適用するトリガーを設定することはできますか?
他に考慮すべき点や見落としている影響はありませんか?
simon
2020 年 2 月 14 日午前 3:23
2
コンセプトのテストとして、Data Explorer クエリを使用して、特定のグループのメンバーである実在ユーザーに関連付けられた匿名ユーザー名の一覧を取得し、その後「グループへの一括追加」機能を使ってそのユーザーをグループに追加する方法が考えられます。
以下は、特定のグループのメンバーである実在ユーザーの匿名ユーザー名を返すクエリです。クエリを実行する前に、group_name パラメータの値を指定する必要があります。
--[params]
-- string :group_name
WITH target_users AS (
SELECT
user_id AS master_user_id
FROM group_users gu
JOIN groups g
ON g.id = gu.group_id
WHERE g.name = :group_name
)
SELECT
u.username
FROM target_users tu
JOIN anonymous_users au
ON au.master_user_id = tu.master_user_id
JOIN users u
ON u.id = au.user_id
クエリを実行すると、グループのメンバーが匿名モードに入っている場合、以下のような結果が返されます。
ユーザー数が膨大でない場合は、取得したユーザー名をコピーして、グループの「一括追加」フォームに貼り付けることができます。
arivanandan:
見落としている他の影響などはありますか?
「匿名アカウントの持続時間(分)」というサイト設定に注意する必要があります。これは、ユーザーが匿名モードを終了した後に匿名アカウントが保持される期間を設定するものです。
もう一つ考慮すべき点は、この方法がユーザーに「匿名ユーザーはそれほど匿名ではない」という印象を与える可能性があることです。サイト管理者が匿名ユーザーを実在アカウントと関連付けることができることを、利用者に対して事前に周知しておく価値があるかもしれません。
なお、匿名モードは、管理者ページからユーザーを匿名化した場合の処理とは関係ありません。後者の場合、ユーザーは真に匿名となり、すべての識別情報が削除されます。
あなたが何を達成しようとしているか興味がありますが、匿名モードを同様の方法で利用しているサイトは現時点では把握していません。プラグインの開発に多大な労力を注ぐ前に、少数のユーザーでテストを行い、結果を確認することをお勧めします。
「いいね!」 3
詳細をありがとうございます!
これは教室の環境です。学生が「バカな質問かもしれない」と思っていても、遠慮なく発言できる雰囲気を築きたいと考えています。匿名機能は公開フォーラムでは効果的ですが、私たちの議論のほとんどは特定のグループに限定される予定です。
そのため、この機能は短期的な目標リストから外しました。
毎回手動で行う必要のあるものにしたくありません。これを自動化する場合、プラグインを作成する必要があるのでしょうか?ユーザーのグループ情報を取得し、匿名アカウントが作成される際に自動的に紐付けるトリガーを設定することは可能でしょうか?匿名アカウントは一定期間後に削除されるため、グループ情報のクリアについては気にする必要はないと考えています。