Under Construction


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.
Il servizio di localizzazione del server ftp si basa sulla Shared Object API di ECF, che "fornisce servizi di base per la creazione di repliche di Java Objects o 'shared objects' in un container distribuito". Nello specifico, quando il client plugin viene avviato, quest'ultimo fa richiesta dell'indirizzo del server ftp al server plugin,'condividendo' un oggetto Java mediante il proprio container. Il server plugin risponde aggiungendo nel container corrispondente un oggetto rappresentante l'indirizzo del server ftp, che verrà poi recuperato dal client plugin. A questo punto il client plugin può connettersi al server ftp.

Dal punto di vista grafico, il tool presenta attualmente due pulsanti, una label ed una vista ad albero.Il primo pulsante consente l'invio di un file, scelto dal file system locale, al server ftp.Il secondo pulsante consente all'utente di scegliere, dalla cartella in cui vengono salvati i file scaricati dal server ftp, un file da aprire. Tuttavia, l'utente può anche scegliere di aprire un file in una cartella differente sul proprio file system. La vista ad albero dei files presenti sull'ftp server viene visualizzata sotto i due pulsanti. Cliccando con il tasto destro del mouse sulla vista, si apre un pop-up menu che permette all'utente:

  1. il download multiplo di files e cartelle dal server ftp
  2. l'eliminazione multipla di files e cartelle che risiedono sul server ftp
  3. la creazione di una directory sul server ftp
  4. il refreshing della vista

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

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

  • FTP
    • RFC 959