README.rdoc in t2-server-1.0.0 vs README.rdoc in t2-server-1.1.0

- old
+ new

@@ -2,13 +2,15 @@ Authors:: Robert Haines Contact:: mailto:support@mygrid.org.uk URL:: http://www.taverna.org.uk/ Licence:: BSD (See LICENCE or http://www.opensource.org/licenses/bsd-license.php) -Copyright:: (c) 2010-2013 The University of Manchester, UK +Copyright:: (c) 2010-2014 The University of Manchester, UK +{<img src="https://badge.fury.io/rb/t2-server.png" alt="Gem Version" />}[http://badge.fury.io/rb/t2-server] {<img src="https://codeclimate.com/github/myGrid/t2-server-gem.png" />}[https://codeclimate.com/github/myGrid/t2-server-gem] +{<img src="https://travis-ci.org/myGrid/t2-server-gem.svg?branch=master" alt="Build Status" />}[https://travis-ci.org/myGrid/t2-server-gem] == Synopsis This is a Ruby library to interface with the Taverna 2 Server REST API. @@ -26,13 +28,11 @@ You can also download the source code from here: https://github.com/myGrid/t2-server-gem == Compatibility -After the release of version 1.0.0 this gem will follow the principles of -{Semantic Versioning}[http://semver.org/]. Until that point there may be -breaking changes to the API, although these will be kept to a minimum. +This gem uses {Semantic Versioning}[http://semver.org/]. === Taverna Server Versions 0.9.x of this library are compatible with Taverna Server 2.3 and 2.4. It is not compatible with any earlier version of Taverna Server due to breaking @@ -50,23 +50,29 @@ We strongly encourage all users to upgrade to the current version of Taverna Server, but if that is not possible right now then these are the recommended version pairings: * pre Taverna Server 2.3, use version 0.6.1 of the gem * 2.3, use version 0.9.3 -* 2.4 and up, use version 1.0.0 +* 2.4 and up, use version 1.0.0 and up. === Ruby This library is known to work with the following versions of Ruby: -* 1.8.7 * 1.9.2 -* 1.9.3 * -* 2.0.0 +* 1.9.3 +* +* 2.0.0 +* +* 2.1.0 + -Those marked with an asterisk (*) are supported and bugs found against them -will be fixed. Other versions may work but are not tested or supported. +Those marked with an asterisk (*) are fully supported and bugs found against +them will be fixed. Other versions may work but are not tested or supported. +Those marked with a plus (+) are tested in +{https://travis-ci.org/myGrid/t2-server-gem}[Travis]. + +Ruby 1.8.7 is no longer supported as it reached its end of life at the end of +June 2013. + == Usage There are two entry points for the T2Server API: * T2Server::Run - Use this for running single jobs on a server. * T2Server::Server - Use this if you are providing a web interface to @@ -231,23 +237,40 @@ run.baclava_input = filename But make sure you request baclava output *before* starting the run. Baclava output can be downloaded into memory or saved directly to a file. - run.request_baclava_output + run.generate_baclava_output run.start run.wait output = run.baclava_output # download to memory run.baclava_output("/path/to/output.baclava") # save to a file +Later versions of Taverna Server can generate a complete provenance log of a +workflow run in {Taverna-PROV}[https://github.com/myGrid/taverna-prov] format. +The generation of provenance data must be requested *before* starting the run. + + run.generate_provenance + run.start + ... + provenance = run.provenance # download to memory + run.provenance("/path/to/provenance.zip") # save to a file + +The resultant provenance bundle is a zip file containing all input, output and +intermediate values as separate files, along with the provenance of +the workflow run. The bundle is based on the +{Research Object Bundle specification}[http://wf4ever.github.io/ro/bundle/], +and complies with the +{W3C PROV-O provenance specification}[http://www.w3.org/TR/prov-o/]. + The log from Taverna Server can be downloaded in a similar way to zip files or Baclava documents. log = run.log # download to memory run.log("/path/to/log.txt") # save to a file When downloading outputs the underlying stream can be accessed by supplying a -block to the value, zip_output, baclava_output or log methods: +block to the value, zip_output, provenance, baclava_output or log methods: run.output_port("port_name").value do |data| print data end