Taverna 3

Nested workflow ports can get out-of-sync with main workflow

Details

  • Type: Bug Bug
  • Status: Open Open
  • Priority: Critical Critical
  • Resolution: Unresolved
  • Affects Version/s: 2.4.1
  • Fix Version/s: None
  • Labels:
    None

Description

If a nested workflow is replaced by a workflow (for example an edited version) which has a port with a different depth, then the processor in the main workflow does not update the depth of the port.

  1. GalaxyGeneList_shorter.csv
    2012-01-16 12:08
    2 kB
    Alan Williams
  2. import_and_convert_pathwaysNested3.t2flow
    2012-01-16 11:58
    153 kB
    Alan Williams
  3. nesting.t2flow
    2012-01-16 11:50
    12 kB
    Alan Williams

Activity

Hide
Alan Williams added a comment - 2012-01-16 11:52

The attached nesting.t2flow shows this problem.

If the nested workflow is edited in situ then Taverna is OK and the connection between the port of the nested workflow and that in the main workflow is broken. However, if you edit the nested workflow, save it to a file and then do a replace workflow in the main workflow, then the connection remains even though the depths of the ports do not match.

Show
Alan Williams added a comment - 2012-01-16 11:52 The attached nesting.t2flow shows this problem. If the nested workflow is edited in situ then Taverna is OK and the connection between the port of the nested workflow and that in the main workflow is broken. However, if you edit the nested workflow, save it to a file and then do a replace workflow in the main workflow, then the connection remains even though the depths of the ports do not match.
Hide
Alan Williams added a comment - 2012-01-16 11:56

Katy originally found the problem with import_and_convert_pathwaysNested3.t2flow and GalaxyGeneList_shorter.csv (attached)

Show
Alan Williams added a comment - 2012-01-16 11:56 Katy originally found the problem with import_and_convert_pathwaysNested3.t2flow and GalaxyGeneList_shorter.csv (attached)
Hide
Alan Williams added a comment - 2012-01-18 11:24

Editing a nested workflow in situ does

List<Processor> dataflowProcessors = findProcessors(parentDataflow, dataflowActivity);
List<Edit<?>> editList = new ArrayList<Edit<?>>();
editList.add(edits.getConfigureActivityEdit(dataflowActivity, dataflowCopy));
for (Processor dataflowProcessor : dataflowProcessors)

Unknown macro: { editList.add(edits.getMapProcessorPortsForActivityEdit(dataflowProcessor)); }

try
Unknown macro: { editManager.doDataflowEdit(parentDataflow, new CompoundEdit(editList)); }
catch (EditException e)
Unknown macro: { throw new SaveException("Could not configure workflow service " + dataflowActivity, e); }

whereas replacing a nested workflow just does the

edits.getConfigureActivityEdit(getActivity(), nestedFlow

Show
Alan Williams added a comment - 2012-01-18 11:24 Editing a nested workflow in situ does
List<Processor> dataflowProcessors = findProcessors(parentDataflow, dataflowActivity); List<Edit<?>> editList = new ArrayList<Edit<?>>(); editList.add(edits.getConfigureActivityEdit(dataflowActivity, dataflowCopy)); for (Processor dataflowProcessor : dataflowProcessors)
Unknown macro: { editList.add(edits.getMapProcessorPortsForActivityEdit(dataflowProcessor)); }
try
Unknown macro: { editManager.doDataflowEdit(parentDataflow, new CompoundEdit(editList)); }
catch (EditException e)
Unknown macro: { throw new SaveException("Could not configure workflow service " + dataflowActivity, e); }
whereas replacing a nested workflow just does the
edits.getConfigureActivityEdit(getActivity(), nestedFlow

People

Vote (0)
Watch (0)

Dates

  • Created:
    2012-01-16 11:44
    Updated:
    2012-06-19 13:38