Conocer el número de observadores

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.

2 Me gusta

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.

3 Me gusta

We would never want this for non-admins. I will try this with the DE.

2 Me gusta

Was this ability ever added to Discourse reporting?

¿Hubo alguna actualización sobre esto?

Hola Tom:

Esto no se ha agregado como un informe de DE predeterminado. Sin embargo, encontré un tema que proporciona una consulta de DE básica para extraer esta información, tal vez eso sea útil:

2 Me gusta

Hola Mark,

Gracias. Entonces, por esto, parece que no puedo realizar esta función a nivel de tema. ¿Es correcto?

Tom,

No, puedes obtener esa información a nivel de tema intercambiando ‘topic’ por ‘category’ de esta manera:

SELECT 
  COUNT(topic_id)
FROM 
  topic_users 
WHERE 
  notification_level = 3

De nuevo, esta es una consulta muy básica que solo devuelve un recuento total de observadores de… en este caso… todos los temas. Si deseas especificar un tema en particular, podrías añadir a la cláusula WHERE, por ejemplo:

WHERE 
  notification_level = 3
  AND topic_id = 29
8 Me gusta

¡Esto es genial!

¡Gracias!

1 me gusta

Esto es muy útil, gracias @MarkDoerr. Modifiqué la consulta para informar sobre los cuatro niveles de notificación en una sola pasada y para tomar una matriz de topic_ids si es necesario. La tabla de salida de cuadrícula completa no es bonita, pero tiene toda la información que necesito. editar: por supuesto, tan pronto como publiqué, Discourse amablemente me mostró seis enlaces con otras formas de resolver esto. ¡Continúa la consulta!

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) -- Agrega tus topic_ids aquí
GROUP BY
  topic_id, notification_level
1 me gusta