Massenschließen alter Themen älter als x?

Hallo,

Ich habe ein Forum von XenForo nach Discourse migriert und möchte nun viele alte Beiträge schließen. Gibt es eine Möglichkeit, “alle Themen älter als x Monate schließen” zu sagen? Ich habe dies bereits in der Kategorie eingestellt, aber es funktioniert nur für neue Themen.

2 „Gefällt mir“

Sie könnten versuchen, diese Einstellung in den Kategorieeinstellungen zu verwenden:

Ich bin mir nicht sicher, ob dies rückwirkend Dinge schließt, aber es ist einen Versuch wert.

Mein anderer Gedanke war, einen erweiterten Filter zu verwenden und ein Vorher-Datum festzulegen:

Von dort aus können Sie Massenaktionen für die angezeigten Themen verwenden.

4 „Gefällt mir“

Sie können Themen in großen Mengen mit Performing bulk actions as a moderator schließen.
Aber je nachdem, wie viele Themen Sie schließen möchten, ist Administrative Bulk Operations möglicherweise die bessere Wahl.

7 „Gefällt mir“

Ja, es gäbe etwas Ähnliches, wie kann ich es auf eine Kategorie eingrenzen?

2 „Gefällt mir“

Sie können die Kategorie-ID finden und sie dann als zusätzliche Bedingung im Befehl verwenden. Schließen Sie beispielsweise alle offenen Themen in der Kategorie „Allgemein“, die vor dem 24. September erstellt wurden:

cat_id = Category.find_by_slug('general').id
Topic.where(closed: false).where("created_at < '2024-09-24'").where(category_id: cat_id).find_each do |topic|
  topic.update_status('closed', true, Discourse.system_user)
end

Diese Art von Operationen macht mich immer ein wenig nervös. Stellen Sie sicher, dass Sie ein Backup Ihrer Datenbank erstellen, bevor Sie sie ausführen, falls etwas schief geht. Es könnte auch eine gute Idee sein, eine Art Vorabprüfung durchzuführen, um sicherzustellen, dass Sie die richtigen Daten bearbeiten. Eine Möglichkeit, dies zu tun, wäre die Rückgabe der count von Themen, auf die die Operation angewendet wird. Zum Beispiel:

Topic.where(closed: false).where("created_at < '2024-09-24'").where(category_id: cat_id).count
4 „Gefällt mir“

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.