RFC Name : ...

Editor(s): ...

<<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 Cytoscape preference initialization.

For details on RFCs in general, check out the 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 initialized in one way: the command line. Plugin writers can access this command line on their own and parse any additional arguments specified on the command line. The problem with this approach is that it exposes the rather messy and cumbersome command line to parts of the system that don't need to know about argument parsing.

I propose changing the command line to handle only a small number of arguments directly (e.g. graphs, attributes, and plugins) and have all other options specified as properties. Properties could be specified in any of the following ways:

Instead of providing dozens of hard coded get methods in CytoscapeInit, users would access a Properties object and get the property that way (e.g. CytoscapeInit.getProperties().getProperty("canonicalization"); ). The preferences gui could either be clever and infer widgets based on type (e.g. the value of a property is "true" then present the property in the preferences dialog as radio buttons) or keep a scheme similar to what we have.

Plugin writers would access any initialization parameters they need through the specified properties.

Upsides

Downsides

Backward Compatibility

Several methods and current schemes for passing information would be deprecated, but no functionality would be lost.

Expected growth and plan for growth

Growth would just be a matter of adding new properties to be handled.

PreferenceInitializationRFC (last edited 2009-02-12 01:03:29 by localhost)

Funding for Cytoscape is provided by a federal grant from the U.S. National Institute of General Medical Sciences (NIGMS) of the Na tional Institutes of Health (NIH) under award number GM070743-01. Corporate funding is provided through a contract from Unilever PLC.

MoinMoin Appliance - Powered by TurnKey Linux