匿名ユーザーグループ

コンセプトのテストとして、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

クエリを実行すると、グループのメンバーが匿名モードに入っている場合、以下のような結果が返されます。

ユーザー数が膨大でない場合は、取得したユーザー名をコピーして、グループの「一括追加」フォームに貼り付けることができます。

「匿名アカウントの持続時間(分)」というサイト設定に注意する必要があります。これは、ユーザーが匿名モードを終了した後に匿名アカウントが保持される期間を設定するものです。

もう一つ考慮すべき点は、この方法がユーザーに「匿名ユーザーはそれほど匿名ではない」という印象を与える可能性があることです。サイト管理者が匿名ユーザーを実在アカウントと関連付けることができることを、利用者に対して事前に周知しておく価値があるかもしれません。

なお、匿名モードは、管理者ページからユーザーを匿名化した場合の処理とは関係ありません。後者の場合、ユーザーは真に匿名となり、すべての識別情報が削除されます。

あなたが何を達成しようとしているか興味がありますが、匿名モードを同様の方法で利用しているサイトは現時点では把握していません。プラグインの開発に多大な労力を注ぐ前に、少数のユーザーでテストを行い、結果を確認することをお勧めします。