Formatos de descarga
Plugins dataformat_deltaxlsx, dataformat_deltadocx y dataformat_deltapdf, que agregan Excel, Word y PDF con el formato institucional a todos los menús de descarga de Moodle.
Tres plugins de tipo dataformat hacen que cualquier menú de descarga de Moodle (página Reportes, Informes personalizados, tablas de Moodle) ofrezca el formato institucional de Deltamontero.
| Componente | Nombre visible | Extensión | Tipo MIME | Método que dibuja el archivo |
|---|---|---|---|---|
dataformat_deltaxlsx | Excel (formato Deltamontero) | .xlsx | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet | local_deltamodules\report_export::xlsx() |
dataformat_deltadocx | Word (formato Deltamontero) | .docx | application/vnd.openxmlformats-officedocument.wordprocessingml.document | local_deltamodules\report_export::docx() |
dataformat_deltapdf | PDF (formato Deltamontero) | .pdf | application/pdf | local_deltamodules\report_export::pdf() |
| Dato común | Valor |
|---|---|
| Carpeta en el repositorio | plugins/dataformat/deltaxlsx, deltadocx, deltapdf |
| Ruta en la imagen | /var/www/html/dataformat/delta* |
| Versión | 2026092400 (release 1.0) |
| Dependencia | local_deltamodules >= 2026092404 (declarada en version.php) |
| Archivos | version.php, classes/writer.php, classes/privacy/provider.php, lang/en, lang/es |
Implementación
Cada classes/writer.php extiende \core\dataformat\base y acumula las filas en memoria en lugar de escribirlas en flujo:
| Método | Comportamiento |
|---|---|
send_http_headers(), start_output(), start_output_to_file() | No hacen nada: las cabeceras se envían al final. |
start_sheet($columns) | Guarda las columnas. |
write_record($record, $rownum) | Agrega la fila ya formateada (format_record). |
close_output() | Llama al método de report_export y envía el archivo al navegador. |
close_output_to_file() | Llama al método con $this->filepath como destino y devuelve true. |
El formato (logo, datos de la empresa, tabla de control del documento, Tahoma, colores) se describe en Reportes.
Como las filas se guardan en memoria, una descarga muy grande consume memoria del proceso PHP (el Dockerfile fija memory_limit=512M).
Activación
configure-dataformats.php (paso cosmético de moodle-config.sh, en cada arranque) deja en los menús solo CSV (datos puros) y los tres formatos institucionales: desactiva los genéricos de Moodle (Excel, ODS, HTML, JSON y PDF sin formato) para que no haya dos "Excel" ni dos "PDF", y ordena la lista (dataformat_plugins_sortorder). Solo desactiva los genéricos si los institucionales están instalados.
quizaccess_deltagate
Regla de acceso de cuestionarios que hace real el candado de disponibilidad, también para los perfiles que se saltan las restricciones.
Plugins de terceros
Moodle y los plugins de terceros incluidos en la imagen, con su versión o commit fijado, los ajustes de instalación y los parches que se les aplican.