Dar de alta, matricular y desmatricular en cursos de Moodle mediante módulo enrolment

Dar de alta, matricular y desmatricular en cursos de Moodle mediante módulo enrolment

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.

Referencia

Comentarios

Comentario de Victor - 26 de Agosto de 2016 - 17:36
Excelente, funciona muy bien, pero el comando "del", no elimina la matricula del curso, solo le quita el rol de "estudiante", y suspende su matricula. Hay alguna manera que de elimine no solo el rol, sino la matricula realmente?. Gracias de antemano
Ha habido un error en el envío
Comentario enviado. Será revisado por la moderación antes de ser publicado.

Deja tu comentario

Tu nombre:
Tu email:
Tu comentario: