Nuova funzione: esportazione lista studenti in pdf

Nuova funzione: esportazione lista studenti in pdf

di Catia Battista -
Numero di risposte: 27
Buongiorno a tutti,
Durante la sperimentazione di Moodle presso l'università di Firenze (Corso di laurea in Informatica) alcuni docenti hanno avuto la necessità di esportare in formato elettronico la lista degli studenti iscritti al proprio corso (ad esempio per effettuare la raccolta delle firme di frequenza durante le lezioni frontali). Per questo motivo, tramite l'utilizzo della libreria Fpdf del php, abbiamo inserito nella pagina partecipanti la nuova funzione "Download PDF Elenco Studenti" (visibile solo dai docenti), che permette di fare un download in Pdf della lista degli studenti iscritti ad un determinato corso. La funzione nel file allegato, è una versione al livello di prototipo. I file allegati devono essere inseriti nella cartella Moodle/user.

spero che possa essere utile,
CB
Media dei voti:  -
In riposta a Catia Battista

Re: Nuova funzione: esportazione lista studenti in pdf

di Alberto Bulzatti -
L'ho provato perchè ritengo possa essere utile, ma il risultato è questo...

Warning: main(fpdf.php): failed to open stream: No such file or directory in /web/htdocs/www.miodominio.it/home/miomoodle/user/listcourse.php on line 3

Fatal error: main(): Failed opening required 'fpdf.php' (include_path='.:/php/lib/php/') in /web/htdocs/www.miodominio.it/home/miomoodle/user/listcourse.php on line 3

Sembra manchi il file fpdf.php (in effetti esiste solo il fpdf.css).



In riposta a Alberto Bulzatti

Re: Nuova funzione: esportazione lista studenti in pdf

di Catia Battista -
hai ragione scusami mi sono dimenticata di inserire il file fpdf.php
in allegato trovi tutto,
grazie per la segnalazione.
CB
In riposta a Catia Battista

Re: Nuova funzione: esportazione lista studenti in pdf

di Daniele Cordella -
Ok Catia
funziona nel senso che produce il PDF ma... il mio Acrobat Reader 6 mi dice che il file e' corrotto. Forse perche' uso MacOS X??????
In riposta a Daniele Cordella

Re: Nuova funzione: esportazione lista studenti in pdf

di Catia Battista -
non lo so...prova prima a salvarlo sul computer, invece di aprirlo direttamente con il browser...e fammi sapere....(a volte è l'acrobat che sclera...)

Io non ho avuto di questi problemi e utilizzo windowx xp e come browser firefox...
In riposta a Catia Battista

Re: Nuova funzione: esportazione lista studenti in pdf

di Catia Battista -
come ho già detto è un prototipo che va perfezionato.....ammiccante
io l'ho testato utilizzando come browser explorer e firefox (utilizzo acrobat reader v. 7) e non mi dato problemi...cmq la miglior cosa è salvare direttamenti il file sul computer (invece di utilizzare un browser per aprirlo), e aprirlo in un secondo momento con il progrma 'acrobat reader"

cb
In riposta a Catia Battista

Re: Nuova funzione: esportazione lista studenti in pdf

di Daniele Cordella -
Davvero non ho cambiato la sostanza.

Ieri mattina, quando prima dell'alba il figlio piccolo ha reso il letto maleodorante obbligandomi a correre ai ripari, lui si è riaddormentato immediatamente ed io... mi sono messo a giocare con la vostra modifica.

Non ho cambiato la sostanza (e non ho verificato che l'oggetto funzioni con acrobat reader 7) ma ho reso il testo del link sensibile alla lingua selezionata dall'utente e ho riposizionato il link all'inizio della lista degli utenti invece che alla fine in modo da evitare il disagio di dover scrollare la lista, in caso di "classe" numerosa, per raggiungere il link in fondo alla pagina.

In allegato il mio file index.php da mettere nella cartella /moodle/users e il file block_people.php da mettere su /moodle/lang/it/
In riposta a Daniele Cordella

Re: Nuova funzione: esportazione lista studenti in pdf

di Catia Battista -
grazie mille....davvero. grande sorriso
Ora controllo, ma sono sicura che andrà tutto bene...
poi in giornata aggiungo la cartella zippata contenente tutti i file, e un txt che spieghi dove andare ad inserire correttamente i files in ogni cartella di moodle.
mi fa piacere che ci siano persone che siano interessate a questa mia iniziativa e inoltre è entusiasmante poter collaborare in questo modo. grande sorriso
CB
In riposta a Catia Battista

Re: Nuova funzione: esportazione lista studenti in pdf

di Catia Battista -
Ho provato a testarlo, ma non mi compare la scritta in italiano, rimane in inglese....Eh?!....mentre il pdf lo crea senza problemi.
Direi, che l'inserimento del "download pdf list course" in alto alla pagina mi sembra un ottima idea.
stasera provo a controllare di nuovo il problema sulla traduzione in italiano della stringa e poi domani ti faccio sapere, ma te l'avevi testato e ti compariva la stringa tradotta in italiano?
CB
In riposta a Catia Battista

Re: Nuova funzione: esportazione lista studenti in pdf

di Daniele Cordella -
Si, e mi funziona tutto.
Sei sicura di aver messo i file al posto giusto? ammiccante
In riposta a Daniele Cordella

Re: Nuova funzione: esportazione lista studenti in pdf

di Catia Battista -
Si funziona tutto correttamente anche a me....ammiccante
grazie mille Daniele per la tua collaborazione.grande sorriso
In allegato trovate l'ultima versione di questa nuova funzione (NewElencoStudenti.zip) con un file .txt che vi spiega dove andare ad inserire correttamente i files all'interna della vostra cartella Moodle...
Una volta inseriti i file se accedete al pagina Partecipanti nel blocco Persone
sotto l'elenco dei docenti (prima dell'elenco studenti) trovate un collegamento
"Lista in pdf" che crea in pdf la lista degli studenti iscritti al vostro corso.
buona giornata
CB approvo

p.s.: è ancora un prototipo in fase di perfezionamento
In riposta a Catia Battista

Re: Nuova funzione: esportazione lista studenti in pdf

di Alberto Zanatta -
Grazie mille davvero!

Questa funzione infatti manca su Moodle ed è una cosa davvero utile, per certi versi.

Ho appena provato la mod, solo che il pdf non me lo apre, dando l'errore che esso è illeggibile... provo ad aggiornare crobat reader all'ultioma versione

EDIT: no, nemmeno ora funziona...

In riposta a Alberto Zanatta

Re: Nuova funzione: esportazione lista studenti in pdf

di Catia Battista -
Penso che sia un problema di alcuni browser ad aprire i pdf...(cioè che alcuni browser non abbiano dei plug-in, questa è una mia teoria tutta da provare)
Prova invece quando ti si apre la finesta e ti viene data la scelta di "aprire" o "salvare il file", a scegliere l'opzione salvare sul computer e successivamente aprirlo con acrobat reader (non con il browser).
Infatti ho testato che con alcuni browser , ad esempio Firefox non ha nessun problema nè ad aprirlo nè a salvarlo sul computer mentre con altri (Explorer e Opera) hanno problemi ad aprirlo ma nessuno problema a crearlo e a salvarlo sul computer.
prova e poi fammi sapere....
CB
In riposta a Catia Battista

Re: Nuova funzione: esportazione lista studenti in pdf

di Catia Battista -
EUREKA!!!!
trovato il problema....
praticamente nel file che ho creato listcourse.php quando gli ho inserito l'istruzione per creare il pdf, avevo sbagliato il secondo attributo,invece di dargli "I", gli avevo dato "D".
$pdf->Output($file,'I');

Il primo attributo serve a definire il nome del file, il secondo invece imposta la direzione dell'output:
I: invia il file al browser e lo apre nel plug-in di Acrobat, se si decide di salvare il file dal plug-in verrà dato il valore del primo attributo.
D: invia al browser e forza il download del file col nome specificato.
F: salva direttamente il file nella cartella con il nome dato.
S: restituisce il documento come string, ed il nome è ignorato.


ADESSO LA FUNZIONE SI APRE E SALVA SUI SEGUENTI BROWSER (firefox, Explorer, Opera e Netscape)

buon divertimento...
In riposta a Catia Battista

Re: Nuova funzione: esportazione lista studenti in pdf

di Alberto Zanatta -
:D

io ho sempre usato firefox, explorer è solo un brtto ricordo sorridente

Non si può fare in modo che la lista utenti venga salvata in un file di testo semplice (tipo .txt)? Magari è più semplice, e comunque più utile.

Vi ringrazio per il lavoro, siete grandi!
In riposta a Catia Battista

Re: Nuova funzione: esportazione lista studenti in pdf

di Alberto Zanatta -
Comunque io salvo il file con firefox e lo apro con acrobat reader 7.05

E continua a dare errore che il file è corrotto... triste
In riposta a Alberto Zanatta

Re: Nuova funzione: esportazione lista studenti in pdf

di Catia Battista -
Eh?!
io l'ho testato su vari browser e non mi dà nessun problema, e funziona tutto correttamente.
hai scaricato il nuovo file che ho modificato? per sicurezza prendi il file qua in allegato e sostituiscilo nella cartella moodle/user

fammi sapere....
CB

p.s. la tua idea di fare una lista in txt non è male, se ho tempo (sono impegnata sulla mia tesi appunto su Moodle) cerco di costruire anche questa nuova funzione.
La scelta del pdf è motivata dal fatto che in questo modo con questa funzione posso costruire una tabella e dare varie formattazioni (utili ai docenti che vogliono prendere le firme di frequenze nei corsi universitari), mentre con il txt non è possibile......
In riposta a Catia Battista

Re: Nuova funzione: esportazione lista studenti in pdf

di Catia Battista -
Ho aggiunto una nuova funzione che esporta la lista degli studenti in formato Txt, come richiesto. Nella nuovo file zippato trovate sia la funzione per l'esportazione in formato Pdf che per i Txt. E' stato testato su quattro browser (Firefox, Internet Explorer, Opera e Netscape): funziona tutto correttamente.
CB

p.s. Chi utilizza la funzione Txt, vi consiglio di salvare il file della lista degli studenti sul vostro computer e apritelo con word o wordpad. Purtroppo Il notepad non riconosce l'interruzione di linea.

Buon divertimento...ammiccante

In riposta a Catia Battista

Re: Nuova funzione: esportazione lista studenti in pdf

di Daniele Cordella -
Cara Catia
congratualzioni per il tuo contributo.
Cercando ancora di utilizzarlo ho verificato che ci sono delle cosette che non vanno.
1) Il file lang/it/block_people.php deve essere aggiunto anche alla versione inglese. Mi sembra che Moodle, che lavora bene, cerchi la stringa (ad esempio) 'downloadStudentList(Pdf)' nel file block_people.php della cartella relativa alla lingua in cui il corso è visualizzato e, se nopn la trova, la continua a cercare nel file block_people.php della cartella moodle/lang/en.
Se ancora non la trova dichiara che la stringa 'downloadStudentList(Pdf)' vale downloadStudentList(Pdf).
Questo è il motivo per il quale e' necessario aggiungere il file anche nella cartella lang/en.

2) varrebbe la pena di aggiungere una pagina intermedia (chiamata dal link 'Lista in PDF') nella quale poter impostare la lista dei campi da contemplare nella stampa. Nella stessa pagina un bottone dovrebbe dare il via al download. Tu mi dirai: "Scrivila!". La mia risposta è: "Volentieri ma non lo so fare e quindi poteri impiegarci anche 7 anni". Non me lo prendo come impegno ma... ci provo a tempo perso.

3) Una nota dolente: sul mio MacOSX con acrobat reader 6 il PDF non si apre. File corrotto.

4) una seconda nota dolente: sul mio MacOSX il file in formato TXT non contiene il primo campo (Idnumber) nei record ma solo nell'intestazione.

Ciao.
In riposta a Daniele Cordella

Re: Nuova funzione: esportazione lista studenti in pdf

di Catia Battista -
ciao Daniele,
grazie mille per le tue osservazioni.

1) per quanto riguarda il primo problema: risolto. In allegato trovi il nuovo file da inserire nella cartella lang in inglese.

2) per la tua idea di far scegliere al docente quali campi inserire nella lista, ci avevamo già pensato, solo che un lavoro del genere porta via settimane (e fra 3 settimane mi laureo), abbiamo pensato solo alla soluzione più veloce. Però la tua idea è fattibile, quindi ad avanza tempo cercherò di portare sul concreto questa soluzione.

