批量将组中的用户添加到其他组

:bookmark: 本指南介绍如何结合使用数据资源管理器(Data Explorer)和批量邀请将现有用户从一个或多个组添加到其他组。

:person_raising_hand: 所需用户级别:管理员

摘要

本指南将向您展示如何:

  1. 创建一个数据资源管理器查询以选择来自特定组的用户
  2. 将查询结果下载为 CSV 文件
  3. 使用批量邀请功能将这些用户添加到新组

要求

  • 已安装数据资源管理器插件
  • 对您的 Discourse 实例具有管理员访问权限

:warning: 在对用户组执行批量操作之前,请务必创建备份。

创建数据资源管理器查询

  1. 前往“管理” → “插件” → “数据资源管理器”(Admin → Plugins → Data Explorer
  2. 创建一个新查询
  3. 为查询命名(例如,“选择要添加的组的用户”)
  4. 将以下 SQL 代码粘贴到查询输入框中:
--[params]
-- string_list :group_name
-- string_list :new_group_names
SELECT ue.email, :new_group_names as "groups"
FROM users u
INNER JOIN group_users gu ON u.id = gu.user_id
INNER JOIN groups g on g.id = gu.group_id
INNER JOIN user_emails ue on u.id = ue.user_id
WHERE g.name IN (:group_name)
AND ue.primary = true
  1. 点击“保存更改”(Save Changes)
  2. 如果 group_namenew_group_names 输入框未出现,请重新加载页面

您的数据资源管理器屏幕现在应如下所示:

运行查询并下载结果

  1. group_name 字段中输入源组名称
  2. new_group_names 字段中输入目标组名称
  3. 运行查询以验证输出
  4. 通过单击 CSV button CSV 按钮将结果下载为 CSV 文件

:information_source: 要从多个组中选择用户,请用逗号 (,) 分隔组名。要将用户添加到多个组,请用分号 (:wink: 分隔组名。

批量邀请用户到新组

  1. 前往个人资料的已邀请页面(/my/invited
  2. 点击批量邀请(Bulk Invite)按钮
  3. 选择您下载的 CSV 文件
  4. 点击“批量邀请”处理文件

验证组添加情况

在批量邀请过程完成后,请检查目标组以确保用户已正确添加。

例如,如果您从“grapes”组中的这些用户开始:

并且“fruits”组最初是空的:

批量邀请后,“fruits”组现在应该已填充用户:

:information_source: 使用此方法添加到新组的用户不会收到有关被添加到新组的任何电子邮件或通知。

选择多个组

您可以从多个组中选择用户并将他们添加到多个组中:

  • 要从多个组中选择用户,请用逗号 (,) 分隔组名:grapes,cherries
  • 要将用户添加到多个组,请用分号 (;) 分隔组名:fruits;vegetables

其他资源

4 个赞

当使用此流程批量邀请现有用户加入新组时,用户会收到电子邮件吗?他们会收到任何通知吗?

1 个赞

不,他们不会收到电子邮件或通知。我会将此信息添加到主题中,谢谢!

1 个赞