Je souhaite masquer les sujets sur la page “Latest” (Les plus récents) pour les utilisateurs qui sont membres d’un certain groupe “mauvais”. Je pense que cela peut être fait avec un composant de thème, mais je suis ouvert aux idées. Il s’agit d’un cas d’utilisation unique, et je n’ai pas besoin d’une interface utilisateur pour modifier les paramètres.
Voici un effort similaire, peut-être un point de départ. L’approche consiste à utiliser api.modifyClass pour ajouter une classe aux sujets (les <tr> sur la page “Latest”), puis quelques lignes de CSS pour définir cette classe sur display: none. Je suppose que l’on peut obtenir l’utilisateur dans modifyClass et ajouter la classe si l’utilisateur est membre du groupe “mauvais”.
(Je réalise que cela n’affecte pas leurs permissions, ils peuvent toujours voir le sujet dans la vue Catégories ou Recherche, ils recevront toujours des e-mails, ils pourraient découvrir mon astuce et modifier leur CSS local, etc. Je veux juste créer une nuisance et les amener à agir. Compte tenu de toutes les contraintes, je pense que cette approche fonctionnera.)
Quand en avez-vous besoin ?
Dans les prochaines semaines.
Quel est votre budget, en dollars USD, que vous pouvez offrir pour cette tâche ?
Vous voulez que /latest soit vide pour ces utilisateurs ? Ou masquer uniquement certains sujets ?
Le but est de les ennuyer ? (parce qu’ils ennuient tout le monde ?). Je me demande juste s’il existe une meilleure façon de les ennuyer.
J’ai oublié de mentionner que nous voulons toujours leur permettre de voir un sujet dans leur section “Latest” - les Conditions d’utilisation mises à jour.
Je n’aime pas trop ça non plus, mais c’est le mieux que je puisse proposer. L’objectif est d’amener tous les utilisateurs à signer les Conditions d’utilisation mises à jour, avec une importance plus élevée que d’habitude. Il y a eu une discussion sur How to force existing users to accept ToS, suggérant que la Politique de Discourse pourrait aider. Mais la Politique n’applique rien, et compte tenu de l’importance des nouvelles Conditions d’utilisation, nous voulons plus qu’une bulle bleue pour harceler les utilisateurs. Nous avons fait développer un plugin il y a quelques années pour ajouter des membres à un groupe lorsqu’ils acceptaient une politique, et cela a fonctionné pour certaines choses, mais je ne vois pas comment le faire fonctionner pour cela.
Nous avons déjà un ensemble assez élaboré de groupes et de catégories, nous ne pouvons donc pas simplement modifier les autorisations de chaque catégorie de “tout le monde” à “tos-acceptors”. Si les autorisations de catégorie supportaient la logique booléenne, nous pourrions peut-être modifier les autorisations pour n’autoriser que les utilisateurs qui sont membres à la fois de “premium-group” et de “tos-acceptors”. Mais ce n’est pas supporté.
Je n’ai pas d’opinion tranchée sur la manière de les harceler. S’il y avait une application intégrée de la Politique de Discourse, je l’utiliserais. Mais nous avons besoin de plus qu’une bulle bleue dans ce cas.
J’ai également brièvement envisagé de les rediriger avec un permalien s’ils ne sont pas membres de “tos-acceptors”. C’est toujours une option si nous pouvions ajouter l’identifiant de l’utilisateur ou le nom d’utilisateur à l’URL du permalien sous forme de paramètres de requête. Si nous les redirigeons vers un Docusign ou quelque chose de similaire, je pourrais configurer un webhook pour les ajouter au groupe “tos-acceptors” afin qu’ils arrêtent d’être redirigés. Est-ce que cela vous semble être un meilleur plan ?
Peut-être examiner l’un des composants « Gate » existants et ajuster leurs critères ? Ceux-ci ont des bloqueurs assez gênants et informent les utilisateurs de ce qui est attendu de manière simple et directe.
Vous pourriez être en mesure d’inciter les utilisateurs à accepter les conditions d’utilisation en utilisant certaines des fonctionnalités du plugin Discourse Custom Wizard :
Il est tout à fait possible de définir des conditions en fonction de l’appartenance à un groupe et de modifier l’appartenance à un groupe à partir du résultat de l’assistant.
Un plugin qui permettrait un réglage d’ autorisation complexe pour les catégories serait utile dans de nombreuses situations. C’est peut-être la meilleure façon de consacrer du temps de développement à ce problème ?
Peut-être avec une formule de slug dans un réglage de texte :
par exemple : (#accepteur-tos ou #concerné-directement) et #groupe-premium