Nous exécutons une instance où toutes les catégories sont mises en sourdine et tous les utilisateurs sont par défaut en mode liste de diffusion.
Il arrive assez souvent que les utilisateurs reçoivent des e-mails de fils de discussion individuels dans leurs catégories mises en sourdine. Il est vraiment difficile de trouver un schéma dans ce comportement.
Existe-t-il une solution (rapide) pour cela ? Nous avons plus de 1000 utilisateurs et plusieurs centaines de catégories → même un faible taux d’erreur est assez ennuyeux.
Je crains que nous ayons besoin de plus d’informations. Ce problème est-il vraiment aléatoire ? N’y a-t-il aucune corrélation/similitude entre ces notifications ?
Peut-être ont-ils participé à ces discussions, ce qui l’emporte sur la mise en sourdine ? C’est mon hypothèse.
Si vous ne parvenez pas à reproduire le problème, ce n’est pas vraiment un bug, ou du moins pas un rapport de bug.
Mais je pensais que le mode liste de diffusion était censé envoyer des e-mails à tout le monde tout le temps et je suis presque surpris que la mise en sourdine des catégories ou des utilisateurs fonctionne. Je vous recommanderais plutôt de ne pas utiliser le mode liste de diffusion et de faire en sorte que les personnes qui aiment vraiment les e-mails surveillent les catégories qu’elles souhaitent plutôt que de mettre en sourdine celles qu’elles ne veulent pas. Mais il semble que ce serait une entreprise énorme, donc je pense qu’il est trop tard pour que cette recommandation soit utile.
Comme je ne peux pas rechercher le sujet dans le panneau d’administration des e-mails envoyés, il est difficile de le retracer malheureusement.
Le suivi automatique est défini sur “jamais” par défaut et aucun des utilisateurs concernés n’a modifié cela.
Eh bien… ¯\(ツ)/¯
La seule vraie raison d’utiliser le mode liste de diffusion est que dans ce cas, on reçoit ses propres messages par e-mail – c’est une demande très, très, très fréquente.
Un autre avantage de la mise en sourdine : elle n’encombre pas la page d’aperçu des catégories lorsqu’il y a des centaines de catégories (et oui, nous avons essayé d’encourager la réduction du nombre lors du passage de l’ancien forum/liste de diffusion).
C’est exact. Avez-vous installé le plugin Data Explorer ? Si vous connaissez SQL, cela pourrait être un moyen de rechercher rapidement ces e-mails envoyés.
Bien, j’ai un peu joué avec l’explorateur de données, mais laissez-moi d’abord expliquer comment nous avons configuré les utilisateurs/notifications :
D’abord, nous avons mis en miroir l’ancienne liste de diffusion pendant une certaine période pour accumuler du contenu dans Discourse.
[NB : nous l’avons fait sur une instance de développement séparée, puis nous avons copié les messages sur l’instance de production]
Ensuite, nous avons « abonné » les utilisateurs en fonction des anciennes listes de diffusion → par conséquent, ils pourraient être abonnés (suivre) à certaines catégories automatiquement en fonction de leurs abonnements précédents à la liste de diffusion.
J’ai donc pris un utilisateur qui n’avait jamais visité le site web : par exemple, jamais vu, aucun message lu, etc.
Ensuite, j’utilise le plugin « Liste des sujets qu’un utilisateur suit/observe/ignore ».
Et je vois qu’au niveau de notification 3, seuls les sujets des catégories auxquelles il était automatiquement abonné - bien.
Quand je vérifie le niveau 1, je vois de nombreux sujets - ce qui est probablement aussi correct car seules les catégories sont ignorées, pas les sujets, c’est-à-dire qu’ils devraient être normaux = 1. Mais pour une raison quelconque, topic_last_visited_at est toujours présent et correspond à la date de création du sujet.
Ensuite, il y a des utilisateurs qui ont été créés comme utilisateurs staged dans l’instance de production via l’e-mail, puis activés - mais n’ont jamais visité le site web. Pour de tels utilisateurs, je ne vois aucun sujet au niveau de notification 1 !
Il semble donc qu’il y ait eu un désordre créé pour les utilisateurs initialement staged.
Question : y a-t-il un moyen de réinitialiser les niveaux de notification des sujets pour les utilisateurs ?
Peut-être avant cela : y a-t-il un moyen de voir les niveaux de notification de sujet d’un utilisateur ?
Je ne l’ai pas trouvé dans le panneau web d’administration. Est-ce que cela n’est accessible qu’au niveau de la base de données ?
Malheureusement, l’explorateur de données ne permet pas de visualiser les niveaux de notification des sujets par utilisateur. J’ai vérifié que les utilisateurs recevant ces e-mails non sollicités ne sont pas abonnés aux catégories.
Quelque chose comme ceci devrait suffire, à moins que je n’aie mal compris ce que vous recherchez ?
-- [params]
-- int :topic_id
SELECT tu.user_id,
tu.notification_level
FROM topic_users tu
WHERE tu.topic_id = :topic_id
ORDER BY tu.notification_level DESC
J’ai donc vérifié un ID de sujet que je n’avais jamais visité et je ne me suis pas trouvé dans la liste. Mais lorsque je visite ce sujet et que je relance la requête, j’apparais dans la liste avec un niveau de notification = 1. Est-ce attendu ? (notez que le suivi automatique est désactivé !)
Ensuite, pour les sujets qui causaient des e-mails erronés à de très nombreux utilisateurs, j’ai trouvé une ÉNORME liste d’utilisateurs avec un niveau de notification = 1. Certains de ces utilisateurs sont des utilisateurs fictifs qui ne se sont jamais connectés sur le web et n’ont pas non plus participé au fil de discussion.
Enfin, j’ai constaté que les sujets avec des abonnements de masse dataient majoritairement d’avant la mise en ligne du site et que les utilisateurs pouvaient se connecter. De plus, le nombre d’abonnés est assez stable et semble correspondre au nombre d’utilisateurs que le site avait à cette époque.
Je dois noter qu’à un moment donné, j’ai activé le paramètre allow changing staged user tracking (autoriser la modification du suivi des utilisateurs fictifs), puis je l’ai désactivé. J’ai également activé/désactivé le paramètre mute all categories by default (mettre toutes les catégories en sourdine par défaut) à un moment donné.
Peut-être que tout cela a causé cette confusion ?
En fin de compte, je devrais probablement simplement suggérer aux utilisateurs de se désabonner des sujets indésirables.
Le niveau de notification 1 est « Normal », ce qui est donc attendu. Et vous n’obtenez un enregistrement dans la table topic_users que si vous avez visité le sujet, donc c’est également attendu.
Il semble que vous ayez activé certains niveaux de notification de sujet lorsque vous avez modifié certains paramètres. Pourriez-vous rechercher spécifiquement quelqu’un qui suit un sujet dans une catégorie mise en sourdine et voir si ce sont les personnes concernées par votre problème initial ?
En fait, s’ils sont marqués comme Normaux dans le sujet, je pense que cela outrepasserait également la mise en sourdine de la catégorie. Vous avez peut-être trouvé la réponse. Je pense que votre précédent changement de paramètre a pu définir en masse le niveau de notification de sujet de tout le monde, et le modifier à nouveau n’a affecté que les nouveaux sujets à l’avenir.
Le niveau de notification spécifique au sujet l’emporte toujours lorsqu’il entre en conflit avec le niveau de notification par défaut d’une catégorie ou d’une étiquette.