그룹 구성원 보고서를 작성 중인가요?

  • 우리는 자원봉사자가 운영하고 회원 기반인 조직을 위해 Discourse를 사용 중인데, 그룹 구성원 현황을 빠르게 보고할 수 있는 방법이 있는지 알고 싶습니다.
  • 현재 이메일의 한계가 드러나는 그룹 토론 등에서 조직 운영을 돕기 위해 Discourse를 사용하고 있으며, 약 60명의 사용자와 20개의 그룹이 있습니다.

Discourse의 권한 인터페이스가 다소 제한적이라고 느끼는 부분이 있습니다. 저는 IT 시스템 관리자를 해온 경력이 있어 Active Directory와 같은 도구에서 그룹을 중첩하는 것에 익숙합니다. 다만 Discourse는 분명히 다른 시스템이므로, 제 경험을 너무 많이 투영하고 있지는 않은지 걱정됩니다.

  • 카테고리 정리를 돕고 시간을 절약하기 위해, 누가 어떤 그룹에 속해 있는지 나열된 보고서를 쉽게 생성할 수 있기를 희망합니다.
    • 그룹 구성원이 최신 상태로 유지되어야만 가능하다는 것을 알고 있으며, 이것이 제가 아는 최선의 방법입니다.
  • 그룹 중첩이 불가능하다고 가정해도 될까요?

  • 이 오류를 발생시키는 메커니즘의 근거는 무엇인가요?
  • 부모 카테고리가 접근 불가능할 때 자식 카테고리에 접근할 수 없도록 하는 것은 이해합니다(공유 네트워크 드라이브에는 적합하지만, Discourse에서는 그렇게 합리적이지 않습니다).
  • 하지만 해당 그룹이 부모 카테고리에 의해 접근 불가능하다는 경고로 변경하고, 이 변경을 계속 진행하면 최소한의(또는 선택 가능한 수준의) 권한으로 추가되도록 할 수는 없을까요?

Data Explorer 쿼리를 사용하면 해당 정보를 확인하실 수 있지 않을까요? 각 그룹 목록과 각 그룹의 멤버 목록을 말씀하시는 건가요? 바로 그걸 찾으시는 거죠?

@michebs 혹시 도와줄 수 있는 부분이 있을까요?

이 정보가 필요한 것이라면, 다음 쿼리들이 도움이 될 수 있습니다.

그룹 이름 목록
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

감사합니다 @codinghorror @michebs.

이 Data Query Explorer를 사용해 본 적이 없습니다. 제 인스턴스의 CLI에서 찾을 수 있는 것인가요?

보아하니 SQL과 Influx 쿼리와 약간 비슷한 것 같습니다.

플러그인입니다. Discourse Data Explorer 를 참고하세요.

SQL입니다.