RFC Name : TaskMonitorRefactoring

Editor(s): ScooterMorris

Status: Work in Progress

TableOfContents([2])

Proposal

The current TaskMonitor mechanism has a number of flaws and challenges. First, task monitors are managed by passing task monitor objects as arguments to various methods. This can be onerous, since it means that all routines which call routines that might need a task monitor must themselves either accept a task monitor as an argument, or create a task monitor. Second, as Cytoscape processing becomes more complex, a single progress bar is no longer sufficient. For example, BioPAX loading has several steps, and each step updates the progress bar. This provides the user with information about how long the current step might take, but gives them no feedback about how many steps there are.

Open Issues

Backward Compatibility

Expected growth and plan for growth

References

Implementation Plan

One proposal would be to:

  1. Enhance the current task monitor to provide two progress bars: an overall progress, and a progress within this step.
  2. Provide a singleton class that represents the "current" task monitor. Processing routines could use this to determine if a task monitor is available, and update it if it is. This would allow us to avoid having to pass task monitor objects to all routines.

Comments

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.

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