Requisitos del entorno
Requisitos mínimos para integrar y operar los componentes entregados. El campus de referencia corre sobre Docker; los valores son los validados en los entornos del proyecto.
Plataforma
| Componente | Versión | Notas |
|---|---|---|
| Moodle | 5.1+ (branch 501, build 2025-11-27) | El plugin exige requires Moodle 5.0; el sitio objetivo es 5.1 |
| PHP | 8.3 | Imagen moodlehq/moodle-php-apache:8.3 |
| Base de datos | MariaDB 10.11 | Motor del campus |
| Servidor web | Apache (con mod_rewrite) | Provisto por la imagen oficial |
Para compilar assets del tema (solo en build, no en producción)
theme_cdigital incluye módulos AMD (amd/src/*.js) y SCSS. Los amd/build/*.min.js se
versionan en git y se entregan ya compilados, por lo que un despliegue normal no requiere
Node. Solo se necesita el toolkit de build cuando se modifican fuentes JS/SCSS del tema:
| Herramienta | Versión | Uso |
|---|---|---|
| Node.js | ≥ 22.11 | Requerido por Grunt (toolkit dev de Moodle) |
Grunt (vía npx grunt) | el del árbol de Moodle | Compila amd/src → amd/build |
Procedimiento de build: ver Build de assets.
Subsistemas Moodle que deben estar habilitados
| Subsistema | Por qué |
|---|---|
| Completion tracking (curso + actividad) | El Dashboard calcula progreso, pendientes y alertas a partir de la completación; sin él, las métricas devuelven vacío |
| Course completion | Insignia "Misión Cumplida" y conteo de cursos completados del Stats Row |
Logs (logstore_standard) | Racha de aprendizaje, días desde último acceso, analítica ML |
| Web Services + protocolo REST | Card de curso (función get_course_teachers) y, a futuro, el Agente IA |
Analytics (enableanalytics) | ML Backend Python (predicciones) — ver ML Backend |
Plugins de comunidad instalados
Ver Componentes de comunidad para versiones y rol de
block_xp, block_stash y Moodle Badges.
Permisos del árbol de código (despliegue)
El árbol de Moodle del campus usa propietario uid 501 : gid 50, directorios 755 y archivos
644 (legibles por www-data vía los bits de "otros"). Tras copiar código nuevo hay que
re-aplicar este esquema — ver el procedimiento de despliegue.