I think I bought this up way back when I first started testing the platform.
Will there ever be a way to know how many people are subscribing (watching) a particular topic?
I am being asked for this information more often these days.
I think I bought this up way back when I first started testing the platform.
Will there ever be a way to know how many people are subscribing (watching) a particular topic?
I am being asked for this information more often these days.
This seems unlikely to ever be added as visible to non-administrators.
The freedom of individual users to choose how they want to consume the forum is important, and giving special consideration to Watching a topic by making the number visible to everyone is likely to create bad behavior patterns. (Number Go Up Syndrome is very powerful.)
You should be able to take a Data Explorer query that gets this data and mark it as runnable by moderators or employees, if that’s who the requests are coming from.
We would never want this for non-admins. I will try this with the DE.
Was this ability ever added to Discourse reporting?
これに関して、何かアップデートはありましたか?
トムさん、
これはデフォルトの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さん、ありがとうございます。クエリを、4つの通知レベルすべてを一度に報告するように変更し、必要に応じてtopic_idの配列を受け取るようにしました。
完全なグリッド出力テーブルはきれいではありませんが、必要なすべての情報が含まれています。
編集:投稿した直後に、Discourseがこの問題を解決する他の6つのリンクを親切に表示してくれました!クエリを続行します!
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