RFC Name : ... |
Editor(s): ... |
About this document
This is an official Request for Comment (RFC) for Add your text here
For details on RFCs in general, check out the [http://www.answers.com/main/ntquery?method=4&dsid=2222&dekey=Request+for+Comments&gwp=8&curtab=2222_1&linktext=Request%20for%20Comments Wikipedia Entry: Request for Comments (RFCs)]
Status
"Open for public comment"
How to Comment
To view/add comments, click on any of 'Comment' links below. By adding your ideas to the Wiki directly, we can more easily organize everyone's ideas, and keep clear records. Be sure to include today's date and your name for each comment. Here is an example to get things started: ["/Comment"].
Try to keep your comments as concrete and constructive as possible. For example, if you find a part of the RFC makes no sense, please say so, but don't stop there. Take the extra step and propose alternatives.
Proposal
Cytoscape is currently able to import 3 types of files, SIF, GML, and XGMML. These file types are hard coded throughout the system (the import action, in Cytoscape.createNetwork, etc.). There is no mechanism for easily and seamlessly integrating the import of other file types, such as SBML by a plugin. BR
Define an ImportableFileType interface. The interface will define several methods such as: fileTypeID, fileTypeSuffix, fileTypeDescription, getReader.
Anything that loads files (Cytoscape, ImportGraphFileAction) will include a list of objects that each implements the interface for it's particular file type.
- Instead of checking to see if a filename matches a particular file type with mulitple if statements, the loading class would simply loop through it's list of file type objects and then the file type object would see if it could load the file, and do so if possible.
Alternatively, we could centralize this behavior in a single ImportHandler object.
- Plugins could seamlessly add themselves to the list of allowable file types by adding a file type object to the loading class.
- This should be easy to accomplish without breaking any of the public interface.
Biological Questions / Use Cases
I want to import files of type: (fancy new file format).
General Notes
Requirements
Support current file types.
References
Implementation Plan
- ["/Implementation Plan"]