Plugin de suppression des sujets non répondus

Le plugin Supprimer les sujets sans réponse analyse les catégories désignées à la recherche de sujets existant depuis plus de x jours sans aucune réponse, et les supprime. Cela permet de maintenir votre forum propre en éliminant les sujets qui, pour une raison quelconque, n’ont pas suscité d’intérêt.

Paramètres :

  • delete_unreplied_topics_categories : les catégories à traiter
  • delete_unreplied_topics_days : le nombre de jours après lesquels un sujet sans aucune publication sera supprimé
  • delete_unreplied_topics_dry_run : une mesure de sécurité pour tester et s’assurer que le plugin ne supprimera pas des parties indésirables de votre forum

Le plugin enregistre ses actions dans /logs.

Le dépôt se trouve ici.

Ce travail a été parrainé par @outofthebox.

14 « J'aime »

Excellent travail @RGJ ! Votre développement habile de ce plugin fait gagner un temps précieux et améliore considérablement notre communauté.

8 « J'aime »

Merci d’avoir écrit ceci.

Il serait bien que cela consigne également le titre du sujet, ainsi que son ID (DeleteUnrepliedTopics supprimant l'ID du sujet #{t.id}).

Et ce serait plus rassurant si delete_unreplied_topics_dry_run avait pour valeur par défaut true :slight_smile:

2 « J'aime »

Merci, ce sont des suggestions très utiles. J’ai apporté ces modifications.

5 « J'aime »

J’ai enfin installé ce plugin, pour l’instant en mode simulation. Il semble correctement identifier les sujets à supprimer.

Dans les journaux, chaque ligne du type DeleteUnrepliedTopics supprimerait le sujet ID *nombre* (*titre du sujet*) (mode simulation) est précédée de l’indicateur X pour une « Erreur ». Je m’attendais à ce qu’il s’agisse d’« Info » ou même d’« Avertissement ».

@RGJ, est-ce prévu ? Merci. J’utilise la dernière version de Discourse.

1 « J'aime »

Oui, cela semble être intentionnel. Je me souviens vaguement qu’il y avait un problème avec les niveaux de débogage, alors j’ai choisi de le définir comme une erreur. Désolé pour toute confusion !

4 « J'aime »

Merci d’avoir clarifié cela. Le plugin fonctionne comme prévu, merci — bien que, de manière intéressante, Discourse affiche les sujets non listés comme ayant au moins une réponse (c’est-à-dire l’acte de les rendre non listés), ce qui signifie que votre plugin ne les supprime pas.

1 « J'aime »

Je viens de remarquer que votre plugin ne supprime pas non plus les sujets épinglés, car l’acte d’épingler un sujet est considéré comme une réponse. Il s’avère que c’est une bonne chose.

2 « J'aime »


Savez-vous pourquoi ces messages d’erreur apparaissent ?

Lorsque cela est activé, le plugin enregistrera uniquement ses actions et ne les exécutera pas réellement.

2 « J'aime »

Bonjour,
ce plugin semble être exactement ce que je recherche, mais j’hésite à l’installer car il n’y a eu aucune activité dans le dépôt depuis 4 ans.
Pensez-vous qu’il devrait toujours fonctionner avec la version actuelle de Discourse, ou est-il susceptible de causer des problèmes ?

1 « J'aime »

C’était juste très bien écrit :lunettes de soleil:

Et c’est un plugin très spécifique. Je suis sûr à 99,9 % qu’il fonctionne toujours correctement.
Vous pouvez d’abord le régler sur « simulation à blanc » pour qu’il ne casse rien, si cela vous rassure.

4 « J'aime »

Parfait. Merci pour votre réponse rapide !

1 « J'aime »

@RGJ suite à plusieurs demandes d’autres utilisateurs :

ce plugin que vous avez développé ne pourrait-il pas servir de base à un nouveau plugin qui supprimerait les sujets d’une catégorie particulière s’ils ont plus de N jours, défini par l’utilisateur ?

Si votre plugin scanne déjà les sujets, ne serait-il pas possible de définir des règles indiquant :
Si la catégorie est X, rechercher les sujets dont la date de création et la date actuelle dépassent N jours, et si c’est le cas, les supprimer.

Je ne connais pas les détails de la création et de la modification de plugins, mais ce serait un excellent ajout.

Il suffirait de supprimer une seule ligne. (Ou, évidemment, de créer un paramètre max_replies, par défaut 0, qui pourrait alors être défini sur 99999 pour obtenir l’effet désiré).

Cela dit, je peine à trouver une bonne raison d’utiliser cela.

4 « J'aime »

Un cas d’utilisation auquel je pourrais penser serait peut-être un salon « hors sujet » qui se réinitialise chaque mois. Conçu peut-être pour un défouloir de type « tous azimuts ».

Sinon, je ne suis pas sûr non plus de nombreux cas d’utilisation. De plus, pour l’instant, je pense que c’est uniquement manuel, à moins qu’une automatisation ne puisse être créée. Pour simplement appliquer un minuteur de sujet avec la fonction de suppression ? Je ne me souviens pas s’il donne la possibilité de supprimer le sujet ou s’il ne s’agit que des réponses.

1 « J'aime »

Il y a une discussion sur différents cas ici :

Pour mon cas particulier (similaire à celui d’un des utilisateurs du sujet ci-dessus), je voudrais avoir une catégorie appelée « Petites annonces » pour les musiciens (par exemple, les chanteurs qui veulent trouver des producteurs et vice-versa), mais je ne veux pas que les sujets soient disponibles éternellement, ou qu’ils soient renouvelés simplement en ajoutant une nouvelle réponse. Je veux définir un minuteur, par exemple, où tous les sujets de cette catégorie qui ont 2 semaines sont supprimés, quelles que soient les réponses. De cette façon, les utilisateurs savent qu’ils doivent créer un nouveau sujet, au lieu de simplement ajouter une réponse dénuée de sens comme un emoji, sinon le sujet sera rempli de réponses avec 1 emoji, ce qui est disgracieux. Cela oblige également les utilisateurs qui veulent vraiment trouver des personnes avec qui travailler, à faire l’effort de créer un nouveau sujet. Cela filtre en quelque sorte les personnes trop paresseuses pour créer un nouveau sujet, sauvegarder leur texte sur leur ordinateur ou leur téléphone, etc.

J’espère que cela a du sens ?

Donc, si cela devient un plugin et que j’utilise Communiteq pour mon hébergement, à quel plan devrais-je souscrire pour pouvoir installer le plugin ?

Vous pourriez définir la fermeture automatique des sujets ?

Ce serait le plan Professionnel.

2 « J'aime »

Ce serait moins efficace que votre plugin, car cela permettrait aux anciens sujets d’être visibles alors qu’ils ne sont plus pertinents. Pourquoi voudrais-je des sujets de personnes cherchant des musiciens depuis 3 ans ? Je veux qu’ils soient supprimés.

De plus, fermer le sujet revient au même que votre plugin : cela dépend des réponses, ce qui n’est pas ce que je voudrais. Comme je l’ai mentionné, cela pourrait inciter les utilisateurs à ajouter simplement un commentaire emoji pour que le sujet reste actif.

Je veux essentiellement que les sujets soient supprimés après N jours/semaines, quoi qu’il arrive. Et comme vous pouvez le voir dans le sujet que j’ai partagé, d’autres utilisateurs ont le même besoin. Puisque votre plugin fait déjà quelque chose de similaire, je suppose que créer une version pour supprimer sans tenir compte des réponses ne serait pas un problème majeur et que chaque administrateur pourrait choisir ce qu’il veut pour son forum en fonction de ses besoins.

Mauvaise question, d’ailleurs. Ce que vous voulez est totalement non pertinent. Ce qu’un utilisateur veut est pertinent. Et les sujets ne coûtent rien.

1 « J'aime »