Esto evita errores, puede ocurrir que no toda la base de datos utilice la misma codificación de caracteres y da problemas con el despliegue te texto en español, por ej.
i. Ejecutar un dump
mysqldump -uroot -p -c -e --default-character-set=utf8 --single-transaction --skip-set-charset --add-drop-database -B moodleeva2 > moodleeva2-migrando-utf.sql
ii. Convertir
Abrir el archivo con vim:
vim moodleeva2-migrando-utf.sql
y luego:
:%s/DEFAULT CHARACTER SET latin1/DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci/ :%s/DEFAULT CHARSET=latin1/DEFAULT CHARSET=utf8/ :x
iii. Crear la base de datos con la codificación correcta
mysql -u root -p -e "CREATE DATABASE moodleeva2 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci"
iv. Inyectar los datos
mysql -u root -p moodleeva2 < moodleeva2-migrando-utf.sql
1. Software
2. Instalar módulos php necesario:
sudo apt-get install php5-intl php5-cli
Nota: Lo que puede hacerse para saber los requerimientos, es ir a: http://<url-de-moodle>/admin/environment.php y cambiar la versión de moodle en la lista desplegable. De esta forma se informará sobre los requerimientos para dicha versión.
Código para borrado de disco:
sudo rm -rf /usr/share/moodleeva2/mod/bigbluebutton && sudo rm -rf /usr/share/moodleeva2/mod/dimdim && sudo rm -rf /usr/share/moodleeva2/mod/feedback && sudo rm -rf /usr/share/moodleeva2/mod/hotpot && sudo rm -rf /usr/share/moodleeva2/mod/openmeetings && sudo rm -rf /usr/share/moodleeva2/mod/journal && sudo rm -rf /usr/share/moodleeva2/mod/lams4. Idem filtros (se borran del disco):
rm -rf /usr/share/moodleeva2/filter/geshi5. Idem bloques (se desinstalan y borran del disco):
sudo rm -rf /usr/share/moodleeva2/blocks/graph_stats && sudo rm -rf /usr/share/moodleeva2/blocks/admin_alertEn FCS se algunos módulos estandar provocaban errores y se quitaron:
6. Idem temas (se elige un estándar) (en FCS borramos TODOS los temas excepto el estandar cargado, daban errores algunos templates por defecto)
sudo /usr/share/moodleeva2/theme && sudo rm -rf agraria agraria2 artistica artistica2 ciencia ciencia2 entorno entorno2 interior interior2 salud salud2 social social2 udelar2
Dio error al actualizar "Courses" con "report" y borré carpeta
..course/report
7. Respaldo archivos y base
archivos:
sudo cp -R /usr/share/moodleeva2 /usr/share/moodleeva2-antes-de-migrar
El var/lib no es necesario, pues no lo modifiqué en el procedimiento; lo puedo volver a tomar de los respaldos.
base:
cd ~ && mysqldump -u root -p moodleeva2 | gzip > base-moodle-antes-de-migrar.sql.gz
8. Descargo y descomprimo php de moodle 2.2.x
Obs: Hay que actualizar primero a 2.2.x y luego a la última 2.x que exista (por ejemplo 2.3.1 hoy)
wget http://download.moodle.org/download.php/direct/stable22/moodle-latest-22.tgz tar -xf moodle-latest-22.tgz
9. Copio los archivos
sudo mv /usr/share/moodleeva2 /usr/share/moodleeva2.old sudo mv ~/moodle /usr/share/moodleeva2
y colocar los parámetros correctos de config.php
importante: copiar el hash de "pasword salt" para que funcionen las contraseñas
10. Script de actualización
10.a Vía web
Ir a la URL de moodle con el navegador y se advierte sobre la actualización. Hay que ser paciente y ver cómo la actualización se va desplegando hacia abajo. Puede durar varias horas.
10.a Por línea de comandos
OBS: utilizar lo siguiente a través de screen1 porque dura bastante y para prevenir la caída de la conexión
sudo -u www-data /usr/bin/php /usr/share/moodleeva2/admin/cli/upgrade.php --non-interactive
1 Screen es un manejador de consolas virtuales que entre otras cosas permite recuperar una consola en caso que se corte la conexión. Más información en: https://help.ubuntu.com/community/Screen
Para que ande LDAP tiene que estar instalado el módulo php
sudo apt-get install php5-ldap
Cuidado ! Si hay cambio de URL, se vuelve necesario 2 cosas:
mysqldump -u user -p moodle2 > moodle2.sql
cp moodle2.sql moodle2.sql.backup
sed -i "s|url-vieja|url-nueva|g" moodle2.sql
mysql -u user -p -e "DROP DATABASE moodle2" mysql -u user -p -e "CREATE DATABASE moodle2 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci"
mysql -u user -p moodle2 < moodle2.sql
Es una recomendación cambiar a InnoDB que aparece en "Notificaciones":
Luego existe un script en el propio moodle para hacerlo. Por tanto, hay que:Las tablas de la base de datos están utilizando el motor MyISAM: se recomienda usar un motor compatible con ACID que permita transacción completa, tal como InnoDB.
sudo -u www-data /usr/bin/php admin/cli/mysql_engine.php --engine=InnoDB
La ejecución del script en el EVA Central dura aproximadamente 3 horas.
El módulo Radius que viene con moodle, no toma nombre y apellido de los estudiantes, de modo que ellos, al autenticarse la primera vez pueden colocar otro nombre diferente al que figura en el sistema de bedelías.
Algunos docentes de Facultad de Ingeniería, escribieron una mejor y a su vez lo migraron para moodle 2.x. Su nombre es auth_seciu2.
El mismo está disponible en el espacio de archivos de este mismo proyecto: http://proyecto.data.cse.edu.uy/projects/redeva/files (ir hasta la parte correspondiente a moodle 2.x)
Prerrequisitos:Instalación: Al descomprimir el archivo encontrará un README.txt con las instrucciones de instalación.
Tareas post instalación: Una cosa que puede hacer, es transformar todas las autenticaciones radius a SECUI. Si se tiene acceso a la Base de Datos puede ejecutarse lo siguiente:
UPDATE moodle.mdl_user SET auth = 'seciu2' WHERE auth = 'radius';
Me confirman de Facultad de Psicología, la actualización de la 2.2.x a la 2.4.x sin problemas. Por tanto el procedimiento sería:
Si llegan a aparecer problemas en el despliegue del menú principal, puede deberse al caché de AJAX y Javascript. Para corregirlo, deshabilitar los caches en: <raiz-de-moodle>admin/settings.php?section=ajax
Luego todo funcionará y se puede volver a activar.
Parece que no actualiza las tareas a la nueva api de tareas. Para ello pruebo en ir a la url: <url-de-moodle>/admin/tool/assignmentupgrade/listnotupgraded.php
y actualizo todas las tareas