Создание отчета о членстве в группе?

  • Мы используем Discourse для нашей организации, управляемой волонтерами и основанной на членстве, и я хотел бы узнать, есть ли быстрый способ получить отчет о членстве в группах.
  • В настоящее время у нас около 60 пользователей и 20 групп, так как мы используем наш Discourse для помощи в управлении нашей организацией, особенно там, где возможности электронной почты оказываются недостаточными для групповых обсуждений.

Мне иногда кажется, что работа с правами доступа в 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.