グループメンバーシップに関するレポートを作成していますか?

  • 私たちはボランティア運営のメンバー制組織で Discourse を利用していますが、グループメンバーシップのレポートを素早く取得する方法があるかどうか知りたいです。
  • 現在、約 60 人のユーザーと 20 のグループを持っています。Discourse は組織の運営、特にグループディスカッションにおいてメールの限界が顕著になる場面で役立っています。

Discourse の権限設定とのやり取りには、時として制限を感じることもあります。私は IT システム管理者出身なので、Active Directory のようなものでグループをネストできることに慣れています。Discourse は明らかに異なるシステムですが、その影響が強すぎないか心配です。

  • グループメンバーシップを最新の状態に保つ必要がありますが、カテゴリを整理し、時間を節約するために、誰がどのグループにいるかを示すレポートを簡単に作成したいと考えています。
    • これが可能なのは、グループメンバーシップを最新に保つ場合に限られますが、私が知る限りではこれが最善の方法です。
  • グループのネストは不可能だと推測していますが、合っていますか?

  • このエラーを発生させるメカニズムの背景にある理由は何ですか?
  • 親カテゴリにアクセスできない場合、子カテゴリにもアクセスできないようにしていることは理解しています(共有ネットワークドライブでは問題ありませんが、Discourse では意味を成しません)。
  • ただし、対象のグループが親カテゴリからアクセスできないことを警告し、この変更を続行する場合、必要な最小限の権限(または選択可能なレベルの権限)でグループが追加されるように変更することは可能でしょうか?
「いいね!」 3

Data Explorer クエリでその情報を取得できるかもしれません。各グループと、そのグループに所属するメンバーの一覧ですね。それがご希望の情報でしょうか?

「いいね!」 2

@michebs これ、お手伝いいただけますか?

「いいね!」 2

もしこの情報が必要であれば、以下のクエリが役立ちます。

グループ名の一覧
SELECT 
    g.name group_name,
    user_count
FROM groups g 
ORDER BY g.name ASC
グループとメンバーの一覧
-- [params]
-- 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.