RFC Name : Code Layering

Editor(s): Alex, Sarah

Status: Open for Comment

<<TableOfContents: execution failed [Argument "maxdepth" must be an integer value, not "[2]"] (see also the log)>>


Code Layering - for the purpose of enabling a command layer (headless mode) and different front ends (e.g., web-based or SVG). Some may see this as refactoring, but I think we can identify critical feature-based goals that derive from code layering that can be more readily justified as project aims that are typically expected to produce something "new".

Use Cases

General Notes



Controller/Observer (something to handle events):


Backward Compatibility

Implementation Plan


July 25, 2007: ScooterMorris

This may belong in a separate RFC, but with the discussion of scripting interfaces, and all of the complexity that we all had to understand to be able to program in Cytoscape, I'm wondering if we could being the process of providing a cleaner abstraction to the API layer of Cytoscape. I would propose we could do this by implementing CyNetwork, CyNetworkView, CyNode, CyNodeView, CyEdge, and CyEdgeView interfaces that would provide most of the necessary functionality that is now provided by the Cy* classes and the giny interfaces. This would greatly simplify some of our layering efforts, and eventually put us in position to replace the current giny/ding/fing backend if something better came along. This is a long process and will take several releases to complete, I'm sure, but with the layering and scripting discussions, I thought now might be a good time to begin the process.

How to Comment

Edit the page and add your comments under the provided header. 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. 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.

CodeLayering (last edited 2009-02-12 01:04:08 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