Plugin zum Löschen unbeantworteter Themen

The Delete Unreplied Topics plugin scans designated categories for topics that exist over x days which did not get any replies, and deletes them. This keeps your forum clean of topics that did not gain any traction for whatever reason.

Settings:

  • delete_unreplied_topics_categories the categories to work on
  • delete_unreplied_topics_days the amount of days before a topic without any posts will be deleted
  • delete_unreplied_topics_dry_run a safety net to test and make sure the plugin will not delete unwanted parts of your forum

The plugin logs its actions in /logs.

The repository can be found here.

This work has been sponsored by @outofthebox.

14 „Gefällt mir“

Amazing work @RGJ! Your skillful development of this plugin is a huge time saver and greatly improves our community.

8 „Gefällt mir“

Thank you for writing this.

It would be good if it would log the topic title as well as ID (DeleteUnrepliedTopics removing Topic ID #{t.id}).

And it would be more reassuring if delete_unreplied_topics_dry_run would default to true :slight_smile:

2 „Gefällt mir“

Thank you, those are very useful suggestions. I have made those changes.

5 „Gefällt mir“

I finally installed this plugin, so far in dry run mode. It seems correctly to identify the topics to delete.

In the logs each line like DeleteUnrepliedTopics would remove Topic ID *number* (*topic title*) (dry run mode) is preceded by the X indicator for an “Error”. I’d have expected it be “Info” or even “Warning”.

@RGJ Is that expected? Thanks. I’m using the latest version of Discourse.

1 „Gefällt mir“

Yes, that seems to be by design. I vaguely remember that there was some issue with debug levels so I made it to be an error. Sorry for any confusion!

4 „Gefällt mir“

Thanks for clarifying that. The plugin works as expected, thanks - though, interestingly, unlisted topics are displayed by Discourse as having at least one reply (i.e. the act of unlisting) which means your plugin does not delete them.

1 „Gefällt mir“

Ich habe gerade bemerkt, dass Ihr Plugin auch angeheftete Themen nicht löscht, da das Anheften eines Themas als Antwort betrachtet wird. Das erweist sich als gute Sache.

2 „Gefällt mir“


Wissen Sie, warum diese Fehlermeldungen angezeigt werden?

Wenn dies aktiviert ist, protokolliert das Plugin nur seine Aktionen und führt diese nicht tatsächlich aus.

2 „Gefällt mir“

Hallo,
dieses Plugin scheint genau das zu sein, wonach ich suche, aber ich bin etwas besorgt, es zu installieren, da es seit 4 Jahren keine Aktivität mehr im Repository gab.
Glauben Sie, dass es mit der aktuellen Discourse-Version noch funktionieren sollte oder wahrscheinlich etwas kaputt macht?

1 „Gefällt mir“

Es war einfach sehr gut geschrieben :sunglasses:

Und es ist ein sehr spezifisches Plugin. Ich bin mir zu 99,9 % sicher, dass es immer noch korrekt funktioniert.
Sie können es zuerst auf „Dry Run“ stellen, damit es nichts kaputt macht, wenn Ihnen das Trost spendet.

4 „Gefällt mir“

Perfekt. Danke für die schnelle Antwort!

1 „Gefällt mir“

@RGJ basierend auf mehreren Anfragen von anderen Benutzern:

könnte dieses Plugin von Ihnen nicht als Grundlage für ein neues Plugin verwendet werden, das Themen in einer bestimmten Kategorie löscht, wenn sie älter als N Tage sind, vom Benutzer festgelegt?

Wenn Ihr Plugin bereits Themen scannt, wäre es dann nicht möglich, einige Regeln festzulegen, die besagen:
Wenn Kategorie X ist, suche nach Themen, bei denen das Erstellungsdatum und das aktuelle Datum mehr als N Tage auseinander liegen, und lösche sie gegebenenfalls.

Ich kenne die Einzelheiten der Erstellung und Änderung von Plugins nicht, aber dies wäre eine großartige Ergänzung.

Es wäre eine Frage des Entfernens einer einzigen Zeile. (Oder offensichtlich das Erstellen einer Einstellung max_replies, Standard 0, die dann auf 99999 gesetzt werden kann, um den gewünschten Effekt zu erzielen).

Dennoch fällt mir kein guter Anwendungsfall dafür ein.

3 „Gefällt mir“

Ein Anwendungsfall, der mir einfällt, wäre vielleicht eine Lounge, die jeden Monat zurückgesetzt wird. Gedacht für eine Art Ventil, ein Freifahrtschein.

Ansonsten bin ich mir auch nicht sicher, was die Anwendungsfälle angeht. Außerdem denke ich, dass es derzeit nur manuell funktioniert, es sei denn, man könnte eine Automatisierung erstellen. Um einfach einen Themen-Timer mit der Löschfunktion anzuwenden? Ich erinnere mich nicht, ob es die Option gibt, das Thema zu löschen, oder ob es nur Antworten sind.

1 „Gefällt mir“

Es gibt hier eine Diskussion über verschiedene Fälle:

Für meinen speziellen Fall (ähnlich wie bei einem der Benutzer im obigen Thema) möchte ich eine Kategorie namens „Kleinanzeigen“ für Musiker (z. B. Sänger, die Produzenten suchen und umgekehrt) haben, aber ich möchte nicht, dass Themen für immer verfügbar sind oder nur durch Hinzufügen einer neuen Antwort erneuert werden. Ich möchte einen Timer einstellen, zum Beispiel, wo alle Themen in dieser Kategorie, die 2 Wochen alt sind, gelöscht werden, unabhängig von den Antworten. Auf diese Weise wissen die Benutzer, dass sie ein neues Thema erstellen müssen, anstatt nur eine bedeutungslose Antwort wie ein Emoji hinzuzufügen, da das Thema sonst mit 1 Emoji-Antworten gefüllt wird, was schlecht aussieht. Es zwingt auch Benutzer, die wirklich Leute zum Arbeiten finden wollen, sich anzustrengen und ein neues Thema zu erstellen. Dies filtert sozusagen Leute heraus, die zu faul sind, ein neues Thema zu erstellen, ihren Text auf ihrem Computer oder Handy usw. zu speichern.

Ich hoffe, das ergibt Sinn?

Wenn dies tatsächlich ein Plugin wird und ich Communiteq für mein Hosting verwende, auf welchem Plan müsste ich sein, um das Plugin installieren zu können?

Könnten Sie die Themen automatisch schließen lassen?

Das wäre der Professional-Plan.

2 „Gefällt mir“

Dies wäre weniger effektiv als Ihr Plugin, da es alten Themen erlauben würde, sichtbar zu sein, wenn sie nicht mehr relevant sind. Warum sollte ich Themen von Leuten wollen, die vor 3 Jahren nach Musikern gesucht haben? Ich möchte, dass sie gelöscht werden.

Außerdem ist das Schließen des Themas dasselbe wie bei Ihrem Plugin: Es hängt von Antworten ab, was ich nicht möchte. Wie ich bereits erwähnt habe, wäre dies anfällig dafür, dass Benutzer nur einen Emoji-Kommentar hinzufügen, um das Thema aktiv zu halten.

Ich möchte im Grunde nur, dass Themen nach N Tagen/Wochen gelöscht werden, egal was passiert. Und wie Sie am geteilten Thema sehen können, haben andere Benutzer denselben Bedarf. Da Ihr Plugin bereits etwas Ähnliches tut, würde ich annehmen, dass die Erstellung einer Version, die unabhängig von den Antworten löscht, keine große Sache wäre und jeder Administrator basierend auf seinen Bedürfnissen auswählen könnte, was er für sein Forum möchte.

Falsche Frage, übrigens. Was Sie wollen, ist völlig irrelevant. Was ein Benutzer will, ist relevant. Und Themen kosten nichts.

1 „Gefällt mir“