Método para resolverlo:
- Ingresa al servidor donde está alojada la instancia de Moodle.
- Activa el modo de depuración en Moodle desde
Administración del sitio > Desarrollo > Depurador. Selecciona "Información desarrollador". - Reproduce el proceso de transferencia desde SAC a Moodle para identificar los registros generados en el archivo de logs.
- Accede a los registros desde el servidor. Normalmente se encuentran en
/var/log/apache2/error.log(sistemas Linux). - Busca errores relacionados con
"invalidrecord"en la tablacourse. Verifica si hay registros ausentes o errores en la base de datos. - Confirma que el curso con el ID proporcionado (
id_moodle_curso=55343) exista en la tablamdl_coursede Moodle. - Si el curso no está presente, revisa los datos enviados desde SAC para garantizar que contienen toda la información requerida por Moodle.
- Corrige los datos en SAC o ajusta la configuración de la integración para que coincidan con los parámetros esperados.
Causas del problema:
El error invalidrecord ocurre porque Moodle no encuentra un registro específico en la tabla mdl_course. Esto puede deberse a:
- Información incompleta o incorrecta enviada desde SAC.
- Configuraciones incorrectas en el servicio web que conecta SAC con Moodle.
- El curso no fue creado en Moodle debido a errores en el proceso de integración.
Recomendaciones:
- Realiza pruebas de integración con datos ficticios antes de procesar cursos semilla en producción.
- Implementa validaciones en SAC para garantizar que los datos enviados a Moodle sean correctos.
- Configura alertas automáticas en SAC para notificar sobre transferencias fallidas.
Ejemplos y Casos de Uso:
Si estás enviando datos desde SAC y el curso tiene una estructura específica (por ejemplo, plantillas predefinidas), verifica que los campos como fullname, shortname y category estén incluidos en la solicitud. Realiza transferencias individuales para identificar fallos específicos.
Referencias:
- Moodle Docs: Desarrollo y depuración. Disponible en https://docs.moodle.org.