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