Plugins y componentes
Mapa de los plugins de terceros y propios que forman la Academia y cómo se relacionan.
Esta página da el mapa general. El detalle de cada plugin propio (clases, páginas, eventos, funciones) está en Desarrollo.
Mapa de relaciones
Moodle 4.5 LTS (core)
┌──────────────────────────────────┼──────────────────────────────────────┐
│ │ │
Tema y presentación Contenido y evaluación IA y servicios web
theme_boost_union mod_interactivevideo (videos) local_ai_manager (proveedor)
dataformat_delta* mod_quiz + quizaccess_deltagate ▲ parches: perfil + agente
(Excel/Word/PDF) mod_customcert + local_deltacerts block_ai_chat (interfaz)
mod_hvp (H5P) tiny_ai (editor)
block_sharing_cart webservice_mcp (agente MCP)
│
▼
local_deltamodules (núcleo de la Academia)
estándar de módulos · reglas · constructor e importador de módulos · personal
equipos · clientes · reportes · correo · revisión anual · avisos al administrador
lista blanca de administración · portada · agente de IA · niveles de IA
│
▼
local_candidate_enrollment (personas y selección)
crear colaborador · cargos → perfil + ruta · postulantes y códigos
recuperación de contraseña sin correo · incorporar postulante al equipoMoodle core
- Repositorio oficial
moodle/moodle, clonado en un commit exacto (89ae02d0…) de la rama 4.5 LTS con el scriptgit-at. - La versión 4.5 LTS es una decisión cerrada: las librerías H5P tuvieron una actualización en octubre de 2024 que rompió las versiones anteriores a 4.3, sin corrección para ellas.
- Todos los plugins propios declaran
requires = 2024100700(Moodle 4.5).
Funciones nativas de Moodle en las que se apoya la Academia: cohortes y matriculación por cohorte (rutas por cargo y empresas cliente), finalización de actividades y cursos, disponibilidad condicional, Report Builder (informes personalizados), Políticas y acuerdos (tool_policy, aviso de datos personales), verificación en dos pasos (tool_mfa), recorridos guiados (tool_usertours) y servicios web REST.
Plugins de terceros
Todos se incluyen en la imagen. Los que se clonan con git-at quedan en un commit exacto: un cambio del autor no altera la imagen ni desactiva en silencio un parche. Para actualizar uno se cambia el commit en el Dockerfile y se prueba.
| Plugin | Ruta | Versión fijada | Uso en la Academia |
|---|---|---|---|
theme_boost_union | theme/boost_union | commit 3d2b7132… | Tema corporativo (colores, fuente, SCSS, logos) |
mod_hvp | mod/hvp | commit 6527ec55… + submódulo h5p-php-library | Contenido H5P interactivo |
mod_interactivevideo | mod/interactivevideo | commit e5c60168… | Videos de YouTube con interactividad; completado al verlos hasta el final |
mod_customcert | mod/customcert | commit 84cb6dfa… | Certificado que usan los módulos (plantilla "Certificado Deltamontero") |
tool_certificate | admin/tool/certificate | commit 71bf23b4… (sin element/program, que requiere Moodle Workplace) | Base de mod_coursecertificate; sus páginas quedan solo para el super administrador porque no se usa |
mod_coursecertificate | mod/coursecertificate | commit 2a2a10d5… | Instalado; no es el certificado de los módulos |
local_ai_manager | local/ai_manager | etiqueta v1.1 (la v2.0 exige Moodle 5.0) | Gestiona proveedor, modelo, cuotas por nivel y propósitos de IA |
tiny_ai | lib/editor/tiny/plugins/ai | etiqueta v1.0 | Dependencia de block_ai_chat (IA en el editor TinyMCE) |
block_ai_chat | blocks/ai_chat | etiqueta v1.0 | Interfaz del chat de IA (botón flotante y panel) |
block_sharing_cart | blocks/sharing_cart | commit 2e5cef49… | Compartir actividades entre cursos |
webservice_mcp | webservice/mcp | commit 198246e5… | Protocolo MCP sobre los servicios web (/webservice/mcp/server.php) |
local_ai_manager, tiny_ai y block_ai_chat se clonan por etiqueta (git clone --branch), no por commit. Una etiqueta puede moverse en el repositorio de origen; si eso ocurre, la imagen cambiaría sin aviso. verify-patches.php detectaría que los parches del chat no se aplicaron, pero no otros cambios.
Traducciones: los plugins de terceros que no traen español reciben sus cadenas desde infrastructure/moodle/lang/es/. El paquete de idioma oficial y las personalizaciones del sitio tienen prioridad.
Plugins propios
| Plugin | Ruta en Moodle | Versión | Qué hace |
|---|---|---|---|
local_deltamodules | local/deltamodules | 2026100701 | Núcleo de la Academia (ver abajo) |
local_candidate_enrollment | local/candidate_enrollment | 2026100700 (1.0.0) | Crear colaboradores por cargo, postulantes y códigos de la prueba técnica, recuperación de contraseña sin correo, incorporación de postulantes |
local_deltacerts | local/deltacerts | 2026082700 | Bloquea automáticamente un certificado nuevo hasta completar el curso (con interruptor global); en los módulos de la Academia respeta la regla del estándar |
quizaccess_deltagate | mod/quiz/accessrule/deltagate | 2026092400 | Candado real de cuestionarios: nadie salvo el super administrador inicia un intento sin cumplir la disponibilidad (por ejemplo, ver el video), aunque su rol ignore las restricciones |
dataformat_deltaxlsx, dataformat_deltadocx, dataformat_deltapdf | dataformat/ | 2026092400 | Descargas con el formato institucional en Excel, Word y PDF |
local_deltamodules por dentro
| Área | Elementos principales |
|---|---|
| Estándar de módulos | standard (aplicado al desplegar y al crear o editar actividades), rules (regla general y reglas propias por módulo), health (revisión y reparación de módulos, incluida la disponibilidad de los videos en YouTube) |
| Creación de módulos | builder (curso, secciones, videos interactivos y certificado desde JSON), importer y template (desde PDF, Word, Excel, CSV o JSON, con los parsers Python de la imagen), ai_author (propone objetivos y preguntas de repaso como borrador) |
| Personas | people, people_import (Excel de Talento Humano), access (módulos desactivados por persona), team (equipos y rol de líder) |
| Clientes | clients (empresas cliente como cohortes cli_*, códigos de registro, vencimiento) |
| Reportes | reports, report_builder, report_export, report_pdf |
| Correo | mailer (cola, límites, registro, enlaces de un solo uso) |
| IA | ai_role_injector, ai_agent (con cédulas, RUC y correos ocultos al proveedor), ai_tiers, policies (condiciones de uso) |
| Privacidad | privacy\provider (proveedor de privacidad completo: declara, exporta y borra o desvincula los datos personales de sus tablas) |
| Plataforma | hook_callbacks (navegación, sin caché del navegador, avisos al super administrador), admin_access (lista blanca de administración), landing (portada), student_view, tours, manual |
Tareas programadas, que ejecuta el contenedor moodle-cron:
| Tarea | Horario | Función |
|---|---|---|
send_mail | Cada minuto | Entrega la cola de correos respetando los límites |
mail_reminders | Lunes 09:00 | Recordatorio de módulos pendientes |
review_reminder | Día 1 de cada mes, 08:00 | Aviso de la revisión anual obligatoria |
client_expiry | Todos los días, 01:30 | Suspende a los usuarios de empresas cliente cuyo acceso venció |
Funciones de servicio web: local_deltamodules_create_module (crear un módulo completo desde JSON; requiere moodle/course:create), local_deltamodules_get_next_activity, local_deltamodules_exam_strike (cuenta en el servidor los cambios de pantalla de un examen) y local_deltamodules_get_completed_cmids.
Plugins previstos que no existen todavía
| Plugin | Estado en el repositorio |
|---|---|
local_team_management | Carpeta vacía (solo .gitkeep). La gestión de equipos se implementó dentro de local_deltamodules (Equipos y "Mi equipo"). |
local_dify_sync | No existe. Es el conector previsto para la Fase 5 (ver Inteligencia artificial). |
rag-service/ | Carpeta vacía (solo .gitkeep). |
Parches sobre código de terceros
La Academia modifica puntos concretos de Moodle y de plugins de terceros durante la construcción de la imagen, con scripts patch-*.php idempotentes. La lógica vive en los plugins propios; los parches solo insertan la llamada. La lista completa y cuáles detienen el build está en Contenedores.
Configuración automática
Qué pasa en cada arranque del contenedor moodle, desde la espera de la base de datos hasta el aviso de errores al super administrador.
Roles y permisos
Perfiles de la Academia, roles personalizados de Moodle, rutas por cargo, lista blanca de administración y super administradores.