Workflow

Workflow

A workflow defines the set up steps that compose a job. These steps may include packaging, validation, and uploading to one or more storage services.

If the packaging format is BagIt, the Workflow should include a BagIt profile as well.

A workflow allows users to define a repeatable set of actions, and to run jobs based on those pre-defined actions.

For info on how to create a Job from a Workflow, see Workflow.fromJob.

For info on how a Workflow becomes a Job, see JobParams#toJob.

Constructor

new Workflow(opts)

Parameters:
Name Type Description
opts object
Properties
Name Type Attributes Description
name string

The name to assign to this Workflow.

description string <optional>

An optional description of this workflow.

packageFormat string <optional>

The package format, if this workflow includes a packaging step. Options include "None", "BagIt", or the UUID of any format/write plugin.

packagePluginId string <optional>

The id of the plugin that will write the package to disk, if there is a packaging step.

bagItProfileId string <optional>

The id of the BagIt profile to be used in the packaging step, if there is a packaging step. If this is specified, the package will be a bag that conforms to this profile.

storageServiceIds Array.<string> <optional>

A list of StorageService ids. The workflow will upload files to these storage services.

Source:

Members

bagItProfileId :string

The id of the BagIt profile to be used in the packaging step, if there is a packaging step. If this is specified, the package will be a bag that conforms to this profile.

Source:

description :string

A description of this workflow.

Source:

name :string

The name of this workflow.

Source:

packageFormat :string

The package format, if this workflow includes a packaging step. Options include "None", "BagIt", or the UUID of any format/write plugin.

Source:

packagePluginId :string

The id of the plugin that will write the package to disk, if there is a packaging step.

Source:

storageServiceIds :string

A list of StorageService ids. The workflow will upload files to these storage services.

Source:

Methods

(static) fromJob(job) → {Workflow}

Given a Job object, this returns a Workflow that has the same pattern as the Job.

For info on how a Workflow becomes a Job, see JobParams#toJob.

Parameters:
Name Type Description
job Job
Source:

(static) inflateFrom(data) → {Workflow}

This converts a generic object into an Workflow object. this is useful when loading objects from JSON.

Parameters:
Name Type Description
data object

An object you want to convert to a Workflow.

Source:

bagItProfile() → {BagItProfile}

This returns the BagItProfile the workflow will use to generate bags.

Source:

bagItProfileName() → {string}

Returns the name of the BagItProfile that will be used to create bags in this workflow (if there is one).

Source:

exportJson() → {string}

Returns a JSON version of this workflow suitable for use in dart-runner. Note the exported JSON contains full representations of the BagIt profile and storage services, instead of just containing their IDs. This makes the JSON workflow self-contained and able to be run on any dart-runner installation.

Source:

findDuplicate() → {Workflow}

Returns the first Workflow that has the same packaging format and upload targets as this Workflow. Returns null if there is no match.

Source:

packagePlugin() → {function}

This returns the plugin class that provides the packaging for this workflow. Note that this returns a class and not an instance of an object.

Source:

packagePluginName() → {string}

Returns the name of the plugin that will be used to package data in this workflow.

Source:

storageServiceNames() → {Array.<string>}

Returns the names of the StorageServices to which this workflow will upload files.

Source:

storageServices() → {Array.<StorageService>}

Returns an array of StorageService objects. The workflow will upload files to each of these services.

Source:

validate() → {boolean}

Checks to see if this workflow has a unique non-empty name. Returns true if so, false otherwise.

Source: