5. Appendix.

Table of Contents

5.1. Useful properties.
5.2. Taverna versioning guidelines.

5.1. Useful properties.

These are sytem properties that can be overridden in the startup script used to run Taverna or an external tool, such as exectuteworkflow.bat. The are overridden by appending -Dproperty=<value> to the list of arguments passed to the java command. The best way of overriding these is by adding to the existing set of ARGS already present in the current scripts.


Changing these properties without having a clear idea what they mean can lead to unpredictable and sometimes irreversible behaviour. If you don't know what they mean, then you probably don't need to be changing them!

Table 2.3. Useful Properties

PropertyValue TypeDescription
taverna.homeString, e.g. C:/taverna-home/The location that Taverna settings, logging and libraries are stored. By default when using Windows this is "Documents and Settings\Application Data\Taverna-<version>", using Linux "$HOME/.taverna-<version>", and using the Mac "$HOME/Library/Application Support/Taverna-<version>", where <version> is the Taverna download version, e.g: $HOME/.taverna-1.7.1. This allows different versions to be configured independantly.General configuration files are stored in $taverna.home/conf ; log files are stored in $taverna.home/log; details about installed plugins and plugin sites are stored in $taverna.home/plugins.
taverna.startupString, e.g. C:/taverna-home/If not already defined, this defaults to the location of the bootstrap jar file used to startup Taverna. This property is used to allow default properties and plugins to be defined. By default properties in $taverna.startup/conf, and plugins defined in $taverna.startup/plugins, are used. Similar files in $taverna.home will override these default settings so that users can customise their settings in a multi-user environment.
taverna.repositoryString, e.g C:/taverna-cache/The location that local copies of the artifacts that Taverna is dependant upon are copied to. Note that only libraries that exist in a remote repository are copied here, if they have been found in a 'file:/' based repository a local copy is not made. By default this is $taverna.home/repository.
raven.eclipseAny valueAn experimental setting that forces Taverna to use the System classloader rather than find classes via Raven. Its only useful when running Taverna within Eclipse - and even then the behaviour is not necessarily the same as running Taverna correctly. Its main use is for debugging.
raven.profileURL, or a space seperated list of URLsIf defined this forces this particular profile to be used immediately. Using a single profile means that no update options are available. Setting this property overrides raven.profilelist. If a list is provided, the first successful URL is used.
raven.profilelistURLThis defines the location of the XML that defines a list of profiles available. On first run, a local copy of the lowest version of the profile available in the list is used, and continues to be used until an update becomes available and is selected. An update becomes available when a higher version than the current version becomes defined in the list. Updating the version is not automatic, but requires a request from the user. This property is overridden if a raven.profile property is explicity defined. If a list is provided, the first successful URL is used.
raven.repository.n (where n is a number between 0 and 10).URLThese are repositories that are used to find artifacts, in numerical order. This is useful for intergraters or developers to them to enforce a particular location for an artifact rather than relying on myGrid or Maven repositories. The value 0 to 10, inclusively, are available for custom repositories. Its unsafe to use values higher than this. The common use of this is during development, to set the raven.repository.0 to the local maven repository - this ensures that locally built versions of the artifacts are used rather than those held remotely.
raven.target.artifactIdStringThe artifactId of the artifact containing the object to be invoked at startup by the bootstrap.
raven.target.classStringThe class of the object to be invoked at startup by the bootstrap.
raven.target.groupIdStringThe groupId of the artifact containing the object to be invoked at startup by the bootstrap.
raven.target.methodStringThe method to be invokded by the bootstrap at startup. This method may be static or non-static, but must either take no parameters or String array (String[]).