3dbdc66142
which included commits to RCS files with non-trunk default branches. git-svn-id: svn://10.65.10.50/trunk@8626 c028cbd2-c16b-5b4b-a496-9718f37d4682
136 lines
6.3 KiB
Plaintext
Executable File
136 lines
6.3 KiB
Plaintext
Executable File
Software di gestione moduli didattici per la formazione a distanza ver. 0.1
|
|
==================================================================
|
|
Copyright Aga informatica 1999.
|
|
|
|
|
|
DISCLAIMER
|
|
----------
|
|
Le seguenti note sono solo indicative e vanno prese così come sono; ovvero
|
|
come promemoria. Quando avrò un poco più di tempo provvederò a farne una
|
|
stesura completa ed esauriente, con tanto di discussione della logica dei
|
|
programmi, per la gioia ed il gaudio di tutti. Per ora accontentatevi...
|
|
Teoricamente potrebbe essere possibile compilarlo anche sotto NT, basta avere
|
|
gcc. Al posto di postgres si dovrebbe adattare il sorgente creando un piccolo
|
|
middleware per utilizzare SQL server od un DBMS generico.
|
|
|
|
|
|
|
|
NOTE
|
|
----
|
|
Per l'installazione del software cambiare l'install directory presente nel
|
|
Makefile e quindi dare il comando make install come root.
|
|
|
|
Per l'installazione dei tracciati, dopo aver installato Postgres 6.3,
|
|
creare il database corsi:
|
|
|
|
createdb corsi
|
|
|
|
creare le tabelle:
|
|
|
|
psql -e corsi < tracciato
|
|
|
|
impostare eventuali opzioni di sicurezza/accessi esterni in pg_hba.conf e garantire l'accesso
|
|
all'utente nobody, o comunque a quello per mezzo del quale vengono eseguiti
|
|
i CGI dall'http server tramite lo statement SQL:
|
|
|
|
GRANT ALL ON <tabelle> TO PUBLIC;
|
|
|
|
La struttura dei direttori deve essere siffatta:
|
|
|
|
|
|
<Root directory HTTP>---/corsi/----/cgi-bin/
|
|
|
|
|
|-/corso_<x1>
|
|
|
|
|
|-/corso_<x2>
|
|
|
|
|
|-/corso_<x3>
|
|
|
|
Ogni direttorio del corso deve avere un direttorio documenti ed eventualmente
|
|
un direttorio upload. Tali direttori devono essere protetti in lettura, ovvero
|
|
non possono essere letti da chiunque se non dal gruppo appartenente al personale
|
|
di servizio.
|
|
Il direttorio cgi-bin invece, oltre ad essere configurato dal server http come
|
|
direttorio di esecuzione CGI, deve avere l'accesso possibile oltre che dal personale
|
|
di servizio, anche dai membri dei corsi.
|
|
In cgi-bin andrà anche installato il direttorio HyperNews debitamente configurato.
|
|
Ricordarsi di compilare per ogni utente anche il corso del quale fa parte. Tale
|
|
indicazione deve essere uguale ai vari direttori dei corsi <x1>, <x2> o <x3> etc.
|
|
All'interno del direttorio documenti vi sono tanti direttori quanti i moduli
|
|
validi per il corso; ognuno è contraddistinto dal suo numero registrato sul
|
|
database con una "M" davanti. All'interno di ognuno di questi direttori, M1,M2,
|
|
M3 etc, vi sarà la pagina iniziale (index.htm) di presentazione e riferimento
|
|
ai vari materiali. I materiali presenti in tale direttorio possono essere files
|
|
di qualsiasi tipo. Infine oltre ai materiali vi sono anche i test necessari
|
|
per l'ingresso e passaggio da una unità didattica all'altra: test_a.htm, test_b.htm
|
|
test_c.htm... test_z.htm, dove test_a.htm è quello obbligatorio per l'ingresso
|
|
e test_z.htm è quello per verificare la conoscenza finale del modulo.o
|
|
|
|
|
|
<Root directory HTTP>--/corsi/--/corso_<x1>/upload/
|
|
|
|
|
/documenti/
|
|
|
|
|
|-/M1/..index.htm, materiali, test
|
|
|
|
|
|-/M2/
|
|
|
|
|
|-/M3/
|
|
|
|
|
|
|
|
I riferimenti alle class-room per i singoli moduli devono avere lo stesso
|
|
nome col quale il modulo stesso viene registrato nel database. Fare attenzione
|
|
perche' la cosa e' case sensitive.
|
|
|
|
TODO
|
|
----
|
|
|
|
*) Possibilità di gestione utente tutore, in modo che possa accedere liberamente
|
|
ad ogni corso, ad ogni modulo, ad ogni classroom, ad ogni test senza memorizzarne
|
|
risultati etc. Questa modifica è collegata alla memorizzazione delle informazioni
|
|
relative ad ogni singolo corso. E' da decidere se ci vuole una tabella in più
|
|
(corsi, con nome e descrizione) e dove mettere le informazioni di appartenenza
|
|
al corso: sul modulo o sull'utente. Se si mettono sull'utente è necessario
|
|
trovare un modo, nel caso del tutor, affinchè si possa ricostruire il path
|
|
completo del modulo. Probabilmente si dovrà unificare tutti i direttori documenti
|
|
dei vari corsi, e tener distinti i moduli, visto che ognuno è cmq diverso.
|
|
In tal modo probabilmente si avrà un unico direttorio "documenti" sotto "corsi"
|
|
e non tanti ognuno sotto corso_<xxx>, facilitando la composizione del path del
|
|
file da reperire, siano essi tests o materiali. In effetti visto che i moduli
|
|
sono n, non vi è motivo di tenerli separati per corso. Per coerenza l'unica
|
|
cosa che si può implementare è un campo in più sulla tabella moduli nel
|
|
quale evidenziare di quale corso fa parte ma sarebbe una informazione ridondante.
|
|
|
|
*) Interfaccia NSAPI per Netscape Fasttrack, in modo che l'autenticazione sia effettuata
|
|
controllando il database utenti postgres. Così facendo si evitano duplicazioni
|
|
di user-ID. Ovvio che tale interfaccia NSAPI, sarà valida solo per Fasttrack
|
|
server. Nel caso di altro http server, ad esempio Apache, la cosa è da studiare.
|
|
|
|
*) Verificare le potenzialità di HyperNews ed eventualmente cercare una message board
|
|
più flessibile per i nostri scopi. Attualmente il sistema di autenticazione
|
|
manuale incapsulato all'interno non è un gran ché; fare in modo che utilizzi
|
|
quello del browser. In genere per HyperNews, basta impostare un unico utente,
|
|
il creatore dei forum ed amministratore del sito.
|
|
|
|
*) Implementare un miglior metodo per far sì che i client non mettano in cache
|
|
i risultati dei vari cgi. Attualmente l'header expires non funziona molto bene,
|
|
infatti quando si torna indietro col browser, dice sempre che il documento
|
|
è spirato. Analogamente se si decide di stampare una qualsiasi pagina. Forse
|
|
tramite i cookies...
|
|
|
|
*) Maggior parametrizzazione per l'installazione, in modo da fare un bell'RPM
|
|
cosicchè si possa vendere il prodotto!
|
|
|
|
*) Maggior documentazione... ma questo si sapeva già...
|
|
|
|
*) Se possibile trovare un modo per togliere i pulsanti di azione dalle pagine
|
|
di ogni modulo (quelli per scaricare le lezioni, accedere ai tests ecc) e
|
|
sostituirli con hyperlink. Il problema è che si tratta di forms che spediscono
|
|
col metodo POST. Forse implementando una riga unica con i paramateri necessari
|
|
ci si può riuscire.
|
|
|
|
|
|
--Angelo
|
|
|