Кажется, я поднял этот вопрос ещё в самом начале тестирования платформы.
Будет ли когда-нибудь возможность узнать, сколько человек подписано (следит) за конкретной темой?
В последнее время меня всё чаще просят предоставить эту информацию.
Кажется, я поднял этот вопрос ещё в самом начале тестирования платформы.
Будет ли когда-нибудь возможность узнать, сколько человек подписано (следит) за конкретной темой?
В последнее время меня всё чаще просят предоставить эту информацию.
Похоже, что эта функция вряд ли когда-либо будет добавлена в виде элемента, видимого для неадминистраторов.
Свобода отдельных пользователей выбирать, как им удобнее пользоваться форумом, имеет важное значение. Выделение особого внимания функции «Подписка на тему» за счет отображения числа подписчиков для всех может привести к формированию нежелательных поведенческих паттернов. (Синдром «числа должны расти» обладает огромной силой.)
Вы можете создать запрос в Data Explorer для получения этих данных и разрешить его выполнение модераторам или сотрудникам, если запросы поступают именно от них.
Мы никогда не хотели бы этого для не-администраторов. Я попробую это с DE.
Добавлялась ли когда-нибудь эта возможность в систему отчетности Discourse?
Были ли какие-либо обновления по этому поводу?
Привет, Том,
Это не было добавлено как отчет по умолчанию для DE. Однако я нашел тему, в которой приводится базовый запрос DE для извлечения этой информации — возможно, это окажется полезным:
Привет, Марк,
Спасибо. Получается, что я не могу выполнить эту функцию на уровне темы. Так ли это?
Том,
Нет, вы можете получить эту информацию на уровне темы, заменив ‘topic’ на ‘category’ следующим образом:
SELECT
COUNT(topic_id)
FROM
topic_users
WHERE
notification_level = 3
Опять же, это очень простой запрос, который просто возвращает общее количество наблюдателей… в данном случае… со всех тем. Если вы хотите указать конкретную тему, вы можете добавить условие в предложение WHERE, например:
WHERE
notification_level = 3
AND topic_id = 29
Это здорово!
Спасибо!
Это очень полезно, спасибо @MarkDoerr. Я изменил запрос, чтобы он в одном проходе отчитывался обо всех четырёх уровнях уведомлений и при необходимости принимал массив topic_id.
Полная таблица вывода сетки выглядит не очень красиво, но содержит всю необходимую мне информацию.
edit: конечно, как только я опубликовал, Discourse любезно показал мне шесть ссылок с другими способами решения этой задачи! Продолжайте писать запросы!
SELECT
topic_id,
notification_level,
COUNT(CASE WHEN notification_level = 0 THEN topic_id END) AS Muted_0,
COUNT(CASE WHEN notification_level = 1 THEN topic_id END) AS Normal_1,
COUNT(CASE WHEN notification_level = 2 THEN topic_id END) AS Tracking_2,
COUNT(CASE WHEN notification_level = 3 THEN topic_id END) AS Watching_3
FROM
topic_users
WHERE
topic_id IN (9831, 9572, 9424, 7567) -- Добавьте сюда ваши topic_id
GROUP BY
topic_id, notification_level