Gestionar módulos¶
Los módulos se activan y desactivan por organización (tenant), desde el panel de administración o por API.
Desde el panel¶
Administración → Módulos lista los módulos disponibles con su estado, descripción y dependencias. Un tenant_admin gestiona los de su organización; un super_admin puede gestionar los de cualquiera.
En el asistente de configuración ya elegiste un conjunto inicial; puedes cambiarlo aquí en cualquier momento.
Por API¶
# Listar módulos y su estado
GET /api/v1/admin/modules
# Activar (idempotente)
POST /api/v1/admin/modules/mod.gamification/enable
# Desactivar
POST /api/v1/admin/modules/mod.gamification/disable
# Desactivar en cascada (si otros módulos activos dependen de él)
POST /api/v1/admin/modules/mod.courses/disable?force=true
Reglas¶
- Los módulos core no se desactivan. Cursos, aprendizaje, evaluaciones, certificados, grupos de acceso, inscripción, billing, suscripciones… devuelven 422
CORE_MODULE_NOT_DISABLEABLE. - Dependencias: si intentas desactivar un módulo del que dependen otros activos, la API responde
MODULE_HAS_ACTIVE_DEPENDENTS; conforce=truese desactivan en cascada. - Los datos se conservan: desactivar un módulo no borra sus tablas. Al reactivarlo, todo sigue donde estaba.
- Cada cambio queda en el log de auditoría (
admin.module.enabled/admin.module.disabled) y publica un evento de dominio.
Efecto de desactivar un módulo¶
- Sus endpoints (
/api/v1/modules/<slug>/…) responden 403 («El módulo X no está activo para este tenant»), con una caché de estado de ~30 segundos. - Sus entradas de menú y páginas desaparecen de la web para los usuarios de esa organización.
- Sus workers en segundo plano comprueban el estado antes de actuar sobre datos del tenant.
Qué ve el usuario final¶
El frontend consulta GET /api/v1/me/modules, que devuelve los módulos activos de la organización del usuario (y las capabilities Enterprise activas de la instancia). El menú lateral se construye a partir de esa respuesta — no hay menús «muertos».
Módulos de terceros¶
La instalación de módulos externos (ZIP firmado) es una operación de instancia, reservada a super_admin, y se gestiona en Administración → Marketplace. Ver Módulos de terceros.