| Resumen | Escanea, audita y limpia de forma segura los residuos de bases de datos huérfanos dejados por plugins desinstalados. | |
| Enlace al Repositorio | GitHub - canbekcan/discourse-plugin-cleaner · GitHub | |
| Guía de Instalación | Cómo instalar plugins en Discourse | |
| Codificación | Vibe Coding - Gemini |

Características
Cuando desinstalas un plugin de Discourse, a menudo deja datos ocultos en tu base de datos. Con el tiempo, estos “residuos” pueden saturar tu base de datos y complicar el mantenimiento del sitio. Discourse Plugin Cleaner es una herramienta administrativa integral diseñada para identificar y eliminar de forma segura estos datos huérfanos.
Las características principales incluyen:
- Escaneo profundo: Escanea múltiples tablas de la base de datos, incluidos Campos personalizados (Usuario, Tema, Publicación, Categoría, Grupo), Configuración de plugins, Temas, Insignias, Claves de API, Webhooks, Grupos de etiquetas y Cargas.
- Modo de auditoría seguro (Cero eliminación automática): El plugin funciona estrictamente como una herramienta de auditoría hasta que tomas medidas. Nunca eliminará datos automáticamente. Debes seleccionar y confirmar manualmente los elementos que deseas eliminar.
- Evaluación de riesgos: Asigna automáticamente un “Nivel de riesgo” (Crítico, Alto, Medio, Bajo, OK) a los elementos detectados para ayudar a los administradores a tomar decisiones informadas sobre qué es seguro eliminar.
- Seguimiento del historial de versiones: Toma instantáneas de tus plugins instalados al iniciar. Si se elimina un plugin, registra el cambio de estado, creando un registro histórico de qué se desinstaló y cuándo.
- Interfaz de administración moderna: Proporciona un panel de control elegante e intuitivo construido con componentes en modo estricto de Ember para una integración perfecta en la interfaz de administración de Discourse.
Configuración
El plugin funciona de inmediato con configuraciones predeterminadas sensatas. Para usar el plugin:
- Accede al panel de control: Navega a tu panel de administración de Discourse. En la barra lateral, bajo la sección Plugins, haz clic en Plugin Cleaner.
- Ejecuta un escaneo: Haz clic en el botón “Ejecutar escaneo profundo”. El sistema consultará tu base de datos y generará un informe en tiempo real de todos los datos huérfanos que encuentre.
- Revisa los problemas: Navega por las pestañas categorizadas (Campos personalizados, Configuración de plugins, etc.). Presta mucha atención a las columnas
RiesgoyEstado. - Selecciona y limpia: Marca las casillas junto a los elementos huérfanos que deseas eliminar.
- Confirma la eliminación: Haz clic en “Eliminar seleccionados”. Se te pedirá una advertencia de confirmación final antes de que los datos se borren permanentemente. Todas las eliminaciones se registran automáticamente en los Registros de acciones del personal de Discourse para auditoría de seguridad.
(Nota para las cargas: Si se encuentran cargas huérfanas, el plugin te indicará que ejecutes rake uploads:clean desde la consola de tu servidor para recuperar físicamente el espacio en disco).
Configuraciones
Puedes personalizar la estrictitud del escáner a través de las configuraciones de tu sitio.
| Nombre | Descripción |
|---|---|
plugin_cleaner_orphan_threshold |
El número máximo de registros que puede tener un campo personalizado para considerarse “huérfano”. Si un campo personalizado tiene menos registros que este umbral, se marcará para revisión. (Predeterminado: 5, Mín: 1, Máx: 100) |
plugin_cleaner_stale_api_key_days |
El número de días que una clave de API debe estar sin usarse antes de que el escáner la marque como obsoleto/huérfana. (Predeterminado: 90 días, Mín: 7, Máx: 365) |
plugin_cleaner_stale_upload_days |
El número de días que puede existir una carga sin vincular antes de que se marque como huérfana. (Predeterminado: 30 días, Mín: 1, Máx: 365) |
(Nota: Este es el proyecto para entender cómo funcionan los plugins de Discourse)