Inviare dati da moodle a piattaforma esterna per reportistica customizzata

Inviare dati da moodle a piattaforma esterna per reportistica customizzata

di Vieri Pestelli -
Numero di risposte: 1

Ciao!

Avrei bisogno di mettere in comunicazione due sistemi: una piattaforma moodle per la formazone online e un gestionale realizzato custom in php. Quest'ultimo gestisce l'anagrafica e una serie di servizi tra cui lo formazione online.

L'accesso sarà uno solo, per cui una volta loggati al gestionale tramite SSO viene gestita la presenza in piattaforma.

Ho due dubbi:

  • è possibile tramite SSO passare l'anagrafica degli utenti con una serie di informazioni tali da creare e assegnare gruppi nei corsi di moodle?
  • è possibile inviare i dati dell'attività degli utenti in piattaforma al gestionale in modo da poter compilare una reportistica customizzata?

Ho iniziato ad analizzare i web services e ho visto che possono essere un buon punto di partenza, ma per ora ho trovato soltanto modo di comunicare dati dall'esterno a moodle. E' una strada percorribile? Qualcuno ha già affrontato una problematica simile?

Grazie mille!

Media dei voti:  -
In riposta a Vieri Pestelli

Re: Inviare dati da moodle a piattaforma esterna per reportistica customizzata

di Matteo Scaramuccia -

Ciao Vieri,
la risposta breve è si: molti plug-in di autenticazione con terze parti fanno proprio SSO e dipendono strettamente dalla natura della terza parte per il "trasporto" degli attributi dell'utente da un sistema all'altro, per esempio CAS passa via LDAP.

Allo stesso modo è possibile iscrivere utenti secondo criteri precisi come ad esempio fa Moodle per le iscrizioni via LDAP: https://docs.moodle.org/35/en/LDAP_enrolment.

Negli esempi sopra non viene usato nessun Web Service perché vengono sviluppati plug-in nativi di Moodle e le funzionalità che tu hai individuato disponibili via Web Service vengono gestite "nativamente" attraverso le API di Moodle (https://docs.moodle.org/dev/Core_APIs): in questo scenario è più probabile che ti servano Web Services sul gestionale o, se il sistema è custom, un accesso diretto al DB del gestionale - brutto perché accoppia il codice dell'integrazione con l'attuale versione del gestionale ma... pur sempre efficace.

Le attività degli utenti in Moodle invece sono gestite tramite eventi (https://docs.moodle.org/35/en/Events_list_report e https://docs.moodle.org/dev/Event_2), e con plug-in locali usati per "collegarsi" a questi eventi potrai inviare le informazioni necessarie al gestionale - di nuovo, via Web Service o via accesso diretto al DB.

Potrebbero esserti utili anche la Callback: https://docs.moodle.org/dev/Callbacks .

HTH,
Matteo