En ocasiones en Moodle podemos tener la necesidad de restaurar cursos o cierto contenido de los mismos como ficheros entregados, a partir de los ficheros de backup .mbz. Normalmente este es un proceso muy sencillo pero en ocasiones podemos tener problemas debido al peso del .mbz o que directamente se haya corrompido de alguna manera. Vamos, en este caso a ver cómo podemos abrir este .mbz para sacar del mismo aquellos ficheros que nos interesen.

moodle mbz

 

Renombrar el fichero

Moodle guarda sus copias de seguridad en ficheros .mbz, esto no es más que un fichero .zip o .gzip, por lo que lo primero que tendremos que hacer es renombrar la extensión del mismo para poder abrirlo con cualquier software de compresión. Para mantener una interfaz gráfica podemos optar por 7z.

Encontrar la información

Lo que nos encontraremos dentro de este fichero una vez lo abramos será una gran cantidad de carpetas, ficheros .xml y otros sin extensión que son en sí todo el contenido del curso en cuestión. Vamos a ver paso a paso el procedimiento.

Suponemos que nos encontramos con que en un curso X se ha eliminado alguna entrega por error o que se ha desenrolado a cierto usuario perdiéndose de esta manera sus entregas pasadas y que ahora hay que recuperarlas. Como decíamos en la mayoría de casos un restore normal serviría pero nos encontramos con un .mbz que por algún motivo falla.

1-Accederemos a Moodle a la versión actual de ese mismo curso y a la actividad de la que haga falta recuperar archivos. De esa manera desde la propia URL ya tendremos el código de actividad que sería algo como

cyberseguridad.net/mod/assign/view.php?id=426053

2-Ahora necesitamos el id del usuario para el cual queremos recuperar los ficheros, lo podemos sacar fácilmente desde su perfil, de nuevo sería algo como

cyberseguridad.net/user/view.php?id=9623

3-Con estos datos, en el fichero abierto en el sotfware de compresión, navegamos a la carpeta /activities/assign_426053. Es decir accedemos a la carpeta donde se guardan todas las actividades del curso y a la de la actividad en sí en base al id que hemos sacado en el paso 1.

4-En esta carpeta encontramos el fichero assign.xml, el cual abrimos en el navegador. Ahora buscamos el contenido por la id de usuario que hemos sacado en el paso 2. Encontraremos dentro de etiquetas toda una serie de datos referentes a la entrega de este usuario. De todo ese código nos interesa el submission id que veremos en el siguiente formato

<submission id="231409">

5-Ahora ya con el submission id en nuestro poder navegamos a la raíz de nuestro .mbz renombrado, donde encontramos el fichero files.xml . Este fichero guarda un registro de todos los ficheros relacionados con este curso. Abrimos el files.xml en el navegador y buscamos por el valor del submission id.

En este momento podemos tener uno o más resultados dependiendo de la cantidad de archivos que el usuario haya subido a la actividad en cuestión. La información de cada fichero la encontramos entre etiquetas de cada una de ellas nos interesa el hash de cada archivo, que lo veremos en el siguiente formato

<contenthash>11718d2724eb1ff8af3ed68fd2dfd4e83bc60c44</contenthash>

6-Bueno ya tenemos el hash de cada uno de los ficheros que nos interesa recuperar, vamos a localizarlos. Navegamos ahora a la carpeta files y dentro de ella a la que corresponda con los 2 primeros caracteres del hash obtenido en el paso anterior. En este caso deberíamos acceder a /files/11/

moodle mbz

En esta carpeta encontraremos un archivo sin extensión con el nombre igual al valor del hash. Solo tenemos que copiar ese archivo a cualquier carpeta y añadirle la extensión correspondiente para poder trabajar con el. En el caso de no saber la extensión hay múltiples servicios o maneras de sacarlo, pero esto no lo cubriremos en este artículo.

Espero que os haya servido este Cybertruco para solucionar algún problema, saludos