Migración de cursos en Moodle

Moodle desde la versión 2.6 permite subir cursos a través de un archivo CSV, lo cual facilita enormemente la tarea de migración de cientos o miles de cursos de una instalación de Moodle a otra…

En mi caso concreto lo que se me ha ocurrido para migrar todos los cursos de golpe de una instalación antigua y obsoleta de Moodle a otra distinta, posterior y actualizada, es realizar un backup programado de todos ellos a una carpeta específica para poder localizarlos facilmente (backup_auto_destination), copiarlos o moverlos a una carpeta a la que el servidor web de la nueva instalación pueda acceder (en mi caso moodledata/migracion).

A continuación construimos el CSV con el nombre corto (shortname), el nombre largo (fullname), el ID de la categoría en el que queramos situarlos (category) y la ruta absoluta del archivo mbz (backupfile).

Para realizar esto de forma rápida y sencilla, lo que se me ha ocurrido es realizar una consulta SQL a la antigua tabla mdl_course de los campos ID, shortname y fullname, y posteriormente mediante comandos en la terminal y fórmulas en la hoja de calculo localizar los nombres completos de los archivos MBZ para cada ID de curso, concatenando a este la ruta absoluta del archivo en su nueva ubicación.

Una vez tengamos la hoja de calculo, lo guardamos a CSV y se lo cargamos a Moodle a través de la página «subir cursos» (quitándole el campo ID en mi caso para que me elija automáticamente el siguiente al haber previamente otros cursos en la nueva instalación).

Aclarar que con respecto a la forma de construir el CSV, es lo primero y más rápido que se me ha ocurrido para emparejar cada curso con su archivo de backup ya que este contiene en el nombre la fecha de realización y no en todos es la misma según la configuración de la programación, y por el ID del curso no me resultaba muy difícil identificarla. Otra opción que había barajado es renombrar todos los archivos de backup a un nombre más corto conteniendo poco más que el ID, pero por velocidad descarté esta opción y opté por la primera.

Con respecto a los campos que podemos utilizar en el CSV, hay muchos más, que podemos consultar en la documentación oficial de Moodle (solo shortname, fullname y category son obligatorios), pero en mi caso concreto preferí que los heredara del backup del curso…

Deja un comentario