POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
Moodlemoot spain 2013. actualización a moodle 2 enfoque técnico
1. Actualización a Moodle 2:
Enfoque técnico
Moodlemoot España 2013
26, 27 y 28 de Septiembre
2. ¿Quién soy?
Juan Leyva (jleyva@cvaconsulting.com)
Moodle Developer (desde 2003), actualmente trabajando @ CV&A
Consulting
Desarrollador de Moodle Mobile (aplicación oficial para Android y iOs)
Desarrollador de los siguientes plugins:
● Configurable Reports
● jmail
● LTI Provider
● Anonymous posting in forums, Collaborative real-time editor,
ConfigTabs, Forum discuss subscription,
3. Antes de empezar a actualizar
Saber de dónde partimos y hacia dónde vamos I
¿Nuestra versión de Moodle tiene modificaciones en el código fuente?
¿Nuestra versión de Moodle tiene plugins añadidos?
¿Tenemos un tema gráfico propio hecho a medida?
4. Antes de empezar a actualizar
Saber de dónde partimos y hacia dónde vamos II
¿Disponemos de integraciones con sistemas de gestión internos?
¿Realmente necesitamos actualizar?
¿No podríamos empezar desde una versión limpia?
5. Antes de empezar a actualizar
Saber de dónde partimos y hacia dónde vamos III
¿Hemos echado un vistazo a la versión de Moodle a la que queremos
actualizar?
¿Necesitamos todos los plugins o modificaciones que teníamos en
Moodle 1.9?
¿Realmente necesitamos un tema gráfico personalizado? ¿No nos basta
con los que permiten añadir el logo y colores por configuración?
¿Podemos utilizar los Webservices (si disponíamos de algún tipo de
conexión)?
6. Antes de empezar a actualizar
Entorno de trabajo
En un proceso de actualización a Moodle 2 desde 1.X hay que trabajar
siempre sobre un entorno replicado
Podemos crear una máquina virtual o instalar la copia en un entorno local
(si tenemos sitio)
Dupliquemos base de datos, moodledata, archivos y reconfiguremos el
config.php
Conviene conservar el mismo dominio que el entorno original
7. Antes de empezar a actualizar
Detectando anomalías I
Verifiquemos si hay plugins o modificaciones en el código fuente
version.php - Mirar el build y obtener una copia desde git (o github) para
ese build.
Realizar un diff recursivo para obtener archivos modificados y
directorios/archivos añadidos
8. Antes de empezar a actualizar
Detectando anomalías II
Verifiquemos si hay modificaciones en el esquema de la base de datos
Exportar el esquema de la base de datos (mysqldump) y compararlo con
uno del mismo build (instalación limpia).
La herramienta diff nos puede servir
9. Antes de empezar a actualizar
Paremos y pensemos
Ahora ya sabemos si nuestro Moodle tiene modificaciones y plugins.
Si pensábamos lo contrario, es hora de parar y pensar el motivo de dichas
modificaciones y esos plugins.
¿Realmente necesitamos las modificaciones? No lo cubre Moodle 2
específicamente o mediante un camino alternativo
¿Realmente necesitamos los plugins? ¿Se han usado? ¿Existe versión
para Moodle 2?
10. Antes de empezar a actualizar
Escogiendo el método de actualización I
1. Estándar: Actualización directa sobre la base de datos actual
Sería el método tradicional de actualización
1.9.x -> 1.9.last -> 2.2 -> 2.5
11. Antes de empezar a actualizar
Escogiendo el método de actualización II
2. Traspaso: Actualización sobre la base de datos actual y traspaso a
instalación limpia
1. Hacer una instalación limpia de 2.5
2. Actualizar nuestra instalación a 2.5
3. Exportar usuarios
4. Realizar copias de seguridad de los cursos
5. Importar cursos sobre la instalación limpia de 2.5
12. Antes de empezar a actualizar
Escogiendo el método de actualización III
El método estándar requiere un gran trabajo previo a actualizar de:
- Limpieza de esquema de base de datos
- Eliminación archivos huérfanos
- Limpieza del Moodledata
- Arreglos código HTML no limpio
13. Antes de empezar a actualizar
Escogiendo el método de actualización IV
El método estándar requiere un gran trabajo posterior de:
- Cambio a InnoDB como motor de transacción (en caso de MySQL)
- Verificación del esquema contra uno limpio
- Análisis de archivos desvinculados
14. Antes de empezar a actualizar
Escogiendo el método de actualización V
El método de traspaso requiere más trabajo a la hora de mover datos pero
garantiza una instalación limpia.
El traspaso se puede automatizar programando un backup completo de la
plataforma por cron o similar en Moodle y luego implementando un
sistema de restore masivo de backups
15. Actualizando
Lanzando el proceso de actualización
Desde 1.8 ó 1.9 se requiere actualizar a la última versión estable de 1.9
previamente a la actualización
Conviene lanzar la actualización por consola utilizando las herramientas
CLI (upgrade.php) Así evitamos los timeouts del navegador y posibles
problemas de conexión.
Posteriormente a la actualización, quizá convenga convertir módulos
antiguos a módulos nuevos (assignment a assign)
16. Posteriormente a la actualización
Verificando
Verificar el esquema de la base de datos contra uno limpio
Activar slowqueries (en el caso de MySQL)
Ejecutar los informes de seguridad, rendimiento, posibles problemas de
Moodle
Purgar todas las cachés de Moodle
Habilitar los modos de desarrollador y mostrar mensajes en pantalla para
realizar un análisis de navegación del campus
17. Posteriormente a la actualización
Verificando
En el caso de haber realizado desarrollos a medida, conviene realizar
profiling de los mismos
Activar slowqueries (en el caso de MySQL)
Moodle dispone de soporte nativo para XHProf
http://tjhunt.blogspot.com.es/2013/05/performance-testing-moodle.html
18. Posteriormente a la actualización
A tener en cuenta
Si Moodle está en un cluster, hay que activar Memcache para evitar
problemas de lectura/escritura en disco
Comprobar si la sesión en disco o en base de datos es un cuello de
botella en la instalación
Realizar test de usuarios y un análisis de carga (pruebas de estrés) si
fuese necesario dado que Moodle 2 es más lenta que 1.9
19. Posteriormente a la actualización
Revisar y tener en cuenta las nuevas
funcionalidades
Sistemas de caché: Memcache, MongoDB
Moodle Mobile, requiere activar los servicios web de Moodle
WebServices: Permite la integración de sistemas externos con Moodle