Struttura delle directory sul disco d' installazione: Jserver - contiene il sorgente ed il bytecode del programma Jserver\DATA - contiene il database delle domande LocalProvaClient - è la parte client che chiede la password ed effettua il login New\checkbox - contiene vari dati utilizzati dal programma e le immagini da inserire nelle domande. Questa guida analizza i punti da modificare al momento dell'installazione su server. Per prima cosa, bisognerà connettere in rete locale l'unità su cui risiedono i files del programma. ( copiato precedentemente ad es. tramite: xcopy a:\*.* /s ) Quindi modificare il file 'autoexec.bat' inserendo la seguente linea: SET CLASSPATH=d:\dir1\Jserver;d:\dir1\localProvaClient dove per d:\ intendiamo l'unità logica di rete su cui sono stati installati i files del programma e per dir1\ il percorso relativo di installazione. Ora bisognerà modificare alcune stringhe a livello sorgente e poi ricompilare il programma con un compilatore Java. ( ES.: javac del JDK 1.02 della Sun o jvc di Microsoft ) Di seguito ecco riportato uno schema riassuntivo: File da modificare Modifica da apportare a... Modificare in... IDapplet.java tutte le stringhe "localhost" "nome del server host" ( ES.: serving.univ.trieste.it ) localProvaClient.java tutte le stringhe "localhost" tranne quella alla linea 163 "nome del server host" LortySmartCheck.java tutte le stringhe "localhost" "nome del server host" PasswordRequest.java linea 46 - new FileInputStream("pwd.hash"); new FileInputStream("/persorso relativo/Jserver/pwd.hash"); linea 153 - new File("/Vercelli/jserver/data"); new File("/percorso relativo/jserver/data"); linea 306 - copyFile("/Vercelli/jserver/data/" copyFile("/percorso relativo /jserver/data/" + "check" + n,"/Vercelli/jserver/" + "check" + n,"/percorso relativo/jserver/" + username + "check" + n3); + username + "check" + n3); Command.java linea 60 - new File("/Vercelli/Jserver"); new File("/percorso relativo/Jserver"); Commander.java linea 21 - new Socket("localhost"... new Socket("nome del server host"... TheLastResource.java linea 65 - new URL("http","localhost"... new URL("http","nome del server host"... Tarea.java linea 16 - String UnivHost = "localhost"; String UnivHost = "nome del server host"; Ora non resta che ricompilare tutti i sorgenti spostandosi nella directory 'Jserver' e digitando: javac *.java Ripetere l'operazione di ricompilazione anche nella directory 'localProvaClient'. Istruzioni per ulteriori modifiche Il sistema di sicurezza del nostro progetto prevede che alcune informazioni siano crittate per impedirne l’accesso a utenti non autorizzati. Abbiamo creato un’utility Java a questo scopo: Encryption.java. In generale i files da crittare sono la pagina HTML contenente le applet della provetta, le immagini della pagina e le immagini associate alle domande. L’ utilizzo di Encryption è molto semplice: lanciato dal prompt dei comandi senza parametri entra in modalità dimostrativa esemplificando la codifica. Per crittare un file seguire questa linea di esempio: Java Encryption c <source file> <target file> A questo punto <target file> sarà crittato e compatibile col nostro sistema. Creare una nuova provetta diversa da quella dimostrativa è abbastanza semplice e intuitivo: Modificare il file check.html ( nella directory localProvaClient ) solo se si vuole cambiare il contesto html delle applet o il numero delle domande ( la nostra provetta dimostrativa supporta 4 domande ). Per aggiungere una domanda semplicemente copiare la linea html che richiama l’applet LortySmartcheck precedente e modificare il parametro name con checkn dove n è un numero progressivo. ( per esempio se la domanda precedente aveva come parametro check4, il parametro per la domanda successiva sarà check5 ) Per cambiare il testo e il numero delle selezioni all’ interno di una domanda, nonchè l’immagine ad essa associata ( se ve ne è una ) sarà sufficiente modificare i file di testo del database di domande all’ interno della directory Jserver/data questi si presentano con la seguente struttura: number=2 question=testo della domanda image=fileimmagine.gif group=yes 1=testo della prima alternativa 2=testo della seconda alternativa il campo number indica il numero delle alternative il campo question contiene la domanda il campo image indica il file contenente l’immagine da associare alla domanda, questo campo è opzionale, se non viene specificato semplicemente non sarà visualizzata nessuna immagine; l’immagine specificata deve essere crittata ( vedi sopra ) il campo group indica se possono essere specificate più risposte valide ( group=no ) oppure se può essere scelta una sola risposta ( group=yes ) i checkbox saranno rotondi o quadrati a seconda della scelta. I campi numerici contengono i testi delle alternative proposte.