Migracion de datos
Migracion LearnDash a Moodle
Suite de herramientas para migrar contenido formativo desde WordPress/LearnDash a Moodle.
Context
Dos webs WordPress con LearnDash contenian cientos de cursos, miles de usuarios y anos de progreso acumulado que habia que migrar a Moodle. El contenido estaba almacenado en formatos propietarios (Elementor JSON, metadatos serializados PHP).
Que hace
Pipeline de 6 fases con ficheros intermedios como fuente de verdad: extraccion XML WXR, catalogo JSON, revision visual con drag-and-drop, descarga de recursos multimedia, consolidacion de usuarios por email, e importacion via plugin Moodle con API externa idempotente.
Dificultades principales
- Contenido Elementor almacenado como JSON serializado, no HTML
- HTML lleno de atributos data-* y clases propietarias no portables
- IDs numericos que colisionaban entre multiples webs
- URLs con caracteres especiales que fallaban en descargas
Soluciones
- Parser propio de Elementor JSON a HTML semantico
- Regex sistematica para eliminar scripts/styles/atributos Elementor
- Prefijo por site para desambiguar IDs
- Normalizacion IDNA + URL-encoding selectivo
Aprendizajes
- Automatizar el 90% mecanico y dejar pantalla/CSV para el 10% ambiguo
- Zero dependencias externas simplifica despliegue
- Ficheros intermedios (JSON/CSV) permiten pausar y reanudar la migracion