Academia Deltamontero · Documentación
Desarrollo

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.

ComponenteNombre visibleExtensiónTipo MIMEMétodo que dibuja el archivo
dataformat_deltaxlsxExcel (formato Deltamontero).xlsxapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheetlocal_deltamodules\report_export::xlsx()
dataformat_deltadocxWord (formato Deltamontero).docxapplication/vnd.openxmlformats-officedocument.wordprocessingml.documentlocal_deltamodules\report_export::docx()
dataformat_deltapdfPDF (formato Deltamontero).pdfapplication/pdflocal_deltamodules\report_export::pdf()
Dato comúnValor
Carpeta en el repositorioplugins/dataformat/deltaxlsx, deltadocx, deltapdf
Ruta en la imagen/var/www/html/dataformat/delta*
Versión2026092400 (release 1.0)
Dependencialocal_deltamodules >= 2026092404 (declarada en version.php)
Archivosversion.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étodoComportamiento
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.

En esta página