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