Piazzale Italia

Campi personalizzati

 
Immagine Alessandro Rodigari
Campi personalizzati
 

Domanda forse banale: esiste un modo per avere un report che includa tutte le info degli utenti compresi quelle inserite con i campi personalizzati?

Ho visto che ci sono dei plugin come ad-hoc che consentono di generare query basate su SQL, sono anche carini ma non riesco a capire come pescare i dati dei campi personalizzati.

La tabella USER è chiarissima: un record per utente con tutti i vari campi

Per i campi personalizzati invece il discorso è gestito in modo "strano", vedo che USER_INFO_FIELD contiene le caratteristiche dei campi aggiuntivi (ad es le varie tipologie di campo, scelta multipla ecc..)

USER_INFO_DATA invece è realizzata in modo poco pratico per l'interrogazione manuale non c'è un record per utente, c'è una colonna USERID che fa naturalmente riferimento al dato ID nella tabela USER, FIELDID che consente il join con USER_INFO_FIELD e la colonna DATA che contiene tutti i contenuti... 

E' possibile reportizzare con un unica query tutti i dati utente? 

Grazie anticipatamente per l'interesse

 

 
Media dei voti:  -
Immagine Andrea Bicciolo
Re: Campi personalizzati
Core developersParticularly helpful MoodlersPlugin developersTranslators
Ciao Alessandro,

se ti possono essere utili queste pagine della documentazione hanno diversi esempi di query SQL che puoi approfondire per creare la tua: http://docs.moodle.org/25/en/ad-hoc_contributed_reports e http://docs.moodle.org/25/en/Custom_SQL_queries_report

In particolare questa query usa i campi extra del profilo: http://docs.moodle.org/25/en/ad-hoc_contributed_reports#Full_User_info_.28for_deleted_users.29

In alternativa puoi utilizzare l'architettura "pluggable" dei report di Moodle e sviluppare il tuo, qui trovi della documentazione un po stringata e non aggiornatissima ma che può essere un punto di inizio: http://docs.moodle.org/dev/Reports
Immagine Alessandro Rodigari
Re: Campi personalizzati
 

Ciao Andrea, grazie per essere sempre presente!!

Avevo visto quegli esempi, di fatto pero' ottengo i dati cosi' come sono riportati in tabella, non fruibili. Personalmente ho tamponato il problema in un modo che ritengo poco efficiente..

Ho importato la tabella dei campi personalizzati in access

Ho creato una query per ogni campo personalizzato che mi estrae i record relativi a quel campo associati ai vari id utente

Poi unisco tutto con una query di creazione tabella facendo naturalmente il join sui vari idutente

Questa è pero' una soluzione tampone e con l'sql non riesco a ricrearla, ne in moodle sul plugin ne in mysql 

 

 Non ho invece compreso bene "l'architettura pluggable" di che si tratta?

 

Grazie ancora!

Alessandro

Immagine Andrea Bicciolo
Re: Campi personalizzati
Core developersParticularly helpful MoodlersPlugin developersTranslators
Ciao Alessandro,

in Moodle la maggior parte dei componenti (moduli di attività, domande, formati dei corsi,eccetera) sono dei "plugin". I report di Moodle non fanno eccezione e quindi puoi aumentare i report di Moodle sviluppandone uno ad hoc per te come plugin, senza alterare il codice sorgente.
Immagine Mario Molinaro
Re: Campi personalizzati
 

Buongiorno,

riprendo questo post, in quanto mi ci sono appena imbattuto.

Grazie al plugin "ad-hoc_contributed_reports" sto cercando di estrapolare per ogni utente i dati e ho utilizzato per esempio questa query:

SELECT
user2.firstname AS Firstname,
user2.lastname AS Lastname,
user2.email AS Email,
user2.city AS City,
course.fullname AS Course
,(SELECT shortname FROM prefix_role WHERE id=en.roleid) AS ROLE
,(SELECT name FROM prefix_role WHERE id=en.roleid) AS RoleName
 
FROM prefix_course AS course
JOIN prefix_enrol AS en ON en.courseid = course.id
JOIN prefix_user_enrolments AS ue ON ue.enrolid = en.id
JOIN prefix_user AS user2 ON ue.userid = user2.id


Con questa riesco ad ottenere i campi già presenti in Moodle di default, mentre non riesco ad estrapolare campi personalizzati come: "codicefiscale", "fax" .

Come posso fare? mi potete dare qualche indicazione anche di codice?

La mia versione di Moodle è la 2.3

Vi ringrazio

 



Immagine Federica Marra
Re: Campi personalizzati
 

Ciao Mario, il plugin di cui parli e' questo?
https://moodle.org/plugins/view/block_configurable_reports

Se usi questo non serve usare sql per i profile fields presonalizzati, ma bisogna cambiare il tipo di report (da SQL a user report) e costruire ad hoc le colonne. Dimmi se parliamo dello stesso plugin, cosi' ti posto qualche screenshot di spiegazione. sorridente