14
Migración de datos académicos de SGA-UNL a Moodle con Python y WebServices Milton Labada | Universidad Nacional de Loja @miltonlab, [email protected] Escuela Politénica Nacional, Quito - Ecuador

Migración de datos académicos SGAUNL a Moodle

Embed Size (px)

Citation preview

Migración de datos académicos de SGA-UNL a Moodle con

Python y WebServices

Milton Labada | Universidad Nacional de Loja@miltonlab, [email protected]

Escuela Politénica Nacional, Quito - Ecuador

Antecedentes● Sistema de Gestión Académica UNL:

– Desarrollado con: Python 2.5 + TurboGears 1.0 + Postgresql 8.4

● Biblioteca de Servicios SGAWebServices (Proyecto de Tesis)

● Entorno Virtual de Aprendizaje:

– Moodle 1.9

...el problema

Necesidad de contar con la información académica del SGA en el EVA.

...la peor solución

y la que no se tomó en cuenta:

1. Descargar la información del SGA en archivos planos2. Cargar la información de archivos planos a Moodle (Incompleta y prácticamente manual)

...la solución inicial

1.Descargar información del SGA en archivos planos2.Instalar un WebService en Moodle que tenga el api para crear información académica.3.Crear un script en Python que use el WebService de Moodle para insertar: Areas, Carreras, Semestres, Paralelos, Materias.

...la solución definitiva

1. Instalar un WebService en Moodle que tenga el api para crear información académica.2. Crear un script en Python que:

a) Se conecte a los WebServices del SGA para extraer la información académica.

b) Se conecte al WebService de Moodle para insertar: Areas, Carreras, Semestres, Paralelos, Materias.

Implementación sga2moodlesga2moodle

Internet

+OK Tech Web ServicesOK Tech Web Services

Scriptsga2moodlesga2moodle

Arquitectura

Implementación sga2moodlesga2moodle

Entindad SGA Entidad Moodle

Oferta Académica (Periodo) Categoria

Area (Academica) Categoria

Carrera Programa (Carrera) Categoria

Modulo (Semestre) Categoria

Paralelo Categoria

Horario Semana (Materia) Curso

Docente Profesor

Estudiante Estudiante

Mapeo SGA - Moodle

Implementación sga2moodlesga2moodle● Web Services SGA utilizados:

– wsinstitucionalwsinstitucional– wsacademicawsacademica– WspersonalWspersonal

● Clases implementadas desde OK Tech WebSerives (wspp):

– categoryDatum– courseDatum– UserDatum

● Modulos python:

– moodsga.pymoodsga.py # Script principal– validadoremail.py # De django.core.validators)– sgaws.cliente.py # Modulo de acceso a los WS SGA– ModelMoodleSGA.py # Mapeador BD intermedia temporal

Implementación sga2moodlesga2moodle● Funcionalidades principales

– load_areas()

– load_carreras()

– load_modulos()

– load_paralelos()

– load_horarios_semana()

– load_users_docentes()

– load_enrol_docente()

– load_users_estudiantes()

– load_enrol_estudiante()

Implementación sga2moodlesga2moodle● Configuración: archivo conf.yml.tmpconf.yml.tmp

Implementación sga2moodlesga2moodle● Librerías utilizadas:

– * Python 2.7+

– * SQLAlchemy 0.6.8

– * SQLAlchemy-Ext 0.6.8

– * SOAPpy

– * python-yaml

– * python-json

...lo que sigue

Necesidad de sincronización de la información y otras cosas mas ...

Créditos● SGA - UNL

– Patricio Valarezo

– René Elizalde

– Manuel Valarezo

– Marco Rojas● SGA WebServices

– Silvana Pacheco

– Daysi Ordoñez

● sga2moodle v 1:

– René Elizalde

– Milton Labanda● sga2moodle v 2:

– Milton Labanda