Je pense que je l’ai soulevé bien avant, lorsque j’ai commencé à tester la plateforme.
Y aura-t-il un moyen de savoir combien de personnes s’abonnent (regardent) un sujet particulier ?
On me demande de plus en plus souvent cette information ces jours-ci.
Cela semble peu probable d’être ajouté à l’avenir en tant que visible pour les non-administrateurs.
La liberté des utilisateurs individuels de choisir comment ils souhaitent consulter le forum est importante, et accorder une attention particulière au suivi d’un sujet en rendant le nombre visible pour tous risque de créer des comportements problématiques. (Le syndrome « Les nombres montent » est très puissant.)
Vous devriez pouvoir créer une requête Data Explorer qui récupère ces données et la marquer comme exécutable par les modérateurs ou les employés, si ce sont eux qui font les demandes.
Ceci n’a pas été ajouté comme rapport DE par défaut. Cependant, j’ai trouvé un sujet qui fournit une requête DE de base pour extraire ces informations, peut-être que cela vous sera utile :
Non, vous pouvez obtenir ces informations au niveau du sujet en remplaçant « topic » par « category » comme ceci :
SELECT
COUNT(topic_id)
FROM
topic_users
WHERE
notification_level = 3
Encore une fois, il s’agit d’une requête très basique qui renvoie simplement un nombre total de spectateurs de… dans ce cas… tous les sujets. Si vous souhaitez spécifier un sujet particulier, vous pouvez l’ajouter à la clause WHERE, par exemple :
C’est très utile, merci @MarkDoerr. J’ai modifié la requête pour rapporter les quatre niveaux de notification en une seule passe, et pour prendre un tableau de topic_id si nécessaire.
Le tableau de sortie complet n’est pas joli mais contient toutes les informations dont j’ai besoin.
edit : bien sûr, dès que j’ai posté, Discourse m’a gentiment montré six liens avec d’autres façons de résoudre ce problème ! Continuez à chercher !
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) -- Ajoutez vos topic_ids ici
GROUP BY
topic_id, notification_level