Всем привет, не смог найти обсуждения этого вопроса ранее.
Есть ли способ генерировать отчёты (просмотры страниц, темы, сообщения) по каждой категории отдельно?
Мы создали новую категорию, которая вызывает интерес у нашего сообщества, и хотели бы отслеживать динамику её роста по мере того, как мы информируем людей о её существовании.
Возможно ли это? Можно ли реализовать это путём 1) настройки стандартного интерфейса отчётов Discourse или 2) использования аналитических инструментов на нашей стороне для анализа базы данных Discourse через API?
С его помощью можно создавать отчёты на основе SQL-запросов. Вот пример запроса, который поможет отслеживать нужные вам показатели:
-- [params]
-- date :start_date = 2020-04-01
-- date :end_date = 2020-04-29
SELECT c.id category_id, COUNT(DISTINCT(t.id)) topics, COUNT(p.id) posts, sum(p.like_count) likes, sum(p.reads) reads
FROM categories c
INNER JOIN topics t ON (t.category_id = c.id)
INNER JOIN posts p ON (p.topic_id = t.id AND p.post_type = 1)
WHERE p.created_at BETWEEN :start_date AND :end_date
GROUP BY c.id
ORDER BY COUNT(p.id) DESC
Вы можете делиться этими отчётами с группами через интерфейс Data Explorer:
И они будут отображаться на странице группы следующим образом:
Спасибо, это именно то, что мне нужно (и это также побуждает меня глубже изучить, что можно запрашивать). Я добавил в оператор SELECT подсчёт количества ответов в теме: