250 likes | 460 Views
Dr. David Roldán Martínez Analista del ASIC Universidad Politécnica de Valencia http://moodle-vs-sakai.blogspot.com. Migración de Sakai 2.4.x a Sakai 2.6.x Lecciones aprendidas. Érase una vez…. En el curso 2006-2007 pusimos en explotación Sakai 2.1.2 con el nombre de PoliformaT.
E N D
Dr. David Roldán Martínez Analista del ASIC Universidad Politécnica de Valencia http://moodle-vs-sakai.blogspot.com Migración de Sakai 2.4.x a Sakai 2.6.xLecciones aprendidas
Érase una vez… • En el curso 2006-2007 pusimos en explotación Sakai 2.1.2 con el nombre de PoliformaT. • Junto con la 2.1.2, hicimos algunos desarrollos propios.
Érase una vez… • En el curso 2007-2008 migramos a la versión 2-4-x.
Érase una vez.. • En el curso 2009-2010 acabamos de migrar a la 2-6-x.
¿Qué será, será…? • Futuro: ¿Sakai 3.0?
Gestión de cursos – Generación y sincronización MATRÍCULA REPOSITORIO GENERACIÓN COURSE MANAGEMENT CONFIGURACIÓN SINCRONIZACIÓN
Gestión de cursos - Implementación • Hay tres formas de proporcionar datos a la CM: • Sincronización a través de un trabajo de Quartz. • Acceso directo a los datos de matrícula. • Federación de múltiples fuentes de datos.
Control de actualizaciones SVN SERVIDORES DE EXPLOTACIÓN SERVIDOR INTERMEDIO FLAG DE DESPLIEGUE
Gestión de versiones SVN Sakai_2-4-x upv_2-4-x Se hace el merge de Sakai_2-4-x a upv_2-4-x de desarrollo Revisión Copia inicial de la Revisión Se genera parche para Sakai_2-4-x Puesto de trabajo
Gestión de versiones • Problemas: • Proceso complejo tendente a errores • Documentación • Cada cambio se registraba en un documento de word • Las actualizaciones se marcan en el documento
Y llegó el momento de migrar… • Empezamos migrando los contenidos de bbdd a sistema de ficheros • Seguimos con la migración de Melete • Y empezamos a preparar la del resto de Sakai CONTENT_RESOURCE CONTENT_RESOURCE_BODY_BINARY RESOURCE_ID RESOURCE_ID RESOURCE_UUID BODY IN_COLLECTION FILE_PATH XML
Preparando la migración (bbdd) • Creamos una copia de la bbdd que teníamos en explotación (2.4.x) • Pasamos los scripts de migración a esta copia • 2.4 a 2.5 • 2.5 a 2.6 Migración Explotación 2.4 2.6 2.4 a 2.5 2.5 a 2.6
Preparando la migración (código) • Revisamos el documento de word con el registro de cambio y creamos un excel para: • Comprobar los cambios que había que volver a hacer. • Crear un JIRA si el cambio estaba pendiente en Sakai (o actualizarlo). • Estimar las horas empleadas en los cambios PARA LA NUEVA VERSIÓN.
Preparando la migración (código) • Problemas: • Dificultad para reproducir algunos cambios • No nos acordábamos del tiempo que empleamos y la estimación se hizo “a ojo”. • Es un proceso manual, con muchos cambios afectando a varias revisiones -> difícil seguimiento y muy fácil equivocarse. • Solución: intentar ser lo más riguroso posible.
Preparando la migración (código) • Había que decidir si dejábamos el código en un repositorio público (msub) o seguíamos con una estructura como la de la 2.4.x VENTAJAS INCONVENIENTES • Nos evitamos labores de mantenimiento • Seguridad • Es más sencillo aplicar parches y actualizaciones • Problemas legales • Cualquiera puede contribuir
Preparando la migración (código) • No podíamos parar mientras tomábamos la decisión. • Copia local de la 2.6.x para aplicar los cambios de la Excel (nos repartimos las herramientas). • Los parches de cada herramienta y se aplicaron a una versión parcheada de la 2.6.x “común para todos” (mi servidor de desarrollo). /sakai_2-6-x 1. Copia local de la 2.6.x 2. Nos repartimos las herramientas 3. Parches locales 4. Parche completo /upv_2-6-x
Preparando la migración (código) • El cambio era registrado en una Excel y en GREGAL • Cuando nos decidimos por el svn público, copiamos una 2.6.x y aplicamos el parche completo. • Como había cambios en el kernel, hicimos lo mismo. /sakai_2-6-x msub/es.upv/PoliformaT
Preparando la migración (pruebas) • Cada desarrollador era responsable de comprobar el funcionamiento del cambio antes de subirlo al repositorio. • Paralelamente, dos becarios probaban las herramienta una por una. • También contamos con la ayuda del CAU.
Preparando la migración (pruebas) • Errores cometidos: • Falta de definición de una batería de pruebas potente: • SE quedan algunas funcionalidades sin probar • Difícil comprobar (y comparar) los “efectos colaterales”. • Consecuencias: • Roces con el CAU por no tener claras las responsabilidades de cada uno. • Fallos en el paso a explotación
Preparando la migración (pruebas) • Soluciones en marcha: • Para cada herramienta, estamos haciendo una batería de pruebas en la que se especifica qué, cómo y el resultado de cada prueba. • Baterías automatizadas con Jmeter (pruebas de carga)
…aunque tenemos problemas pendientes • Carga excesiva de los servidores • Problemas de prestaciones con Samigo
Lecciones aprendidas • Importancia de tener bien registrados los cambios “upv” realizados. • Fundamental ser riguroso en las pruebas • Recomendable estar atento las listas de correo de Sakai. • ¡Necesitamos más recursos!
Preguntas, dudas, sugerencias darolmar@upvnet.upv.es http://moodle-vs-sakai.blogspot.com