3) non lo so perchè i pdf hanno reazioni diverse su browser e sistemi operativi diversi, è anche per questo motivo che ho inserito la nuova funzione lista in Txt, per semplificare la vita a chi lo usa.

4)il fatto che non ti compare la lista idnumber è perchè probabilmente la tua lista dei partecipanti ha questo campo vuoto. Nella tabella user ci sono due identificativi id e idnumber, il primo è un campo obbligatorio ed è l'identificativo dell'utente , il secondo è un campo facoltativo (da noi è stato usato per inserire il numero di matricola degli studenti e i docenti universitari).
Cmq ho modificato sia la lista pdf sia la lista txt, e adesso nei campi della lista avete COGNOME, NOME e EMAIL. (i 3 campi obbligatori nel profilo di ogni utente).

ciao.sorridente
In riposta a Catia Battista

Re: Nuova funzione: esportazione lista studenti in pdf

di Alberto Zanatta -
Come al solito non funziona, solo che stavolta non funziona nemmeno il txt.. cioè non si vede niente...  solo l'header (utente, email, id)

In più devi modificare il nome del file in moodle-user da listautentiTxt.txt a listautentitxt.txt, oppure modificare direttamente il codice.

In ogni modo non dà niente in output...
In riposta a Alberto Zanatta

Re: Nuova funzione: esportazione lista studenti in pdf

di Catia Battista -
hai ragione avevo sbagliato a darvi la cartella zippata, prova adesso...
cb

In riposta a Catia Battista

Re: Nuova funzione: esportazione lista studenti in pdf

di Marco D'Ottavio -

Grazie infinite!!! per questo nuovo "modulo" (Funzione), trovo che sia di estrema utilità, e facilmente modificabile per creare altri report > PDF o txt modificando la $query nel file listcourse.php e il relativo output su pagina.

Piccoli problemi riscontrati:
-Nella tua ultima release devi sempre rinominare listcourseTxt.php in listcoursetxt.php altrimenti con alcuni server il risultato è 404 page not found.
-Non funziona sulla lista degli utenti iscritti al sito, probabilmente per problemi nella query che restituisce null ... ?

M.D.

In riposta a Marco D'Ottavio

Re: Nuova funzione: esportazione lista studenti in pdf

di Catia Battista -
Ciao MArco, Sono contenta che sia utile e ti funzioni.....grande sorriso

per quanto riguarda il primo piccolo problema, risolto, avevo dimenticato di modificare il file index.php...in allegato ci sono i file modificati e corretti.

per quanto riguarda il secondo punto, la funzione è stata creata per avere solo la lista degli utenti iscritti al corso, non a tutto il sito...però volendo come dicevi tu basta modificare la $query nel file listcourse.php.
la scelta di avere una lista di iscritti solo al corso, è dovuto che la mia sperimentazione è avvenuta a livello universitario e i prof. hanno solo sentito la necessità di avere una lista in formato elettronico degli studenti iscritti al proprio corso universitario.
ciao
CB

In riposta a Catia Battista

Re: Nuova funzione: esportazione lista studenti in pdf

di Catia Battista -
In allegato trovate una nuova versione stabile di questa funzione, testata sia da me che da Daniele Cordella, e risulta non avere più i problemi risultati dalle versioni precedenti.
CB grande sorriso
In riposta a Catia Battista

Re: Nuova funzione: esportazione lista studenti in pdf

di Alberto Zanatta -
Ora funziona perfettamente, ma solo in parte: Se ad esempio tento di esportare in pdf tutti i partecipanti del corso "home" che sarebbero in pratica tutti gli iscritti, il pdf che mi dà in output è corrotto, se invece esporto i partecipanti di un qualsiasi corso (meno di 100 studenti) funziona.

Complimenti comunque! cool