Saltar al contingut

Configurar la connexió amb Moodle per a formació

Smartosh permet transmetre dades de formació entre Smartosh i Moodle. Smartosh calcula les formacions que ha de realitzar cada persona segons els EPIs que utilitza, el lloc que ocupa, el centre de treball, etc. A partir d’aquest càlcul, dóna d’alta l’usuari a Moodle, llança la convocatòria i posteriorment recull la data d’assistència i els resultats de les avaluacions quan correspongui.

El circuit de necessitats de formació és idèntic al de les necessitats de formació manuals: la generació de certificats i la resta de passos es regeixen exactament per les mateixes normes.

Encara que la configuració interna de Moodle queda fora de l’abast d’aquesta guia, hi ha punts imprescindibles perquè la integració funcioni:

  • Habilitar els serveis web (extensions a Moodle).
  • Crear un usuari, un conjunt de serveis i un token que s’utilitzarà a la connexió.
  • Els protocols definits han de ser REST i XML-RPC.
  • Les condicions de finalització del curs han d’estar correctament definides a Moodle, ja que és Moodle qui determina si un usuari ha completat un curs.

El detall d’aquestes operacions està explicat a la documentació oficial de Moodle: Web service settings.

Cada connexió relaciona de forma biunívoca un curs d’un servidor de Moodle concret amb una convocatòria de Smartosh.

Abans de crear la connexió, ha d’existir a Smartosh la formació i la convocatòria que es relacionaran amb Moodle. Es recomana definir una convocatòria amb una formació i una sessió formativa per simplificar la gestió.

Accedir a Configuració → Connexió Moodle i omplir els següents camps:

CampDescripció
NomNom intern amb què s’identifica aquesta connexió.
FormacióEs tria entre les formacions definides a Smartosh.
ConvocatòriaNomés es poden seleccionar convocatòries que incloguin la formació del camp anterior.
URL del serveiSubministrada per l’administrador de Moodle. Pàgina on es llança la petició del webservice.
TokenToken per accedir al servei, definit a Moodle.
Identificador de la formació a MoodleNúmero que identifica el curs a Moodle.
EstatEn llançar l’operació passa a Important i en finalitzar mostra: Finalitzada amb error, Finalitzada amb advertències o Finalitzada correctament.
Email per a notificació d’errorsSi està definit, quan un procés diari detecta errors s’envia un avís per correu (sense detall; cal consultar l’historial).
Moodle exclusiu per a aquest tenantActiva avisos addicionals que només tenen sentit quan els empleats de Smartosh coincideixen amb els de Moodle.
DesactivatSi està marcat, el procés nocturn no s’executa. Tot i així es pot llançar la connexió manualment.
HistòriaDetall de les dates i resultats de cada execució.
FuncionsReservat per a usos futurs i altres versions de Moodle.

Un cop configurada la connexió Moodle, la formació, la convocatòria i les parametritzacions necessàries a Moodle (cursos, enquestes, etc.), el procés de sincronització es pot llançar de tres formes:

  • Automàticament cada nit mitjançant el procés ConexionDatosWorker.SincronizarTodasConexiones, sempre que el check Desactivat estigui desmarcat.
  • Manualment des de Configuració → Connexions Moodle, usant l’operació Realitzar Connexió. En finalitzar es mostra el resultat a la Història de la connexió.
  • Des de Formació → Convocatòries, seleccionant una convocatòria amb una connexió Moodle activa. Apareix el botó Sincronitzar amb Moodle i una pestanya amb l’estat i l’historial.

El procés de traspàs es divideix en dos blocs clarament diferenciats: exportació de participants cap a Moodle i recollida de resultats des de Moodle.

El sistema revisa totes les necessitats de formació marcades com a No Convocades per a la formació vinculada a la connexió i, per a cadascuna, executa:

L’aplicació busca l’empleat a Moodle usant l’identificador que té a Smartosh (DNI, NIE, etc.). La cerca es fa per:

  • Identificador = username
  • Identificador = IdNumber (camp addicional de Moodle)
  • email = email de Smartosh

Si no es troba l’empleat, Smartosh envia a Moodle les següents dades per donar-lo d’alta:

  • Username (identificador)
  • Password (generat per l’aplicació)
  • Nom
  • Cognom 1
  • Email (obligatori a Moodle i no pot duplicar-se; el sistema ho verifica)
  • Identificador
  • Ordre de reiniciar el password en el primer accés

Al log es registra: Usuari {Nom i cognom1} ({Identificador}) - alta al sistema.

Es comprova si l’empleat ja està matriculat al curs. Si no ho està, l’aplicació el matricula.

Al log es registra: Usuari {Nom i cognom1} ({Identificador}) - matriculació al curs a Moodle.

La necessitat de formació s’actualitza amb la convocatòria i la data de convocatòria, i queda marcada com a En Curs.

Al log es registra: Usuari {Nom i cognom1} ({Identificador}) - convocat a SmartOSH.

A cada empleat convocat se li envia un email, excepte que tingui marcat el check “Desactivar enviament d’emails”:

  • Usuari nou → plantilla «Alta d’usuari a Moodle», amb usuari i password per iniciar la formació.
  • Usuari existent, nova formació → plantilla «Matriculació a Moodle».

L’aplicació consulta a Moodle els participants del curs i, per a cadascun:

  1. Identificació de l’usuari a Smartosh dins d’aquesta convocatòria, per idnumber (NIF) o per username.
  2. Recuperar data d’assistència i puntuació: la informació es guarda com a nota d’avaluació i data d’assistència, marcant com a assistit a la sessió corresponent. Si la formació té marcat “ha de ser avaluada”, també es registra la data d’avaluació i la nota.
  3. Recuperar finalització: si Moodle indica que el curs està finalitzat, l’acció es marca com a completada a Smartosh i la persona es desmatricula del curs a Moodle (no podrà tornar a accedir-hi).

En finalitzar, el sistema guarda la llista d’operacions i incidències generades a l’historial de la connexió Moodle.

L’usuari associat al token ha de tenir permisos per llançar les següents funcions de l’API de Moodle:

  • core_completion_get_activities_completion_status
  • core_completion_get_course_completion_status
  • core_course_get_courses
  • core_enrol_get_enrolled_users
  • core_enrol_get_users_courses
  • core_grades_get_grades o gradereport_user_get_grade_items (per a versions superiors a 3.2)
  • core_webservice_get_site_info
  • enrol_manual_enrol_users
  • enrol_manual_unenrol_users
  • core_user_create_users
  • core_user_get_users
  • core_user_update_users
  • Quan una convocatòria està enllaçada amb Moodle, els exàmens d’avaluació es realitzen a Moodle.
  • En finalitzar una acció formativa, el sistema genera el certificat (si així està parametritzat), exactament igual que en una convocatòria manual.

Als entorns SPA, s’ha de crear una convocatòria i una connexió Moodle per curs a cada entorn, fins i tot quan el curs a Moodle existeixi únicament en idioma espanyol.


Font: KB029 «Configuració i funcionament de la connexió Moodle per a formació», mòdul Formació, versió 1.0.00, 17-09-2025.