Below is a collection of ideas for the design of a client interface to MySpace and its integration with the existing AVO prototype.
User Interface
Screenshot of a possible MySpace browsing interface embedded into the load dialog of the AVO prototype.
Requirements/Features
- authenticate MySpace user
- file browsing of MySpace storage
- download capability for user selected files
- select viewer (plug-in) depending on file type
- export files to MySpace node
- ...
... to be continued ...
Interface between MySpace and the AVO prototype
Dave Morris, Keith Noddle and Thomas Boch met in Leicester on September 21st. The following interfaces have been defined :
interface AladinAdapter {
/** Checks the community password, resolves the community account space,
* and resolves the file store
*
* @param account
* @param passwd
* @throws SecurityException if it fails to login
*/
void login(Ivorn account, String passwd) throws SecurityException;
/** Returns AladinFile for root of account space
*
* @return AladinFile
* @throws SecurityException if not logged in
*/
AladinFile getRootNode() throws SecurityException;
}
interface AladinFile {
String getName();
/**
* if the object is a file,
* returns a string representing the mime type for this data
* @return String
*/
String getMimeType();
/**
* if the object is a file,
* returns an InputStream with the content of the file
* @return InputStream
*/
InputStream getStream();
/**
* if the object is a directory,
* returns an array of AladinFile denoting
* the directories and files in this directory
* @return AladinFile[]
*/
AladinFile[] getChildNodes();
boolean isFile();
boolean isDirectory();
AladinFile newChildNode();
AladinFile addFile();
OutputStream putStream();
}
AstroGrid will provide with the 2 classes implementing these interfaces. Thanks to these classes, the tree structure of files will be retrieved and displayed in the AVO prototype.
|