Credo di averne parlato molto tempo fa, quando ho iniziato a testare la piattaforma.
Esisterà mai un modo per sapere quante persone si sono iscritte (stanno seguendo) un determinato argomento?
Ultimamente mi viene richiesta questa informazione sempre più spesso.
Questo sembra improbabile che venga mai aggiunto come visibile ai non amministratori.
La libertà degli utenti individuali di scegliere come vogliono consumare il forum è importante, e dare un’attenzione speciale al monitoraggio di un argomento rendendo il numero visibile a tutti è probabile che crei modelli di comportamento negativo. (La sindrome “i numeri devono salire” è molto potente.)
Dovresti essere in grado di prendere una query di Data Explorer che ottiene questi dati e contrassegnarla come eseguibile dai moderatori o dai dipendenti, se sono loro a fare le richieste.
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:
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:
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