关于组成员资格的报告?

  • 我们使用 Discourse 来运营一个由志愿者管理、基于会员的组织,我想知道是否有快速生成组成员资格报告的方法。
  • 目前我们大约有 60 名用户和 20 个组,因为我们使用 Discourse 来帮助运营组织,尤其是在电子邮件在小组讨论中显露出不足时。

我发现与 Discourse 权限的交互有时略显局限。我来自 IT 系统管理员背景,习惯了在 Active Directory 等系统中嵌套组,但我希望没有将太多这方面的经验强加给 Discourse,因为它们显然是不同的事物。

  • 我希望能够轻松生成一份报告,列出谁属于哪个组,以帮助我们更好地组织分类并节省时间。
    • 我知道这只有在保持组成员资格实时更新的情况下才可行,但据我所知,这是最好的方法。
  • 我假设组嵌套功能目前不可用?

  • 触发此错误的机制背后的原理是什么?
  • 我理解您不希望当父类别不可访问时子类别仍可访问(这在共享网络驱动器中是合理的,但在 Discourse 中并不合理)。
  • 但您是否可以将此改为提示:相关组无法通过父类别访问,如果继续此操作,该组将以所需的最小权限(或可选择的权限级别)添加?
3 个赞

是否有一个数据资源管理器查询可以为您呈现这些信息?即列出每个群组及其成员?这正是您想找的吗?

2 个赞

@michebs 也许你可以帮忙?

2 个赞

如果您需要这些信息,以下查询可以为您提供帮助。

列出组名称
SELECT 
    g.name group_name,
    user_count
FROM groups g 
ORDER BY g.name ASC
列出组和成员
-- [参数]
-- string :group_name

SELECT 
    g.name group_name,
    u.username user_name,	
    gu.owner group_owner
FROM group_users gu 
LEFT JOIN groups g ON gu.group_id = g.id
LEFT JOIN users u ON gu.user_id = u.id
WHERE user_id > 0
    AND g.name LIKE '%'||:group_name||'%'
ORDER BY g.name ASC, gu.owner DESC
列出所有组和成员
SELECT 
    g.name group_name,
    u.username user_name,	
    gu.owner group_owner
FROM group_users gu 
LEFT JOIN groups g ON gu.group_id = g.id
LEFT JOIN users u ON gu.user_id = u.id
WHERE user_id > 0
ORDER BY g.name ASC, gu.owner DESC
5 个赞

感谢 @codinghorror @michebs

我之前没用过这个数据查询浏览器。这是我在实例的命令行界面(CLI)中会找到的功能吗?

看起来它有点类似于 SQL 和 Influx 查询。

1 个赞

这是一个插件。参见 Discourse Data Explorer

它就是 SQL。

3 个赞

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