Skip to end of metadata
Go to start of metadata


Investigate using the old T1 Workflow Diagram (BETA) as a basis to allow support for some drag and drop capabilties. If this is not suitable look into other approaches.

The goal here is not to create a perfect Drag and Drop solution, but a partial solution that satisfies the needs of most of our users. 

  • Refactor old workflow diagram as a UI component in a perspective.
  • Update event handling to make the above work correctly (if required).
  • Identify easily implementable gaps.
  • Implement the above.


06/02/08 (S Owen)

Tested the old WorkflowEditor UIComponent within a perspective. Although far from perfect it is quite usable and supports most of the features we are looking for.

I've done some refactoring and seperated this component, and a corresponding UIComponentFactory in a new module: /scufl/scufl-ui-components/scufl-interactive-diagram.

I've also created a new perspective module: /perspectives/perspective-interactive-design which uses the WorkflowEditor as a named component.

To test this you need to add:

<artifact groupId="" artifactId="scufl-interactive-diagram" version=""/>
<artifact groupId="" artifactId="perspective-interactive-design" version=""/>
to the $TAVERNA_HOME/conf/current-profile.xml
I've added these to the default profile in taverna-bootstrap/resources.


There is currently an issue when switching perspectives. A call to attachToModel on the UIComponent results in a "listener mismatch" error being reported which stems from setUI(new BasicGraphUI() {... line 318 in This only happens when the perspective defines the editor as a named component, so the problem is likely to be caused by re-adding a GraphModelListener where one already exists.
The attachToModel method needs some significant refactoring.


Bear in mind that the WorkflowEditor component is also used to display progress for a running workflow.

Testing (Franck)

Overall a good start, I was very happy to play with. Once, you know how things work, it becomes very interesting.
A very details guideline will be very useful before the release.
Couple of issues to highlight:

  • when you create more than 1 input or output parameter they all get stacked together making the selection very difficult - FIXED
  • 'SCUFL INTERNAL SINKPORT' appears when you create more than 1 input or output - FIXED
  • the color of the input and output box is sometimes very strange(multiple colours) - FIXED
  • No support for 'complex type services'
  • Renaming an input or output is very difficult, new name doesn't appear until you close then re-open the workflow - FIXED
  • sometimes all the processors+input+output gets stacked together - FIXED

.....still testing....

Testing (Stuart)

  • Can connect a Processor to itself - causes an error which prevents the diagram displaying correctly there on. FIXED
  • The accuracy of right clicking on a node is sometimes slightly off.
  • Renaming input or output ports does not get reflected in the view. - FIXED
  • Renaming an input/output port in the view causes a NullPointerException - FIXED
  • None
  1. 2008-02-21

    If you have multiple arrows from an input to a processor (going to different inputs on the processor) they can get stacked on top of each other and there is no way to cycle through them to remove them, the last placed one always gets selected.  Multiple outputs seemed to behave OK.  The pop up menu seems a bit confusing (although this might well apply to the normal editor anyway), start link from>output>value (with a little squiggly arrow icon) doesn't make a lot of sense to me.  At one point all the gui bits got squidged into the top left of my screen (not sure why, haven't managed to repeat it since) although you only had to add a new input to force it to redraw, after removing that input everything was OK.