Skip to end of metadata
Go to start of metadata

The KISS workflow designer is based on the WireIt JavaScript library. For the latest WireIt code and their official documentation see the WireIt Web site.

This is a prototype designed to show how existing workflows can be connected together and run using the Taverna Command Line Tool and later the Taverna Server.

This is not a replacement for the Taverna Workbench and its workflow editor.


Demo of the application is available at This is a demo for the NeISS project so most of the Taverna modules included are related to it.

If the page appears strange the first time you land on it - do a refresh - for some reason css/JavaScript are not being picked properly by a Web browser (tried with Firefox and Chrome). Also there are sometimes issues with diagram, e.g. close buttons are not shown sometimes etc. This is probably due to some JavaScript issues as the app is installed inside Liferay rather than standard Tomcat. This is not a problem with the app itself.


You can quickly try it out by downloading the .war\ file and configuring the application as explained in the documentation for administrtors and developers, in the case you do not want to compile it yourself. The .war is for the demo for the NeISS project.

Documentation for administrators and developers

Documentation for administrators and developers interested in installing the application, looking at the source code or extending the existing code is available on-line.

Current state and limitations

  • Setting individual inputs is limited to workflows where all inputs are depth 0 or 1
    • Input can be a string
    • Input can be content downloaded from a URL
    • Input can be a list of strings; you can define list delimiter
  • Baclava input is supported (where Baclava file is available from a URL) for cases where all workflow inputs are specified in one Baclava file
  • Baclava output is supported
    • As a URL pointing to the raw Baclava document
    • Baclava Viewer is available for displaying Baclava content in a Web browser
    • Baclava output from one workflow can be used as Baclava input for another workflow, if and only if the input port names are a subset (or equal to) the output port names
  • Individual output support by casting to a string
  • List output is supported by flattening lists of lists and casting to string
  • Only predefined workflows can be used as components to compose "wirings"
    • This is mainly for security and not to allow arbitrary workflows to be run
    • Additional workflows can easily be added by application administrators

Possible future work

  • Replace Taverna Command Line Tool with the Taverna Server
  • Components should be proper Taverna components/nested workflows rather than the top level workflows and we should combine one big workflow (currently the workflow is saved as WireIt "wiring" in JSON format) that gets executed once rather than a number of small workflows that get executed separately
  • Uploading input files for workflows from client to server
  • When Baclava output is used as an input downstream - the port names have to match. Would be nice to be able to rename the ones not matching or to link them somehow
  • Creating a Baclava input file
  • Automatic generation of WireIt 'wirings' based on Taverna workflows
    • With placeholders/tips on how to add links and tooltips
  • Better handling of list of lists (if required)
  • Security
  • User accounts
  • Support for Scufl 2 workflows
  • Support for Taverna 1 workflows (if required)
  • Partial run/ask for input/continued run prototype
  • None