Comment couper automatiquement le son des catégories lorsqu'un utilisateur quitte un groupe ?

Salut l’équipe Discourse et la communauté,

Je cherche un moyen de mettre automatiquement en sourdine une catégorie lorsqu’un utilisateur quitte un groupe.

:rocket: Ce que je veux réaliser

  • Lorsqu’un utilisateur rejoint un groupe, il suit la catégorie associée au groupe (cela fonctionne via Group Category Notification Default). [:white_check_mark: Je l’ai déjà fait avec le plugin Custom Wizard]
  • Lorsqu’un utilisateur quitte un groupe, sa catégorie associée devrait être mise en sourdine automatiquement, afin qu’il cesse de recevoir des notifications et des résumés par e-mail.
  • Idéalement, cela devrait être entièrement automatisé sans intervention manuelle.

:red_question_mark: Mes questions

:one: Existe-t-il un moyen intégré (sans codage ni appels API) de mettre en sourdine une catégorie lorsqu’un utilisateur quitte un groupe ?
:two: Serait-il possible d’ajouter « L’utilisateur quitte le groupe » comme déclencheur dans le plugin Discourse Automations ?
:three: Des solutions de contournement qui ne nécessitent pas d’intervention manuelle de l’administrateur ?

J’aimerais savoir comment d’autres ont géré ce scénario ou s’il existe une demande de fonctionnalité en cours pour ajouter cette capacité.

Merci d’avance ! :raising_hands:

Si une catégorie est autorisée pour ce groupe, il n’est pas nécessaire de masquer quoi que ce soit, car il n’y a pas d’accès après avoir quitté ce groupe.

Merci @Jagster.
Oui, j’ai remarqué qu’il n’y a pas d’accès après avoir quitté le groupe.
Mais la catégorie apparaît toujours du côté de l’utilisateur. Et les derniers messages apparaissent également dans l’onglet “Derniers”.

Je veux juste masquer la catégorie associée pour qu’elle n’apparaisse pas là.
Je cherche un processus automatisé pour ce scénario.

Cela ne devrait pas se produire. La catégorie est-elle une catégorie sécurisée à laquelle seul le groupe a accès ?

Non, la catégorie est visible par tout le monde.
Je voulais faire cela sur les groupes publics.

Je pense que vous pourriez avoir besoin d’une automatisation personnalisée.

Cependant, ce type d’idée serait un bon ajout aux paramètres de groupe, peut-être sous forme de bascule lorsqu’une personne quitte un groupe. Pour annuler/désactiver certaines choses qui ont été modifiées à l’origine (accordé lorsqu’ajouté à un groupe).

Je ne suis pas sûr, mais vous pourriez également utiliser un assistant personnalisé s’il peut être déclenché automatiquement ou peut-être associé à une automatisation. Je vérifierais auprès de Pavilion.

Je ne comprends pas la logique derrière cela.

  • un visiteur aléatoire voit la catégorie X et la voit, même dans /latest
  • un utilisateur se connecte, n’est pas membre du groupe X, voit la catégorie X et elle est sur /latest
  • un utilisateur rejoint le groupe X et obtient tous les droits (c’est le but du groupe ?)
  • un utilisateur quitte le groupe X, peut toujours voir la catégorie X, mais elle n’apparaît pas dans /latest

Pourquoi :thinking:

Voulez-vous vraiment le mettre en sourdine, ou simplement réinitialiser les notifications à « normal » ?

S’il s’agit de cette dernière option, je dirais qu’il s’agit en fait d’un Contribute > Bug (ou mieux : la mise en œuvre ne convient pas à ce cas d’utilisation, bien que cela semble logique qu’elle le fasse).

Lorsque je définis le groupe X pour surveiller la catégorie Y, et que je deviens membre de ce groupe, je surveille effectivement automatiquement la catégorie Y. La catégorie Y est copiée dans mes catégories « surveillées ». Il n’y a aucune trace de la manière dont elle y est arrivée ; nous ne savons pas si elle y était parce que je l’ai ajoutée auparavant ou parce que j’en étais membre du groupe.

Lorsque je quitte le groupe X, je continue de surveiller la catégorie Y. La catégorie n’est pas supprimée de mes catégories « surveillées », comme on pourrait s’y attendre.

Modifier cette mise en œuvre serait assez fastidieux, donc je suppose que ce serait quelque chose pour un plugin pour le moment. Il suffit de déclencher quelque chose lors de la suppression du groupe avec l’événement :user_removed_from_group, d’obtenir les catégories et de les supprimer des préférences de l’utilisateur.

Voyez-vous une possibilité que cela soit implémenté sans support du cœur du système ?

Existe-t-il déjà un mécanisme implémenté qui pourrait être utilisé pour suivre les interventions des utilisateurs sur les niveaux de notification ?

Pour autant que je sache, non.

Merci @Jagster
En fait, j’aimerais l’implémenter pour un grand forum, je veux juste garder l’endroit propre et chacun devrait voir les sujets en fonction de la sélection de son groupe.

D’accord, je vais essayer de vérifier avec Pavilion.

Je voulais le mettre en sourdine, mais le mode normal convient aussi dans ce cas.

Je suis d’accord avec cette approche - une approche moins rigide que l’accès binaire traditionnel / pas d’accès.

Il est souvent utile que les choses soient librement accessibles à ceux qui les recherchent, mais seulement très visibles / notifiées à un groupe restreint de personnes. C’est assez facile à initier dans Discourse, mais difficile à rétracter - je crois que c’est ce que vous cherchez à faire.

Les utilisateurs peuvent bien sûr le faire eux-mêmes, mais ils sont généralement assez inutiles sur ce front.

Malheureusement, le Custom Wizard Plugin 🧙 nécessite une interaction de l’utilisateur pour initier ce genre de choses. Une automatisation (probablement sur mesure) serait nécessaire pour supprimer le statut de surveillance de ceux qui ne font plus partie d’un groupe.

Ou cela doit être une demande de fonctionnalité pour modifier le comportement de base. Il existe déjà quelques demandes de fonctionnalités dans ce sens.

Salut tout le monde,

Merci beaucoup à tous ceux qui ont répondu, en particulier à @Jagster, @NateDhaliwal, @Heliosurge, @thoka et @nathank pour leurs précieux éclaircissements ! Après mûre réflexion, j’aimerais vraiment voir une option pour masquer automatiquement les catégories lorsqu’un utilisateur quitte un groupe.

Je me demandais quelle serait la meilleure façon de demander officiellement cette fonctionnalité pour Discourse ? Existe-t-il un endroit où nous pouvons soumettre des demandes de fonctionnalités, ou s’agirait-il plutôt d’une discussion pour lancer le processus ?

J’ai hâte d’entendre vos réflexions !

Oui, c’est Contribute > Feature :slightly_smiling_face:

Un grand merci à @Canapin et à tous ceux qui ont contribué à la discussion et apporté leurs éclairages ! :raising_hands: