Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Breakdown:

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.

Notes:

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="uk.org.mygrid.taverna.scufl.scufl-ui-components" artifactId="scufl-interactive-diagram" version="1.7.0.0"/>
and
<artifact groupId="uk.org.mygrid.taverna.perspectives" artifactId="perspective-interactive-design" version="1.7.0.0"/>
to the $TAVERNA_HOME/conf/current-profile.xml
I've added these to the default profile in taverna-bootstrap/resources.

Issues

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 WorkflowEditor.java. 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.

Considerations

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