Les plugins peuvent-ils permettre une visibilité sélective des réponses dans les sujets, et comment en créer un ?

Bonjour la communauté,

Discourse est un excellent forum avec de nombreuses fonctionnalités. Je cherche à savoir s’il existe un moyen de permettre aux utilisateurs de sélectionner manuellement le public de leurs réponses à un sujet particulier. Bien que je sois conscient qu’il existe un merveilleux plugin « discourse-private-reply » qui peut limiter la visibilité des réponses au créateur du sujet, je recherche une solution plus granulaire.

Pour clarifier, en supposant que je rédige une réponse dans un sujet, j’aimerais pouvoir créer une liste blanche d’utilisateurs qui peuvent voir ma réponse avant de cliquer sur le bouton « POSTER ». Essentiellement, je veux m’assurer que seuls les utilisateurs que j’ai sélectionnés peuvent voir ma réponse, tandis que tous les autres ne le peuvent pas.

Personnellement, je suis un développeur avec quelques compétences en programmation, mais je n’ai jamais travaillé sur le développement de plugins Discourse auparavant. S’il n’existe pas de plugins ou d’outils qui peuvent fournir le niveau de contrôle que je recherche, j’apprécierais grandement tout conseil ou toute orientation sur l’approche de développement, tels que quel « processus » je devrais accrocher ou quelles API je devrais appeler afin d’obtenir la fonctionnalité souhaitée.

Toutes suggestions ou idées seraient grandement appréciées. Merci de votre temps et de votre aide !

5 « J'aime »

Avec la nécessité d’un accès aussi granulaire, vous pourriez avoir besoin de considérer si un sujet public ordinaire est la meilleure solution. Peut-être pourriez-vous en dire un peu plus sur votre cas d’utilisation spécifique ?

Un bon point de départ serait en effet mon plugin private-replies. Il a une fonction appelée can_see_post_if_author_among qui prend actuellement un sujet. Vous devriez la modifier pour qu’elle prenne un message. Vous devriez stocker les utilisateurs autorisés avec le message dans un champ personnalisé, puis vérifier l’utilisateur qui consulte par rapport à cette liste.

Le plugin remplace également la logique de contrôle d’accès pour les messages bruts, la recherche, les vues de sujets et l’activité du profil utilisateur.

Cela dit, je m’attends à ce que vous rencontriez pas mal de problèmes, tant du point de vue des performances que de l’expérience utilisateur, et surtout si vous n’avez aucune expérience dans le développement de plugins Discourse, cela peut représenter un défi considérable. Je vous recommanderais donc à nouveau d’examiner si c’est la meilleure approche pour votre cas d’utilisation.

7 « J'aime »

Merci pour votre réponse rapide et pour avoir partagé vos réflexions sur ce sujet. J’aimerais donner un exemple d’utilisation où un enseignant attribue différentes tâches à chaque élève et leur demande de publier leurs réponses (rapports) sur un forum Discourse. Dans ce scénario, 1) l’enseignant doit pouvoir voir la réponse de chaque élève, et 2) certains élèves peuvent vouloir garder leurs réponses privées tandis que d’autres recherchent des commentaires, des retours et des interactions. De plus, 3) les enseignants peuvent fournir des commentaires qui ne conviennent pas à une visualisation publique.

Ce besoin de contrôle sur les publications peut également s’appliquer à d’autres situations, telles que des employés rédigeant des rapports mensuels ou des patients tenant des journaux de rétablissement. Pour abstraire, il s’agit de répondre aux demandes de contrôle des utilisateurs plutôt que d’avoir des modérateurs qui planifient tout à l’avance. Ceci est particulièrement important pour les petites communautés axées sur la production de contenu de haute qualité.

Bien que Discourse soit une excellente plateforme pour les grandes communautés avec des milliers d’utilisateurs, c’est aussi une excellente option pour construire des communautés plus petites et raffinées qui encouragent la réflexion approfondie et la discussion détaillée. Les utilisateurs devraient avoir plus de contrôle sur leurs publications bien rédigées.

Concernant le développement d’un plugin pour cette fonctionnalité, j’apprécie votre préoccupation concernant l’équilibre entre les performances et l’expérience utilisateur. Au lieu de créer immédiatement un plugin compliqué, une meilleure approche serait de maximiser les fonctionnalités existantes. Par exemple, en créant une catégorie avec plusieurs sous-catégories, chacune correspondant à une tâche, et en demandant aux élèves de soumettre leur travail à la sous-catégorie appropriée. Cela permet de contrôler chaque sujet, et les créateurs peuvent choisir de rendre leurs sujets publics ou visibles par des groupes d’utilisateurs spécifiques. Prendre de telles mesures progressives peut aider à réduire la charge de travail et à valider plus facilement l’efficacité de la fonctionnalité.

En bref, donner aux utilisateurs plus de contrôle sur leurs publications est essentiel pour créer des communautés de niche avec un contenu et un engagement de haute qualité. Cela permettra non seulement de nourrir ces communautés, mais aussi d’étendre les utilisations potentielles de Discourse. C’est une nouvelle façon d’explorer ce que Discourse peut faire.

Merci de m’avoir donné l’occasion d’en discuter avec vous. :slightly_smiling_face:

2 « J'aime »

C’est exactement pour cela que le plugin a été créé. Il vous suffit de gérer les points #2 et #3 avec des messages privés ou le chat.

Les créateurs peuvent déjà choisir entre des réponses visibles ou non visibles, et le plugin peut également être configuré pour que les réponses soient visibles par les personnes du même groupe principal que le créateur.
En utilisant différentes catégories avec des droits d’accès différents, vous pouvez contrôler davantage qui peut voir l’intégralité du sujet et qui ne le peut pas.

Encore une fois, je ne suis pas convaincu que ces changements soient nécessaires. Ils ne feront qu’ajouter de la complexité, tant pour les utilisateurs que pour la maintenance du plugin.

Je tiens à préciser que mon intention n’était pas de suggérer des modifications à discourse-private-reply. Je comprends qu’il offre une fonctionnalité précieuse pour contrôler la visibilité des publications. Merci pour la discussion à ce sujet.

2 « J'aime »

Oui, vous avez raison, je me suis mal exprimé, désolé pour cela. Mais mon conseil tient toujours : ne résolvez pas cela à l’aide d’une technologie complexe, résolvez-le en modifiant légèrement le processus.