Sincronizacion-api-classlife-moodle

Consiste en unir Classlife con Moodle de forma unidireccional. Classlife es el Master y Moodle el Slave.

Los alumnos acceden al campus de Classlife y cuando entran en su aula virtual y tienen la sincronización con Moodle activada tienen un enlace externo al aula correspondiente en Moodle para realizar tareas, leer documentos, etc.. No hay auto-login, deben identificarse la primera vez en el campus de Moodle.

Esto significa, a efectos prácticos, que la cosas (matricular, inscribir un alumno en un grupo de un aula, pasar asistencia, gestión financiera, etc..) se realizan en Classlife y algunas acciones (alta de alumnos, añadir a un grupo, etc..) se replican hacia el Moodle para que éste tenga esta información básica.

Requisitos:

  • Tener conexión y permisos con el WebService del Moodle a sincronizar.

  • Un usuario Moodle con permisos Admin para generar una APIKEY en Moodle y permitir la integración con Moodle, así como para realizar Control de Calidad de la sincronización

  • Las aulas en Moodle (con sus contenidos) pueden o no estar creadas

Modos de Integración

1) Integración manual Aula a Aula

Entrando en el aula virtual de Classlife, el administrador determina qué aula virtual de Classlife se sincronice con Moodle

  • Si el AULA ya está creada en el Moodle (moodleAulaId), el administrador debe indicar en el aula virtual de Classlife ese identificador.

  • Si el AULA no está creada en el Moodle, el profesor o administrador ejecuta la sincronización y el proceso crea automáticamente el Aula en Moodle, las Asignaturas, Grupo de matrícula y toda la jerarquía académica y ese identificador recién creado (moodleAulaId) lo enlaza al aula virtual de Classlife.

2) Integración automática Global

Activando esta opción tenemos la opción de sincronizar/replicar todo el árbol académico de Classlife en Moodle y mantenerlo sincronizado.

Además, si creamos una aula virtual nueva en Classlife automáticamente se creará en Moodle.

La sincronización es AULA a AULA

  1. Siempre se sincroniza AULA a AULA, pues las aulas están enlazadas

  2. A partir de ese momento desde Classlife se enviará hacia Moodle:

    • Los alumnos del aula y si en Moodle no existieran, se crean

    • Los profesores del aula y si en Moodle no existieran, se crean

    • La asignación / desasignación de los alumnos y profesor a esa aula concreta.

  3. Cuando el profesor considere podrá importar desde Moodle hacia Classlife lo siguiente:

    • La asistencia del aula de Moodle y traerla a Classlife

    • El resumen de notas de Moodle y traerlas a Classlife

    • Las rúbricas (notas) de las actividades (ítems evaluables) de Moodle y traerlas a Classlife

    Esta operación se realiza dentro del aula virtual de Classlife que está enlazada con un aula de Moodle.

  4. Al crear un nuevo Alumno o Profesor en Classlife

    • Si no existe en Moodle lo creará con sus datos básicos (Nombre, apellido, email)

  5. Al modificar los datos de un expediente de Alumno o Profesor

    • Actualizará en Moodle sus datos básicos (Nombre, apellido, email)

  6. Al bloquear un Alumno en Classlife

    • Se bloqueará el alumno en el Moodle.

  7. Modificar (suspender / reactivar) una matrícula en Classlife

    • Se marcará al alumno como ( suspendido / activo ) dentro del Aula (sin eliminar al alumno)

Creación del TOKEN en MOODLE

  1. Habilitar servicios Web y habilitar protocolos: REST/SOAP/RPC usuarios, cursos, contenido

  2. Crear un usuario: classlife/soporte@classlife.education / pwd (única)

  3. Crear un Rol "classlife-rol" de Servicio web, activar todos los contextos, y en permitir/capacidad como el Arquetipo Gestor

  4. Asignar el usuario a ese rol

  5. Crear un Servicio externo: "classlife-service"

  6. Agregar funciones a ese servicio:

    1. core_user_*

    2. core_group_*

    3. core_course_*

    4. core_role_*

    5. core_enrol_*

    6. enrol_manual_*

  7. Seleccionamos el usuario creado para este servicio (usuarios autorizados)

  8. Crear token "classlife-token" para el servicio "classlife-service"

  9. Comprobar el Servicio en /admin/webservice/testclient.php

  10. Testeo de API en Postman

Última actualización