Je suis intéressé par l’ajout d’une option supplémentaire dans le menu « clé à molette » des Actions du sujet. Plus précisément, l’option permettant de changer le statut du sujet en « En attente » (appelons cela « Mettre en attente »).
Le cas d’usage principal serait lorsqu’un sujet contient un contenu qui pose question pour une raison quelconque et qu’il faut y réfléchir davantage pour déterminer la meilleure façon de le traiter. Cliquer sur la clé à molette et changer son statut en « En attente » semble être la méthode la plus efficace, mais je reste bien sûr ouvert à d’autres suggestions.
Ce qu’il souhaite, c’est masquer certains sujets ou messages comme s’ils avaient été détectés par le déclencheur de mots surveillés. Il veut que le message ne soit pas visible par les utilisateurs, mais qu’il soit envoyé dans la file d’examen pour un traitement ultérieur (par exemple, contacter l’utilisateur à propos du message et expliquer pourquoi il est inapproprié).
Attends, donc on parle de publications qui sont déjà dans la file de modération ? Ou de forcer des publications existantes à entrer dans la file de modération ?
S’il n’y a pas de réponses, je suppose que ce ne serait pas trop difficile… @eviltrout ou @Roman savent probablement exactement à quel point cela pourrait devenir compliqué.
Je pense que, une fois que nous le passerons en statut « en attente », nous devrons peut-être supprimer définitivement le sujet et le déplacer vers une autre table.
Je pense que n’importe quel post devrait fonctionner, le sujet est un peu un cas particulier… imaginez simplement que ce post contenait un mot grossier… le brisez et forcez-le dans la file d’examen ?
Oui, n’importe quel post unique devrait être relativement simple (la séquence sera perturbée, mais cela pourrait fonctionner), mais cela devient très compliqué lorsqu’on essaie de traiter un sujet entier qui a reçu des réponses.
Je ne sais pas à quel point c’est un cas d’usage pertinent ? Il semble que ce soit le cas d’après l’OP.
Jane crée un sujet : J’aime manger des guimauves
Jim répond : Ne savez-vous pas… ce site concerne le « pas de guimauves »
Le site traite de bonbons, mais les administrateurs n’aiment pas les guimauves. Il est 5 heures du matin… ils ne peuvent pas gérer cela.
Cliquez sur le bouton… retour à la file d’attente de validation pour le sujet de Jane. Nous pourrons nous en occuper demain.
Le problème est… comment gérons-nous cela ? Que deviennent les horodatages lorsque nous republiions, etc. La file d’attente de révision ne prend pas en charge plusieurs posts en un seul lot.
Je dirais que la « méthode prise en charge » actuelle pour gérer cela est :
« Rendre non listé »
Signaler pour attention des modérateurs afin que personne n’oublie
L’inconvénient est que les gens peuvent toujours le voir s’ils ont l’URL.
Une autre option pourrait être : « supprimer », signaler le contenu supprimé (je ne sais pas si la file d’attente de révision prend en charge cela, mais il pourrait être raisonnable de permettre aux modérateurs de signaler le contenu supprimé).
Oui, une grande différence est qu’ajouter un sujet à la file d’attente avant sa création est beaucoup plus simple qu’après.
Cependant, nous prenons en charge la fonctionnalité de masquage jusqu’à ce que le sujet soit traité dans la file d’attente. @Roman pourra l’estimer lorsqu’il sera de retour la semaine prochaine.
Oui, j’ai essayé et je comprends. Ce n’est pas idéal, mais c’est gérable, je suppose, compte tenu des autres contraintes et problèmes connexes évoqués ci-dessus.
Mon cas d’usage principal concerne la création et l’affichage d’un sujet : j’aimerais mieux qu’il soit détecté par la fonctionnalité Mots surveillés. La plupart du temps, je repère ces sujets dans l’heure qui suit leur création, et ils n’ont souvent pas encore de première réponse. Une idée réalisable pourrait être d’ajouter une option « Mettre en attente » disponible uniquement dans le menu de l’outil pour les sujets qui n’ont pas encore de première réponse ? Juste une idée.
Quoi qu’il en soit, j’utiliserai la procédure « Rendre non listé » si rien de nouveau ne se développe sur ce sujet.
Mettre un sujet en attente signifie supprimer définitivement le message et stocker toutes les données nécessaires pour le recréer dans l’attribut payload de l’élément révisable. J’ai dû réécrire cette partie à plusieurs reprises car j’étais inquiet de perdre des données lors de cette transition à cause des associations marquées avec dependent: :destroy ou dependent: :delete_all. Cependant, après quelques tests, je pense que cela devrait être sûr.
Faire cela lorsqu’un sujet n’a aucune réponse ou lorsqu’il ne s’agit pas du premier message devrait demander un effort faible à modéré. Toute la logique de mise en file d’attente d’un message se trouve dans la méthode NewPostManager#enqueue, nous devrons donc l’extraire dans une classe séparée et la réutiliser. Nous ajoutons toujours les messages en attente à la fin du sujet après approbation, donc les ajouter à une position spécifique demandera un peu plus de travail.
Repasser un sujet avec des réponses en attente devrait être plus compliqué avec cette approche. Le sérialiser dans un élément révisable semble un peu excessif. Pourrions-nous plutôt masquer temporairement le sujet ? Par exemple, nous faisons déjà cela lorsqu’un message est signalé comme spam par un utilisateur de confiance.
Sinon, nous pourrions toujours signaler + supprimer (ou masquer), ce qui rendrait tout beaucoup plus simple. Je ne vois aucune raison pour laquelle la suppression définitive et la mise en file d’attente du message seraient préférables.
J’ai oublié de publier une mise à jour ici. Nous avons ajouté un bouton « Signaler un sujet » dans la fenêtre contextuelle de signalement, à côté de « Agir… ». En cliquant sur le bouton, le sujet est envoyé à la file d’attente et masqué, puis un message est envoyé à l’utilisateur pour l’informer qu’il restera ainsi jusqu’à ce qu’un membre du personnel l’examine.