Conoscere il numero di osservatori

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 Mi Piace

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 Mi Piace

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

2 Mi Piace

Was this ability ever added to Discourse reporting?

Ci sono stati aggiornamenti a questo?

Ciao Tom,

Questo non è stato aggiunto come report DE predefinito. Tuttavia, ho trovato un argomento che fornisce una query DE di base per estrarre queste informazioni, forse può essere utile:

2 Mi Piace

Ciao Mark,

Grazie. Quindi da questo sembra che non possa eseguire questa funzione a livello di argomento. È corretto?

Tom,

No, puoi ottenere tali informazioni a livello di argomento scambiando ‘topic’ con ‘category’ in questo modo:

SELECT 
  COUNT(topic_id)
FROM 
  topic_users 
WHERE 
  notification_level = 3

Di nuovo, questa è una query molto basilare che restituisce solo un conteggio totale di osservatori da… in questo caso… tutti gli argomenti. Se desideri specificare un argomento particolare, potresti aggiungerlo alla clausola WHERE, ad esempio:

WHERE 
  notification_level = 3
  AND topic_id = 29
8 Mi Piace

Questo è fantastico!

Grazie!

1 Mi Piace

Questo è molto utile, grazie @MarkDoerr. Ho modificato la query per segnalare tutti e quattro i livelli di notifica in un unico passaggio e per accettare un array di topic_id se necessario.
La tabella di output completa della griglia non è bella ma contiene tutte le informazioni di cui ho bisogno.

modifica: ovviamente non appena ho pubblicato, Discourse mi ha gentilmente mostrato sei collegamenti con altri modi per risolvere questo problema! Continua la query!

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) -- Aggiungi qui i tuoi topic_id
GROUP BY
  topic_id, notification_level
1 Mi Piace