Salta ai contenuti

Configurare la connessione con Moodle per la formazione

Smartosh consente di trasmettere dati di formazione tra Smartosh e Moodle. Smartosh calcola le formazioni che ogni persona deve svolgere in base ai DPI che utilizza, al ruolo che ricopre, al centro di lavoro, ecc. A partire da questo calcolo, registra l’utente in Moodle, lancia la convocazione e successivamente raccoglie la data di partecipazione e i risultati delle valutazioni quando necessario.

Il circuito delle necessità formative è identico a quello delle necessità formative manuali: la generazione dei certificati e gli altri passaggi sono regolati esattamente dalle stesse norme.

Sebbene la configurazione interna di Moodle sia fuori dall’ambito di questa guida, ci sono punti imprescindibili affinché l’integrazione funzioni:

  • Abilitare i servizi web (estensioni in Moodle).
  • Creare un utente, un insieme di servizi e un token che sarà utilizzato nella connessione.
  • I protocolli definiti devono essere REST e XML-RPC.
  • Le condizioni di completamento del corso devono essere correttamente definite in Moodle, poiché è Moodle a determinare se un utente ha completato un corso.

Il dettaglio di queste operazioni è spiegato nella documentazione ufficiale di Moodle: Web service settings.

Ogni connessione collega in modo biunivoco un corso di un server Moodle specifico con una convocazione di Smartosh.

Prima di creare la connessione, deve esistere in Smartosh la formazione e la convocazione che saranno collegate a Moodle. Si consiglia di definire una convocazione con una formazione e una sessione formativa per semplificare la gestione.

Accedere a Configurazione → Connessione Moodle e compilare i seguenti campi:

CampoDescrizione
NomeNome interno con cui si identifica questa connessione.
FormazioneSi sceglie tra le formazioni definite in Smartosh.
ConvocazioneSi possono selezionare solo convocazioni che includono la formazione del campo precedente.
URL del servizioFornita dall’amministratore di Moodle. Pagina dove viene inviata la richiesta del webservice.
TokenToken per accedere al servizio, definito in Moodle.
Identificatore della formazione in MoodleNumero che identifica il corso in Moodle.
StatoQuando si avvia l’operazione passa a Importando e al termine mostra: Terminata con errore, Terminata con avvisi o Terminata correttamente.
Email per notifica erroriSe definita, quando un processo giornaliero rileva errori viene inviato un avviso via email (senza dettagli; bisogna consultare lo storico).
Moodle esclusivo per questo tenantAttiva avvisi aggiuntivi che hanno senso solo quando i dipendenti di Smartosh coincidono con quelli di Moodle.
DisattivatoSe selezionato, il processo notturno non viene eseguito. Tuttavia, la connessione può essere avviata manualmente.
StoricoDettaglio delle date e dei risultati di ogni esecuzione.
FunzioniRiservato per usi futuri e altre versioni di Moodle.

Una volta configurata la connessione Moodle, la formazione, la convocazione e le necessarie parametrizzazioni in Moodle (corsi, sondaggi, ecc.), il processo di sincronizzazione può essere avviato in tre modi:

  • Automaticamente ogni notte tramite il processo ConexionDatosWorker.SincronizarTodasConexiones, purché la casella Disattivato sia deselezionata.
  • Manuale da Configurazione → Connessioni Moodle, usando l’operazione Esegui Connessione. Al termine viene mostrato il risultato nello Storico della connessione.
  • Da Formazione → Convocazioni, selezionando una convocazione con una connessione Moodle attiva. Appare il pulsante Sincronizza con Moodle e una scheda con stato e storico.

Il processo di trasferimento si divide in due blocchi chiaramente distinti: esportazione dei partecipanti verso Moodle e raccolta dei risultati da Moodle.

Il sistema controlla tutte le necessità formative segnate come Non Convocate per la formazione collegata alla connessione e, per ciascuna, esegue:

L’applicazione cerca il dipendente in Moodle usando l’identificatore che ha in Smartosh (DNI, NIE, ecc.). La ricerca avviene tramite:

  • Identificatore = username
  • Identificatore = IdNumber (campo aggiuntivo di Moodle)
  • email = email di Smartosh

Se il dipendente non viene trovato, Smartosh invia a Moodle i seguenti dati per registrarlo:

  • Username (identificatore)
  • Password (generata dall’applicazione)
  • Nome
  • Cognome 1
  • Email (obbligatoria in Moodle e non può essere duplicata; il sistema lo verifica)
  • Identificatore
  • Ordine di reimpostare la password al primo accesso

Nel log viene registrato: Utente {Nome e cognome1} ({Identificatore}) - registrazione nel sistema.

Si verifica se il dipendente è già iscritto al corso. Se non lo è, l’applicazione lo iscrive.

Nel log viene registrato: Utente {Nome e cognome1} ({Identificatore}) - iscrizione al corso in Moodle.

La necessità formativa viene aggiornata con la convocazione e la data di convocazione, e viene marcata come In Corso.

Nel log viene registrato: Utente {Nome e cognome1} ({Identificatore}) - convocato in SmartOSH.

A ogni dipendente convocato viene inviato un’email, a meno che non abbia selezionato la casella “Disattiva invio email”:

  • Utente nuovo → modello «Registrazione utente in Moodle», con utente e password per iniziare la formazione.
  • Utente esistente, nuova formazione → modello «Iscrizione in Moodle».

L’applicazione interroga Moodle sui partecipanti al corso e, per ciascuno:

  1. Identificazione dell’utente in Smartosh all’interno di quella convocazione, tramite idnumber (NIF) o username.
  2. Recupero data di partecipazione e punteggio: le informazioni vengono salvate come voto di valutazione e data di partecipazione, marcando come presente nella sessione corrispondente. Se la formazione ha marcato “deve essere valutata”, viene registrata anche la data di valutazione e il voto.
  3. Recupero completamento: se Moodle indica che il corso è completato, l’azione viene marcata come completata in Smartosh e la persona viene disiscritta dal corso in Moodle (non potrà più accedervi).

Al termine, il sistema salva la lista delle operazioni e delle anomalie generate nello storico della connessione Moodle.

L’utente associato al token deve avere i permessi per eseguire le seguenti funzioni dell’API di 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 versioni superiori alla 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
  • Quando una convocazione è collegata a Moodle, gli esami di valutazione si svolgono in Moodle.
  • Al termine di un’azione formativa, il sistema genera il certificato (se così parametrizzato), esattamente come in una convocazione manuale.

Negli ambienti SPA, deve essere creata una convocazione e una connessione Moodle per corso in ogni ambiente, anche quando il corso in Moodle esiste solo in lingua spagnola.


Fonte: KB029 «Configurazione e funzionamento della connessione Moodle per formazione», modulo Formazione, versione 1.0.00, 17-09-2025.