User:Fracav
From ISISlab
Contents |
Francesco Cavezza
- L'uomo libero è come una nuvola bianca. Una nuvola bianca è un mistero; si lascia trasportare dal vento, non resiste, non lotta, e si libra al di sopra di ogni cosa. Tutte le dimensioni e tutte le direzioni le appartengono. Le nuvole bianche non hanno una provenienza precisa e non hanno una meta; il loro semplice essere in questo momento è perfezione. (Rajneesh Chandra Mohan Jain aka Osho)
Lavoro: Un tool per la condivisione di documenti in CoFFEE
Il tool che sto sviluppando ha lo scopo di consentire la condivisione di documenti all'interno di CoFFEE, realizzata utilizzando il protocollo FTP per la trasmissione dei dati sulla rete.
Il tool consiste di tre plugins, un server plugin, un client plugin ed un common plugin, che rappresenta la parte "in comune", ovvero contenente le librerie condivise sia dal client che dal server.
Il server plugin è avviato unitamente ad un server ftp, che gestisce le richieste di upload, download, delete di files e di creazione ed eliminazione di directories. Il server ftp utilizzato è jftpd. Sia server plugin che client plugin utilizzano un'implementazione della File Transfer API di ECF, la quale utilizza il client ftp finj per poter comunicare con il server ftp.
Un aspetto importante che ha inciso sulla realizzazione del tool è la gestione dei gruppi: una CoFFEE session è costituita da diversi passi; ogni passo può essere diviso in gruppi; all'interno di ogni gruppo può essere utilizzato un tool, non necessariamente uguale a quello di un altro gruppo. Il senso dei gruppi all'interno di un passo consiste nel suddividere la classe di studenti in gruppi distinti, ognuno dei quali non ha visibilità di ciò che stanno facendo(che tool si sta utilizzando) gli altri gruppi. Per quanto riguarda DocShareTool, la suddivisione in gruppi è stata gestita nella maniera seguente: allo startup l'insegnante sceglie una cartella sul server ftp, a cui è associato un file xml con delle informazioni riguardanti l'"appartenenza dei files ai gruppi"; clients appartenenti a gruppi diversi utilizzeranno questa cartella per la condivisione dei documenti, ma avranno una visibilità limitata di essa(in base alle informazioni contenute nel file xml). Tutte le operazioni effettuate sul server ftp (aggiunta,rimozione di files e cartelle) sono "filtrate" mediante il file xml associato alla cartella scelta nella fase di startup. Dopo la scelta della cartella nella fase di startup, il server plugin invia l'indirizzo IP del server ftp e e il nome della cartella utilizzata a tutti i clients collegati. Queste due informazioni verranno utilizzate per l'aggiunta e la rimozione di files e cartelle sul server ftp da parte dei clients.
Dal punto di vista grafico, il tool presenta una vista ad albero in cui vengono visualizzati i files presenti sul server ftp. Si possono inviare/scaricare files al/dal server ftp mediante operazioni di Drag 'n' Drop. Le operazioni che si possono effettuare sono le seguenti:
- invio di più files contemporaneamente sul server ftp
- il download multiplo di files e cartelle dal server ftp
- l'eliminazione multipla di files e cartelle che risiedono sul server ftp
In particolare, per quanto riguarda l'eliminazione multipla di files e cartelle, sono state aggiunte delle restrizioni: al server viene consentita l'eliminazione di tutti i files che risiedono sul server ftp, mentre ai clients viene consentita la rimozione di quei files di cui ognuno di loro è proprietario, cioè ogni client può rimuovere solo quei files che egli stesso ha inserito in precedenza. Inoltre, in aggiunta alla politica precedente, attualmente possono essere eliminate solo cartelle che non contengono files.
Seminari
- Un tool per la condivisione di documenti in CoFFEE 20/11/2009
- Un tool per la condivisione di documenti in CoFFEE 19/02/2010
Software utilizzato
- Java JDK 1.6 update 14
- Eclipse SDK 3.4.2 Ganymede
- Eclipse Communication Framework (ECF) 2.1
- CoFFEE 4.3.1
Riferimenti
- CoFFEE
- ECF
- Drag 'n' Drop
- FTP

