Here is a quick introduction to what is new or different in the user interface of Taverna Workbench 2.x from Taverna Workbench 1.7.x.

Important naming convention changes
Workflow elements that have been called “processors” in Taverna 1.7.x are now called “services” in Taverna 2.x. “Local Java widgets” or “local workers” from Taverna 1.7.x are now called “local services”. “Beanshell scripting hosts” are renamed to “Beanshells”.
Service Panel
The available services panel is replaced by the Service Panel (in the upper left of the Workbench). This is still the place to find services available for your workflows, so you can search for services by using the free text search that searches through all available attributes of services, such as location, type, etc.
Local Workers are now called Local Services in the Service Panel, and are organised in categories that appear as sub-folders.
Service Providers
Previously new sets of services were added to the services panel by right-clicking on the Available Processors and choosing an option from the menu. This is replaced by clicking the Add new services button at the top of the Service Panel and picking an option (service type) from the drop-down menu. For each of the service types there is a special Service Provider that can be configured to search and add new service to the list of available services in the Service Panel. The “things” that Service Providers return and that appear under available services are Service Descriptions which are turned into service instances at the point when you add (drag-and-drop) them to a workflow.
Workflow Diagram
In Taverna 1.7.x, the graphical representation of the workflow was “view only”. In Taverna 2.x, you can create and edit your workflow in the Workflow Diagram.
To add a service to the workflow from the Service Panel, drag it onto the Workflow Diagram.
The diagram is interactive, so if you switch to the Display all service ports mode now a toolbar button, you should be able to drag connections directly from an output port to an input port, or the other way. You can also do this in the simpler Display no service ports mode, but you will then have to right-click on the service first and select Link from output or Link to input to initiate the connection. When selecting the destination of the new link a pop-up will ask you for the port name if the service exposes more than one port.
To add workflow input and output ports, right click on a blank space and select Insert -> Workflow input port or Workflow output port. To change a link, just drag it to the new destination, or right-click on it (easier on the wide arrow side) and select Delete data link. Services can be renamed and removed by right clicking on the processor. Note that in all ports mode you need to right click in the middle box with the processor name.
There are also toolbar buttons for adding workflow input and output ports.
Workflow Explorer
The Workflow Explorer (in the lower left corner of the Workbench below the Service Panel) replaces the Advanced Model Explorer of Taverna 1.7.x. Right-click on nodes in the tree to explore the different options offered to you.
Details View
Details View occupies the same space as the Workflow Explorer in the lower left corner and appears as a separate tab. When you left-click on a service in the Workflow Explorer or in the Workflow Diagram (you may have to click in the middle of the service box), the Details View is updated to give a description of the service. You can usually configure the service by clicking the appropriate Configure button below the description. For instance, for a Beanshell service, the configure option should give you a dialog box for editing the script and setting the ports.
One new feature is that Local Services are implemented as Beanshell services, so if a Local Service does not do exactly what you want, you can configure it and customise the script. This only changes that instance of the Local Service in your workflow.
Nested workflows
In Taverna 1.7.x, nested workflows were added to a workflow by a Add nested workflow button in the Advanced Model Explorer. In Taverna 2.x, nested workflows are added to the current workflow from the Service Panel’s Template Services by drag-and-dropping the nested workflow icon into the Workflow Diagram. Alternatively, you may right click anywhere on the white canvas in the Workflow Diagram and select Insert -> Workflow option. This will give you an option to either import a workflow as a nested one (i.e. as a single service in the workflow), or to merge the workflow directly into the current one (by copying its services ports and data links).
In Taverna 1.7.x, the nested workflow was opened from a file or Web location when it was added to the workflow. In Taverna 2.x, the nested workflow can be configured by clicking on it and altering its settings in the Details View. You get the button to Edit workflow to modify the nested workflow, or to Replace nested workflow with a different one. When editing a nested workflow, you need to do File -> Save to make your changes be reflected in the outer (parent) workflow. This save does not save to a file, but saves to the nested workflow service in the outer (parent) workflow.
Undo and redo
New! Taverna 2.x has undo and redo capabilities to help you when you are designing your workflows. For instance, if you removed a service and realised you have made a mistake, you can click Edit -> Undo in the menu to get it back.
Copy/cut and paste
You can copy/cut services and paste them into either the current workflow or a different one.
List handling
If you click on the input ports of a service that has several input ports connected, you can see edit the list handling strategy for that service in the Details View. If you click Configure button, the iteration strategy can be edited in a similar way as in Taverna 1.7.x.
Running a workflow
When running a Taverna 2.x workflow, available through File->Run workflow or the uppermost green Run button in the toolbar, you are able to input the data for your workflow. The capabilities of Taverna 2.x’s Workflow Input Dialog are similar to those in Taverna 1.7.x.

