Plugin Cleaner

:information_source: Zusammenfassung Scannt, überprüft und bereinigt sicher verwaiste Datenbankreste, die durch deinstallierte Plugins hinterlassen wurden.
:hammer_and_wrench: Repository-Link GitHub - canbekcan/discourse-plugin-cleaner · GitHub
:open_book: Installationsanleitung So installieren Sie Plugins in Discourse
:computer: Programmierung Vibe Coding - Gemini

![Screenshot 2026-03-29 at 04.57.52|690x404](upload://8sCSzrLcoN2qM3GO7zgz0Vz8f1w.png)

Funktionen

Wenn Sie ein Discourse-Plugin deinstallieren, hinterlässt es oft versteckte Daten in Ihrer Datenbank. Im Laufe der Zeit kann dieser „Rest" Ihre Datenbank überladen und die Wartung der Site erschweren. Discourse Plugin Cleaner ist ein umfassendes Verwaltungstool, das entwickelt wurde, um diese verwaisten Daten sicher zu identifizieren und zu entfernen.

Hauptfunktionen umfassen:

  • Tiefgehender Scan: Scannt mehrere Datenbanktabellen, einschließlich benutzerdefinierter Felder (Benutzer, Thema, Beitrag, Kategorie, Gruppe), Plugin-Einstellungen, Themes, Abzeichen, API-Schlüssel, Webhooks, Tag-Gruppen und Uploads.
  • Sicherer Audit-Modus (Kein automatisches Löschen): Das Plugin arbeitet strikt als Audit-Tool, bis Sie aktiv werden. Es löscht niemals automatisch Daten. Sie müssen die zu entfernenden Elemente manuell auswählen und bestätigen.
  • Risikobewertung: Weist erkannten Elementen automatisch ein „Risikoniveau" (Kritisch, Hoch, Mittel, Niedrig, OK) zu, um Administratoren bei fundierten Entscheidungen darüber zu unterstützen, was sicher gelöscht werden kann.
  • Versionsverlauf-Verfolgung: Erstellt beim Start Schnappschüsse Ihrer installierten Plugins. Wird ein Plugin entfernt, wird die Zustandsänderung protokolliert, wodurch eine historische Aufzeichnung darüber entsteht, was wann deinstalliert wurde.
  • Moderne Admin-Oberfläche: Bietet ein elegantes, intuitives Dashboard, das mit Ember-Strict-Mode-Komponenten erstellt wurde, um sich nahtlos in die Discourse-Admin-Oberfläche zu integrieren.

Konfiguration

Das Plugin funktioniert ab Werk mit sinnvollen Standardwerten. Um das Plugin zu verwenden:

  1. Dashboard aufrufen: Navigieren Sie zu Ihrem Discourse-Admin-Dashboard. Klicken Sie in der Seitenleiste im Abschnitt Plugins auf Plugin Cleaner.
  2. Scan ausführen: Klicken Sie auf die Schaltfläche „Tiefen-Scan ausführen". Das System durchsucht Ihre Datenbank und erstellt einen Echtzeitbericht über alle gefundenen verwaisten Daten.
  3. Probleme überprüfen: Blättern Sie durch die kategorisierten Registerkarten (Benutzerdefinierte Felder, Plugin-Einstellungen usw.). Achten Sie besonders auf die Spalten Risiko und Status.
  4. Auswählen und Bereinigen: Setzen Sie ein Häkchen neben die verwaisten Elemente, die Sie entfernen möchten.
  5. Löschen bestätigen: Klicken Sie auf „Ausgewählte löschen". Sie werden vor dem endgültigen Löschen der Daten noch einmal zur Bestätigung aufgefordert. Alle Löschungen werden automatisch in den Discourse-Staff-Aktivitätsprotokollen zur Sicherheitsüberprüfung protokolliert.

(Hinweis für Uploads: Wenn verwaiste Uploads gefunden werden, weist Sie das Plugin an, rake uploads:clean von Ihrer Serverkonsole auszuführen, um physisch Festplattenspeicher zurückzugewinnen).

Einstellungen

Sie können die Strenge des Scanners über Ihre Site-Einstellungen anpassen.

Name Beschreibung
plugin_cleaner_orphan_threshold Die maximale Anzahl von Datensätzen, die ein benutzerdefiniertes Feld haben darf, um als „verwaist" zu gelten. Wenn ein benutzerdefiniertes Feld weniger Datensätze als diese Schwelle hat, wird es zur Überprüfung markiert. (Standard: 5, Min: 1, Max: 100)
plugin_cleaner_stale_api_key_days Die Anzahl der Tage, die ein API-Schlüssel ungenutzt bleiben muss, bevor der Scanner ihn als veraltet/verwaist markiert. (Standard: 90 Tage, Min: 7, Max: 365)
plugin_cleaner_stale_upload_days Die Anzahl der Tage, die ein nicht verknüpfter Upload existieren darf, bevor er als verwaist markiert wird. (Standard: 30 Tage, Min: 1, Max: 365)

(Hinweis: Dies ist das Projekt, um zu verstehen, wie Discourse-Plugins funktionieren)

2 „Gefällt mir“

Viele gute Plugins erstellen und verwalten eigene Tabellen. Wenn ich mir Ihren Code ansehe, bin ich mir nicht sicher, ob Sie dies bereits berücksichtigt haben?

Ihre Herausforderung besteht darin, dass die Migration verschwindet, sobald Sie das Plugin entfernen.