Single Instance Webstart : RFC 22 |
Editor(s): Sarah Killcoyne |
<<TableOfContents: execution failed [Argument "maxdepth" must be an integer value, not "[2]"] (see also the log)>>
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 Wikipedia Entry: Request for Comments (RFCs)
Status
12/12/06 Preliminary writeup, comments appreciated
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
Use of Cytoscape via webstart could be easier and permit greater functionality to be available to a webstart user if only single instances are permitted but new arguments can be passed to the original instance from a new jnlp.
Biological Questions / Use Cases
Use Case:
1. U Mich has a website front end to a molecular interactions database. Links on the site open new instance of cytoscape. This prevents any cross-network functions from being used.
2. t1dbase.org has website front end to multiple protein-protein sources. Also opens multiple instances.
General Notes
By opening multiple instances cross-network functions are unavailable. However, there are cases where a new instance may be desirable so it needs to be an option.
ISSUES:
- If the jnlp’s are different in the plugins loaded (or any other library) the original instance will not get any plugins added in (or removed). Arguments may need to be checked and a new instance opened if this is the case.
- There would need to be a way to let all other plugins know about new arguments (maybe this is already available?).
Requirements
From the JDK 1.5 jnlp.jar SingleInstanceService and SingleInstanceListener
The jnlp.jar file currently included in libs would need to be updated.
Deferred Items
Open Issues
I'm unsure what the best solution would be. The jnlp classes are specific to webstart so should not hinder multiple instances of the desktop. I think for simplicity adding the SingleInstanceService/Listener to the intialization would work fine. As a plugin it would need access to the method that parses arguments in CyMain. Either way would require notifying any listening plugin that new arguments have been introduced.
Backward Compatibility
Expected growth and plan for growth
References
Download single instance plugin: http://db.systemsbiology.net/cytoscape/skillcoyne/TestPlugin.jar
Source code for plugin: http://db.systemsbiology.net/cytoscape/skillcoyne/TestPluginSource.zip
Implementation Plan
Comments
GaryBader - 2006-12-14 09:39:10
We should definitely do this. We were basically waiting until Java1.5 was more widely available to do this and now that it is (and that Cytoscape has moved to 1.5), we should be more confident that most web start users will have the latest version that supports this feature.