When you launch the workflow, Taverna 2.x switches to the Results Perspective shown below.
While a workflow is running you will be able to see the progress in the Monitor View on the upper right.
You can see the result items in the Port Results View (lower left) appearing as they are produced instead of having to wait until the workflow is finished. To view the data, click on the item in the left hand column. There is a tab for each input and output port.

File menu
For convenience the File menu now has Save all, Close all and Recent workflows options. From the File -> Open dialogue it is now also possible to select several files to open at once. Note that there is currently not a status bar or feedback while the workflows are opened in the background, you might find that some workflows take a few seconds to open.
Workflow file format
The file format of Taverna 2.x has changed from the Scufl of Taverna 1.7.x to support various new features. You will notice that the file extension is .t2flow. Unfortunately, you cannot open Taverna 2.x workflows in Taverna 1.7.x. However, Taverna 2.x can open most Taverna 1.7.x workflows, and will do a translation to Taverna 2.x. Below you may read about some issues with translation.
Note that although some workflows could look slightly different (for instance, default values from Taverna 1.7.x are exposed as String Constants), functionally they should be the same, except in a few cases. If anything goes wrong when translating, an error message should appear; we are working on improving this error message to be more detailed about what could not be translated, and then to still open the workflow to allow you to correct the errors (say with red boxes for services that no longer exist).
If you encounter a Taverna 1.7.x workflow that does not open or does not run correctly with Taverna 2.x, let us know via support@mygrid.org.uk or the taverna-users mailing list (see Contacting us for details).
Translating Taverna 1.7.x workflows
Taverna 2.x will translate and run most Taverna 1.7.x workflows. Below are some of the rare problems you may experience when loading a Taverna 1.7.x workflow into Taverna 2.x.
What will not translate
Taverna 1.7.x workflows cannot be translated into Taverna 2.x if they contain:
- Notification processors
- Any processors based upon third-party plugins that are not part of the Taverna distribution (e.g. Soaplab 2), as they need to be modified for Taverna 2.x.
What will not validate
Before Taverna 2.x runs a workflow, it validates it against certain logical conditions, e.g. it performs type checking, verifies that all workflow output ports are connected and whether the workflow is contains at least one service or output port, etc. This validation does not guarantee that the workflow will not fail; it just verifies that the workflow is “syntactically” correct. You will experience problems if your Taverna 1.7.x workflow has:
- A processor input port where incoming data appears to be merged but there is only one connection to the port (whereas for merged data at least two connections are expected).
- An output port from a Beanshell or an RShell where the indicated depth of the port does not match the actual depth; for example a Beanshell or an RShell that claims to output a list but actually outputs a single value, e.g. a string.
What will not run correctly
The following functionality will be translated into Taverna 2.x, but when you run the workflow it may not function correctly or may produce different results:
- FailIfFalse and FailIfTrue local workers from Taverna 1.7.x – especially when used to achieve looping or conditional branching.
- Beanshell or APIConsumer processors that depend upon external libraries (jars) and the class sharing is not over the “system” classloader.
- Any input port of a processor that has links from multiple sources and the incoming data is not merged.
Different editing possibilities
When you load your workflow into Taverna 2.x, you may notice that some possibilities are currently missing when you try to edit the workflow. These include:
- FailIfFalse and FailIfTrue local workers from Taverna 1.7.x
- Alternates to processors (services)







