Cuando trabajamos con Moodle, una de las interactuaciones desde una aplicación externa más interesantes con Moodle es poder dar matricular y desmatricular en cursos y también poder dar de alta usuarios en Moodle de manera externa.
Dar de alta usuarios en Moodle
La alta de usuarios es bastante sencillo ya que simplemente deberemos añadirlo a la base de datos con el formato que Moodle requiere en la tabla mdl_user cuyo contenido más destacado es el siguiente:
- id: identificador único dentro del sistema, debe ser número y autoincremental, por ejemplo el valor en la consulta SQL debería ser NULL
- auth: con valor "manual", especifica el método de autenticación
- confirmed: valor 1, especifica si se ha confirmado el alta
- username: nombre de usuario
- password: contraseña guardada mediante hash MD5
El resto de campos su contenido es bastante obvio.
Matricular y desmatricular usuarios en cursos
Dado que es bastante complicado dar de alta en cursos usuarios, deberemos utilizar el módulo enrolments de Moodle para hacerlo mediante la creación de un archivo con un formato determinado.
En primer lugar deberemos activarlo como administrador desde Moodle en la opción: Courses -> Enrolments -> Flat file
Después buscaremos la ruta donde deberemos generar el fichero. Por defecto se encuentra fuera de la raíz pública de archivos, en el archivo moodledata/1/enrolments.txt
El siguiente paso es generar el archivo en texto plano en el formato correspondiente:
add, student, idnumber_mdl_user1, idnumber_mdl_course1 del, student, idnumber_mdl_user2, idnumber_mdl_course5
Donde idnumber_mdl_user1 corresponde con el campo idnumber de la tabla mdl_user del usuario correspondiente y idnumber_mdl_course1 es el campo idnumber del curso en la tabla mdl_course. Atención, desde Moodle deberemos rellenar correctamente estos campos, ya que no pueden estar vacíos.
En ese archivo generado en primer lugar añadiremos al usuario 1 al curso 1 como estudiante y borraremos al usuario 2 del curso 5 como estudiante.
El último paso es llamar al archivo que ejecuta el cron periódico de mantenimiento de Moodle para forzar la actualización:
http://HOST/admin/cron.php
Si tuviéramos algún error en la configuración, se indicaría en este fichero.
Comentarios