← Revision 3 as of 2005-12-08 19:10:24
Size: 914
Comment:
|
← Revision 4 as of 2005-12-09 23:26:51 →
Size: 1075
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
CySession.xml is the file to save current states of the Cytoscape session. | CySession.xml is the file to save current states of Cytoscape session. |
Line 5: | Line 5: |
3. Network Tree structure. | 3. Network Tree structure (shown in Network Panel in CytoPanel 1). |
Line 7: | Line 7: |
5. Annotation for the session 6. Selected/Hidden nodes/edges 7. Plugin state |
5. Annotation (node/memo) for the session 6. Selected/Hidden nodes and edges 7. Plugin state (This topic should be dicussed with plugin writers) |
Line 12: | Line 12: |
The last element is more complicated than others. First of all, we need to create a new signal called "SESSION_SAVE" and "SESSION_LOAD" to tell plugins that session save/load command is called. We may need to create a schema for each plugin to describe its state. | 7 is more complicated than others. First of all, we need to create new signals called "SESSION_SAVE" and "SESSION_LOAD" to tell plugins that session save/load command is executed. To simplify this process, we may need a standard for plugin state saving mechanism. One possible solution is: |
Line 14: | Line 14: |
==== How to save plugin state in a file ==== Once plugins get the signal (SESSION_SAVE), they need to save the state as an XML file and tell the session writer class the file location. When all plugins finish this process, session writer class copies it into a zip file. |
* Create a schema for each plugin to describe its state. * Use JAXB to create Java code to access plugin states in an XML file. * Session Saving class copies state xml files for each plugins, and then zip them into .cys file. In any case, we should create a standard to save/load plugin states. |
CySession.xml is the file to save current states of Cytoscape session. The following information will be stored in the XML document:
- List of networks opened in current session.
- States of Cytopanels 1~3.
Network Tree structure (shown in Network Panel in CytoPanel 1).
- Session ID
- Annotation (node/memo) for the session
- Selected/Hidden nodes and edges
- Plugin state (This topic should be dicussed with plugin writers)
Plugin State
7 is more complicated than others. First of all, we need to create new signals called "SESSION_SAVE" and "SESSION_LOAD" to tell plugins that session save/load command is executed. To simplify this process, we may need a standard for plugin state saving mechanism. One possible solution is:
- Create a schema for each plugin to describe its state.
- Use JAXB to create Java code to access plugin states in an XML file.
- Session Saving class copies state xml files for each plugins, and then zip them into .cys file.
In any case, we should create a standard to save/load plugin states.