Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Scufl2 has moved to Apache (incubator) 

Information in this section is out of date!

 

The SCUFL2 API provides Java classes that can be used independently from Taverna to inspect, modify and generate SCUFL2 workflows.

...

The code and definitions for SCUFL2 are kept in the GitHub project scufl2.

Modules

Official modules:

  • scufl2-api Java Beans for working with SCUFL2 workflow structure
  • scufl2-t2flow .t2flow import from Taverna 2
  • scufl2-rdfxml .wfbundle import/export (RDF/XML)
  • scufl2-ucfpackage Structured ZIP-file support (used by scufl2-rdfxml)

...

  • scufl2-usecases Example codes. (Replaced by https://github.com/myGrid/scufl2-examples)
  • scufl2-rdf Pure RDF export/import (out of date)
  • scufl2-scufl SCUFL 1 .xml import from Taverna 1
  • scufl2-validation API for validating a Scufl2 workflow bundle
  • scufl2-validation-correctness Validate correctness of Scufl2 workflow definition
  • scufl2-validation-structural Validate that a Scufl2 workflow definition is structurally sound
  • scufl2-validation-integration Integration tests for scufl2-validation modules

Maven

The simplest way to use the SCUFL2 API is to use Maven 3 (Maven 2 should also work) and the myGrid Maven repository. See the example pom.xml.

In short, add to your pom.xml:

Code Block
xml
<properties>
	<scufl2.version>0.14.0</scufl2.version>
</properties>
<repositories>
	<repository>
		<releases />
		<snapshots>
			<enabled>false</enabled>
		</snapshots>
		<id>mygrid-repository</id>
		<name>myGrid Repository</name>
		<url>http://www.mygrid.org.uk/maven/repository</url>
	</repository>
</repositories>
<dependencies>
	<dependency>
		<groupId>uk.org.taverna.scufl2</groupId>
		<artifactId>scufl2-api</artifactId>
		<version>${scufl2.version}</version>
	</dependency>
	<dependency>
		<groupId>uk.org.taverna.scufl2</groupId>
		<artifactId>scufl2-t2flow</artifactId>
		<version>${scufl2.version}</version>
	</dependency>
	<dependency>
		<groupId>uk.org.taverna.scufl2</groupId>
		<artifactId>scufl2-rdfxml</artifactId>
		<version>${scufl2.version}</version>
	</dependency>
</dependencies>

The <property>scufl2.version</property> used above allows you to consistently upgrade to later versions of SCUFL2. Note that the version number above might not be the latest, see Release notes.

Releases

0.14.0

2014-04-30: This release adds the methods WorkflowBundleIO.getSupportedReaderMediaTypes() and getSupportedWriterMediaTypes(). This version will not allow invalid names of workflow beans , (e.g. containing /:or ASCII controll characters).

Changes: (commit log)

  • ReaderException if nested workflow uuid is not found
  • SCUFL2-87: Disallow certain invalid characters in name

  • use Accept headers for readBundle(URL)
  • t2flow parser: Updated error msg if missing dispatch layer
  • Log warning if multiple mediatypes are detected
  • Escape \ in annotations to \\ in Turtle

  • Content type "content/unknown" (as returned by OpenJDK 7 URLConnection) ignored 

0.13.1

2013-11-18: This patch release updates SCUFL2's t2flow parser to correctly set the @base for any SemanticAnnotation's, e.g. from Taverna 2's Component Plugin. This is used by scufl2-wfdesc which now embeds any annotations on workflows, processors and ports.

...

...

2013-10-07: This patch release primarily adds a manifest:version attribute in the Workflow Bundle's META-INF/manifest.xml, version 0.3.0 indicates the modified bundle format with JSON configurations as of SCUFL2 API 0.12.0.

...

2013-10-07: This release changes the API for Configurations. PropertyResource and friends have been replaced with JSON configurations, accessible using Jackson. Note that this means that the configuration for all the default Taverna activities also have changed. The motivation for this was to simplify the flexibility of configurations within the SCUFL2 API, Taverna 3 activities and third-party read/write of Workflow Bundles.

...

2013-04-25: A "silent" release which updates annotation support, used by scufl2-wfdesc.

...

Changes: (commit log)

...

2012-06-12: First public release.

...

Changes: (commit log)

First internal release.

Maven

The simplest way to use the SCUFL2 API is to use Maven 3 (Maven 2 should also work) and the myGrid Maven repository. See the example pom.xml.

In short, add:

...

<properties>
	<scufl2.version>0.14.0</scufl2.version>
</properties>
<repositories>
	<repository>
		<releases />
		<snapshots>
			<enabled>false</enabled>
		</snapshots>
		<id>mygrid-repository</id>
		<name>myGrid Repository</name>
		<url>http://www.mygrid.org.uk/maven/repository</url>
	</repository>
</repositories>
<dependencies>
	<dependency>
		<groupId>uk.org.taverna.scufl2</groupId>
		<artifactId>scufl2-api</artifactId>
		<version>${scufl2.version}</version>
	</dependency>
	<dependency>
		<groupId>uk.org.taverna.scufl2</groupId>
		<artifactId>scufl2-t2flow</artifactId>
		<version>${scufl2.version}</version>
	</dependency>
	<dependency>
		<groupId>uk.org.taverna.scufl2</groupId>
		<artifactId>scufl2-rdfxml</artifactId>
		<version>${scufl2.version}</version>
	</dependency>
</dependencies>

The <property>scufl2.version</property> used above allows you to consistently upgrade to later versions of SCUFL2. Note that the version number above might not be the latest, see #Release notes.

Source code

You should not need to compile the SCUFL2 API for most uses, as the Maven deployment even includes the source code for retrieval by tools like Eclipse using the m2e plugin.

...

Note
titleSeparate JARs

The build does not yet produce a single scufl2.jar for non-Maven users. This is planned for the 1.0 release. See #Usage Usage below on how to use the JARs independently.

...

The simplest way to use the SCUFL2 API is as Maven dependencies. See Maven above.

Typical use of the Scufl2 API will depend on the three modules scufl2-api, scufl2-t2flow and scufl2-rdfxml.

...

Note that version numbers and download links above might not be the latest, see Release notes

Javadocs

The SCUFL2 Javadocs document the core classes and functions of the SCUFL2 API. A good starting point is the package uk.org.taverna.scufl2.api.

If you are using Eclipse, then the built-in Maven support (m2e plugin) is able to provide both JavaDocs and source code from within the editor. After adding the Maven dependencies for SCUFL2, try Open declaration or Open Type on a class like uk.org.taverna.scufl2.api.io.WorkflowBundleIO. (You can open the class with Navigate -> Open Type).

...