Configure by DCTerm Workflow Operation

ID: configure-by-dcterm

Description

With the ConfigureByDCTermWorkflowOperationHandler it's possible to create a workflow configuration property according to whether a Dublin Core term in a catalog has a specific value. So for example it's possible to control a workflow so that it will publish before editing if a certain Dublin Core term has the specified value.

In combination with TagByDCTermWorkflowOperationHandler workflows can be controlled by the metadata contained within the Dublin Core catalogs.

Parameter Table

Tags and flavors can be used in combination.

configuration keys example description default value
dccatalog "episode" or "series" the type of catalog in which to search for dcterm EMPTY
dcterm "creator" the name of the Dublin Core term which to check EMPTY
match-value "Joe Bloggs" the Dublin Core term value to check for EMPTY
default-value "Anon" the implied value if the dubincore term is not present in the catalog EMPTY
configProperty true / false a configuration property and the value it will be given if a match is found EMPTY

dccatalog

The type of Dublin Core catalog in which to look for the dcterm. This will usually be episode or series.

dcterm

The name of the Dublin Core term to look for in the dccatalog. This could be one of the terms set by Opencast or an additional term adding to the catalog.

match-value

The value of the dcterm which to match against. The comparison is case sensitive.

default-value

If default-value is used when the dcterm is not found in the catalog. If not specified the operation will treat the match as false and not configure anything. If default-value is specified the operation will compare the match-value to the default-value and set the workflow property if they match. This allows an implied value to be explicitly and clearly defined. For example if you have mediapackages that were created before additional metadata was added to the episode catalog you may want to imply that the audience term has a value of all-enrolled.

"configProperty"

Specifies as the key the name of a new workflow configuration property and the boolean value to which it will be set if the Dublin Core term matches the specified value.

Due to the way a workflow evaluates operation if conditions as configuration properties are created, only new configuration properties can be used to modify the execution of subsequent operations. Also since an undefined property will be evaluated as false in practice the only useful value which can set is true. However operation if conditions can be negated though so it is possible to skip subsequent operations on matched dcterm value.

Operation Example

<operation
    id="configure-by-dcterm"
    description="Configure publication channel by dcterm">
  <configurations>
    <configuration key="dccatalog">episode</configuration>
    <configuration key="dcterm">audience</configuration>
    <configuration key="match-value">private</configuration>
    <configuration key="publishPrivate">true</configuration>
  </configurations>
</operation>

...

<operation
   id="publish-engage"
   if="${publishPrivate}"
   description="Publish to internal audience only">
   ...
</operation>

<operation
   id="publish-youtube"
   if="NOT ${publishPrivate}"
   description="Publish to global audience">
   ...
</operation>