Porting Core Plugins

Cytoscape's 2.6.x core plugins should now be largely ready for porting to 3.0. This is a list of the plugins to be ported and notes about doing so.

Basic Steps

  1. You should begin with the coreplugin code found in the cytoscape3 repository since all of the code has already been ported to maven.

  2. Go into the directory containing the target module.
  3. Try running mvn package on the module. You should see lots of errors!

  4. Determine which bundles need to be declared in the module pom file. For instance if your module uses CyNetwork and CyNetworkView, you'll need to declare dependencies on org.cytoscape.model and org.cytoscape.view.model to get access to the necessary classes.

  5. Now start the editing the code to fix the errors identified by the compiler (or your IDE). Keep fixing errors/compiling until everything compiles. See tips on porting to 3.0 for specific code suggestions.

  6. Once everything compiles, you'll need to configure Spring to construct everything properly. See tips on porting to 3.0 for hints on how to get Spring working.

  7. Now configure your osgi.bnd file to declare the proper packages public and private. In general, the expectation is that most coreplugin packages should be private. If you make anything public, then you should only be making a package that contains interfaces (and possibly an abstract class or two) public.

  8. Now move to the top level cytoscape3 directory, uncomment your module from the top level pom and run mvn clean install to see if the whole project compiles.

  9. Now verify that cytoscape runs by executing mvn pax:run. Iterate until it does!

Next Steps













Outdated_Cytoscape_3.0/PortingCorePlugins (last edited 2011-02-24 15:40:29 by PietMolenaar)

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