Configurar la conexión con Moodle para formación
Smartosh permite transmitir datos de formación entre Smartosh y Moodle. Smartosh calcula las formaciones que debe realizar cada persona según los EPIs que usa, el puesto que ocupa, el centro de trabajo, etc. A partir de ese cálculo, da de alta al usuario en Moodle, lanza la convocatoria y posteriormente recoge la fecha de asistencia y los resultados de las evaluaciones cuando proceda.
El circuito de necesidades de formación es idéntico al de las necesidades de formación manuales: la generación de certificados y el resto de pasos se rigen exactamente por las mismas normas.
Requisitos previos en Moodle
Sección titulada «Requisitos previos en Moodle»Aunque la configuración interna de Moodle queda fuera del alcance de esta guía, hay puntos imprescindibles para que la integración funcione:
- Habilitar los servicios web (extensiones en Moodle).
- Crear un usuario, un conjunto de servicios y un token que se usará en la conexión.
- Los protocolos definidos deben ser REST y XML-RPC.
- Las condiciones de finalización del curso deben estar correctamente definidas en Moodle, ya que es Moodle quien determina si un usuario ha completado un curso.
El detalle de estas operaciones está explicado en la documentación oficial de Moodle: Web service settings.
Configurar la conexión en Smartosh
Sección titulada «Configurar la conexión en Smartosh»Cada conexión relaciona de forma biunívoca un curso de un servidor de Moodle concreto con una convocatoria de Smartosh.
Paso previo: definir la convocatoria
Sección titulada «Paso previo: definir la convocatoria»Antes de crear la conexión, debe existir en Smartosh la formación y la convocatoria que se van a relacionar con Moodle. Se recomienda definir una convocatoria con una formación y una sesión formativa para simplificar la gestión.
Crear la conexión
Sección titulada «Crear la conexión»Acceder a Configuración → Conexión Moodle y cumplimentar los siguientes campos:
| Campo | Descripción |
|---|---|
| Nombre | Nombre interno con el que se identifica esta conexión. |
| Formación | Se escoge entre las formaciones definidas en Smartosh. |
| Convocatoria | Solo se pueden seleccionar convocatorias que incluyan la formación del campo anterior. |
| URL del servicio | Suministrada por el administrador de Moodle. Página donde se lanza la petición del webservice. |
| Token | Token para acceder al servicio, definido en Moodle. |
| Identificador de la formación en Moodle | Número que identifica el curso en Moodle. |
| Estado | Al lanzar la operación pasa a Importando y al finalizar muestra: Finalizada con error, Finalizada con advertencias o Finalizada correctamente. |
| Email para notificación de errores | Si está definido, cuando un proceso diario detecta errores se envía un aviso por correo (sin detalle; hay que consultar el historial). |
| Moodle exclusivo para este tenant | Activa avisos adicionales que solo tienen sentido cuando los empleados de Smartosh coinciden con los de Moodle. |
| Desactivado | Si está marcado, el proceso nocturno no se ejecuta. Aún así puede lanzarse la conexión manualmente. |
| Historia | Detalle de las fechas y resultados de cada ejecución. |
| Funciones | Reservado para usos futuros y otras versiones de Moodle. |
Ejecutar la sincronización
Sección titulada «Ejecutar la sincronización»Una vez configurada la conexión Moodle, la formación, la convocatoria y las parametrizaciones necesarias en Moodle (cursos, encuestas, etc.), el proceso de sincronización puede lanzarse de tres formas:
- Automáticamente cada noche mediante el proceso
ConexionDatosWorker.SincronizarTodasConexiones, siempre que el check Desactivado esté desmarcado. - Manualmente desde Configuración → Conexiones Moodle, usando la operación Realizar Conexión. Al finalizar se muestra el resultado en la Historia de la conexión.
- Desde Formación → Convocatorias, seleccionando una convocatoria con una conexión Moodle activa. Aparece el botón Sincronizar con Moodle y una pestaña con el estado y el historial.
El proceso de traspaso se divide en dos bloques claramente diferenciados: exportación de participantes hacia Moodle y recogida de resultados desde Moodle.
Bloque 1: exportar participantes a Moodle
Sección titulada «Bloque 1: exportar participantes a Moodle»El sistema revisa todas las necesidades de formación marcadas como No Convocadas para la formación vinculada a la conexión y, para cada una, ejecuta:
1. Búsqueda del empleado en Moodle
Sección titulada «1. Búsqueda del empleado en Moodle»La aplicación busca al empleado en Moodle usando el identificador que tiene en Smartosh (DNI, NIE, etc.). La búsqueda se hace por:
- Identificador = username
- Identificador = IdNumber (campo adicional de Moodle)
- email = email de Smartosh
Si no se encuentra al empleado, Smartosh envía a Moodle los siguientes datos para darlo de alta:
- Username (identificador)
- Password (generado por la aplicación)
- Nombre
- Apellido 1
- Email (obligatorio en Moodle y no puede duplicarse; el sistema lo verifica)
- Identificador
- Orden de reiniciar el password en el primer acceso
En el log se registra: Usuario {Nombre y apellido1} ({Identificador}) - alta en el sistema.
2. Matriculación en el curso
Sección titulada «2. Matriculación en el curso»Se comprueba si el empleado ya está matriculado en el curso. Si no lo está, la aplicación lo matricula.
En el log se registra: Usuario {Nombre y apellido1} ({Identificador}) - matriculación en el curso en Moodle.
3. Actualización en Smartosh
Sección titulada «3. Actualización en Smartosh»La necesidad de formación se actualiza con la convocatoria y la fecha de convocatoria, y queda marcada como En Curso.
En el log se registra: Usuario {Nombre y apellido1} ({Identificador}) - convocado en SmartOSH.
4. Notificación por email al usuario
Sección titulada «4. Notificación por email al usuario»A cada empleado convocado se le envía un email, salvo que tenga marcado el check “Desactivar envío de emails”:
- Usuario nuevo → plantilla «Alta de usuario en Moodle», con usuario y password para iniciar la formación.
- Usuario existente, nueva formación → plantilla «Matriculación en Moodle».
Bloque 2: recoger resultados desde Moodle
Sección titulada «Bloque 2: recoger resultados desde Moodle»La aplicación consulta a Moodle los participantes del curso y, para cada uno:
- Identificación del usuario en Smartosh dentro de esa convocatoria, por
idnumber(NIF) o porusername. - Recuperar fecha de asistencia y puntuación: la información se guarda como nota de evaluación y fecha de asistencia, marcando como asistido en la sesión correspondiente. Si la formación tiene marcado “debe evaluarse”, también se registra la fecha de evaluación y la nota.
- Recuperar finalización: si Moodle indica que el curso está finalizado, la acción se marca como completada en Smartosh y la persona se desmatricula del curso en Moodle (no podrá volver a acceder a él).
Al finalizar, el sistema guarda la lista de operaciones e incidencias generadas en el historial de la conexión Moodle.
Permisos necesarios en Moodle
Sección titulada «Permisos necesarios en Moodle»El usuario asociado al token debe tener permisos para lanzar las siguientes funciones de la API de Moodle:
core_completion_get_activities_completion_statuscore_completion_get_course_completion_statuscore_course_get_coursescore_enrol_get_enrolled_userscore_enrol_get_users_coursescore_grades_get_gradesogradereport_user_get_grade_items(para versiones superiores a 3.2)core_webservice_get_site_infoenrol_manual_enrol_usersenrol_manual_unenrol_userscore_user_create_userscore_user_get_userscore_user_update_users
Consideraciones generales
Sección titulada «Consideraciones generales»- Cuando una convocatoria está enlazada con Moodle, los exámenes de evaluación se realizan en Moodle.
- Al finalizar una acción formativa, el sistema genera el certificado (si así está parametrizado), exactamente igual que en una convocatoria manual.
Consideraciones para SmartOSH SPA PRO
Sección titulada «Consideraciones para SmartOSH SPA PRO»En los entornos SPA, debe crearse una convocatoria y una conexión Moodle por curso en cada entorno, incluso cuando el curso en Moodle exista únicamente en idioma español.
Fuente: KB029 «Configuración y funcionamiento de la conexión Moodle para formación», módulo Formación, versión 1.0.00, 17-09-2025.