Introduction
Automation workflows allows the administrator to make the Digizuite™ Dam Center do things automatically, as other things happens in the system.
Automation workflows replaces existing ItemWatcher workflows (And anything else that depends on digimonitor).
...
Note | ||
---|---|---|
| ||
Do note that automation workflows are in beta in 5.2. It is recommended that you start migrating any existing workflows to the automation engine, as R&D is expecting to sunset digimonitor with the 5.3 5 release. If you find any actions missing, please open a feature request in the Dam project on JIRA, and R&D have a look at it. |
Workflow construction
Automation workflows are build of steps. A step can be either an "action", a "trigger", a "filter" or a foreach loop.
...
Lastly there are loops, which is a special construct that allows for repeating a certain set of steps, over a set of data, executing the steps for each data point in the set.
Creating a new workflow
To create a new workflow, open the workflow page by selecting the workflow dropdown (1) from the upper-right side of the Media Manager, next select "workflows" (2):
...
A menu should open to the left, in this menu, press "insert" on the type of trigger you want. What the different triggers can do, is documented at the bottom of this document.
Using the visual editor
Once a workflow has been opened in the editor, a flowchart like view should be shown, either with only the trigger chosen earlier, or with a larger workflow, if an existing workflow was opened.
Adding a new step
To add a new step to the workflow, drag from the colored circle on the bottom of an existing step. When you start dragging, a new node placeholder will appear, drag your cursor to this placeholder, and let go.
...
In this dialog fill out the parameters, and select "apply" when done.
Workflow text syntax
Underneath the visual edtior, the workflows are supported by a relatively simple text format, for example:
...
Lastly we have "needs", which is used on actions and filters, and refers to steps that should be executed before this step, thus creating a chain of dependencies.
For loops
For loops are a bit special, since they allow for execution of a set of steps multiple times within the same workflow. To do this, you have to specify 5 parameters:
- "type", which should be set to "ForEach".
- "resolves", which should be the last step in the chain of steps to execute.
- "needs", which specifies any steps that should be run before the for loop.
- "variable", which specifies which variable to iterate over.
- "as", specifies what "variable" should be available as, in each iteration of the for loop.
Variables
To pass data between different steps, workflows use variables. Variables are identified by starting with an at sign "@", for example "@sourceAssetItemId".
...
Some actions have "exported" variables, which means that rather than reading a variable before it executes, it sets a variable after it is done.
Tips and tricks
Required metadata fields
If two or more metadata fields are required: you should position the filters below each other.
...
OR operator = "filter" steps besides each other.
Available steps
This documentation is auto generated from source, so it should be correct. Some additional manual documentation might be provided below.
Available triggers
Type | Description | Exported Variables | Parameters |
---|---|---|---|
Asset Created Trigger | Triggers whenever an asset is created |
|
|
Asset Folder Updated Trigger | Triggers whenever an asset moved between folders |
|
|
Location State Changed | Triggered whenever a new asset is uploaded |
|
|
metadata | Triggers only if the metadata update was for the specified field. |
|
|
CronScheduleTrigger |
| ||
Member Created | Whenever a new member is created |
| |
Member Deleted | Whenever an existing member is deleted. Covers both soft and permanent deletes |
|
|
Member Metadata Changed | Whenever the Metadata on a member changes |
|
|
Performance Test Trigger |
|
|
Available actions
Type | Description | Parameters | |||||
---|---|---|---|---|---|---|---|
delay | Delays the execution with the Duration milliseconds |
| |||||
WebHook trigger | Allows a workflow to be invoked using http |
| |||||
Business Workflow Stage Entered | Triggers when the specified stage in a business workflow is entered, no matter where it came from |
|
| Download Asset Format | Downloads the given asset format to disk for processing |
| |
Business Workflow Stage Left | Triggered when a stage is left, no matter where the workflow is going afterwards |
|
| ||||
Business Workflow Transition Passed | Triggered whenever the specific transition is passed |
|
| Get metadata from damapi |
| Delete Asset Permanently | !DANGER! Permanently deletes an asset (there is NO WAY to recover after this) | key:
Available actions
Type | Description | Parameters | ||||||
---|---|---|---|---|---|---|---|---|
Concat lists | Concats two lists into one larger list |
| Invoke Endpoint |
| ||||
delay | Delays the execution with the Duration milliseconds |
False | ||||||
Log | Logs a message to the loggerDownload Asset Format | Downloads the given asset format to disk for processing |
False | scale image | Scales an image to the specified height/width and format |
| ||
Get Value At Index | Gets a value at a certain index in a list of values. |
| ||||||
Delete Asset Permanently | !DANGER! Permanently deletes an asset (there is NO WAY to recover after this) |
| Search | Y'know, for search... |
| |||
Invoke Endpoint |
| |||||||
Delete Asset | Soft deletes an asset (that is, keeps the actual file, but sets deleted bit) | asset_item_id True 0 int Log | Logs a message to the logger |
| ||||
Variable set | Exports a value as a sample | key: value Query JSON | An export read sample
| Variable read |
| Creates a folder reference for use in other steps that requires a folder value reference |
| |
scale image | Scales an image to the specified height/width and format |
| Move Asset To Folder | Moves an asset into a specific folder |
| |||
Remove Asset From All ChannelsSearch | Executes the given search |
| ||||||
Remove Delete Asset From FolderRemoves the given asset from a given folder | Soft deletes an asset (that is, keeps the actual file, but sets deleted bit) |
| ||||||
Variable set | Exports a value as a sample |
| ||||||
Variable read | An export read sample |
| RePublish Asset | Triggers a republish of the specified asset | ||||
key: asset_id Format String | Just applies the specified variables as specified. |
| Split Folder Reference |
| ||||
Join Strings | Joins a list of strings using a specific separator |
| Split Tree value | Splits a tree value into its components |
False False | |||
Replace string | Replace a value in a string with another value |
| ||||||
Split String | Splits a string according to the specified seperator |
| ||||||
Create Folder Reference | Creates a folder reference for use in other steps that requires a folder value reference |
| ||||||
Move Asset To Folder | Moves an asset into a specific folder |
| ||||||
Remove Asset From All Channels |
| |||||||
Remove Asset From Folder | Removes the given asset from a given folder |
| ||||||
Remove Asset From Layout Folder Recursive |
| |||||||
RePublish Asset | Triggers a republish of the specified asset |
| ||||||
Split Folder Reference | Splits a folder reference into individual parts, so they can be used by themselves |
| ||||||
Clear metafield |
| |||||||
Split Combo Value | Splits a combo value into its components, optionValue, label and Id |
| ||||||
Split Tree value | Splits a tree value into its components |
| ||||||
Set Bit Metafield | Updates a bit value |
| ||||||
Set ComboValue Metafield | Updates a ComboValue metafield |
| ||||||
Set Date Metafield | Updates a date field |
| ||||||
Set EditComboValue Metafield | Updates the value of an edit combo value meta field |
| ||||||
Set EditMultiComboValue Metafield | Updates the value of the edit multi combo value meta field |
| ||||||
Set Float Metafield | Updates a float metafield |
| ||||||
Set Int Metafield | Sets the value of the given int metafield |
| ||||||
Set Link Metafield | Updates the value of a link meta field |
| ||||||
Set MultiComboValue Metafield | Updates the value of a MultiComboValue field |
| ||||||
Set Note Metafield | Updates the value of a note meta field |
| ||||||
Set String Metafield | Sets the value of the given string metafield |
| ||||||
Set Tree Metafield | Updates the value of a tree meta field |
| ||||||
Add Member to Group | Adds a member to the given group |
| ||||||
Move Member To Folder | Moves the member to a specific folder |
| ||||||
Remove Access Rights | Removes the access rights for a given target from a given accessor |
| ||||||
Remove Member From Group | Removes a given member from a given group |
| ||||||
Set Access Rights | Sets the access rights on a specific asset for a specific member |
| ||||||
Get Current Date | Gets the current timestamp. Format is compatible with Search2 |
| ||||||
Convert Asset Id To Asset Item Id | Converts the given asset id to an asset item id |
| ||||||
Convert Asset Item Id To Asset Id | Converts the given asset item id to an asset id |
| ||||||
Convert Member Id To Member Item Id | Converts a member id into a member item id |
| ||||||
Convert Member Item Id To Member Id | Converts the given member item id to a member id |
| ||||||
Add Asset(s) To Collection | This action adds new assets to a specific collection. |
| ||||||
Create New Collection | This action creates a new Collection. |
| ||||||
Delete an asset from all the collections |
| |||||||
Delete Collection(s) | This action deletes a given Collection(s). |
| ||||||
Share Collection | This action shares a given Collection with known members. |
| ||||||
Delete Business Workflow Instance |
| |||||||
Initiate Business Workflow | Initiate a new instance of a business workflow |
|
Available filters
Type | Description | Parameters | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Asset type filter | Limits execution to certain asset types |
| |||||||||
Forced Result | Forces a certain outcome from the filter |
| |||||||||
Is Number Filter | Checks if some value is an integer |
| |||||||||
Matches Regex Filter | Checks if some value matches a regular expression |
| Set Bit Metafield | Updates a bit value |
| ||||||
Regex extract value | Extract values from a string using a Regex (regular expression) |
| Set ComboValue Metafield | Updates a ComboValue metafield |
| ||||||
Set Date Metafield | Updates a date field | meta_field True metafield False new_value True 1/1/0001 12:00:00 AM datetime False asset_item_id True @sourceAssetItemId int Is Empty or whitespace String | Checks if the specified string is empty. |
| Set EditComboValue Metafield | Updates the value of an edit combo value meta field |
False False | ||||
Is Empty String | Checks if the specified string is empty. Whitespace is not counted as empty. |
| |||||||||
Set EditMultiComboValue Metafield | Updates the value of the edit multi combo value meta field | key: update_method String Contains | Checks if one string contains the other |
| |||||||
Is Metafield Empty |
| ||||||||||
Set Float Metafield | Updates a float metafieldMetadata bit filter | Limits the execution if the expected Bit value does not equal the requested Metafield value |
| Set Int Metafield | Sets the value of the given int metafield | ||||||
key: meta_field Metadata combo filter | Limits the execution if the expected Combo value does not equal the requested Metafield value |
| Set Link Metafield | Updates the value of a link meta field | |||||||
key: meta_field Metadata datetime filter | Limits the execution if the expected DateTime value does not equal the requested Metafield value |
| Set MultiComboValue Metafield | Updates the value of a MultiComboValue field | |||||||
key: update_method Metadata editcombo filter | Limits the execution if the expected Edit Combo value does not equal the requested Metafield value |
| |||||||||
Metadata editmulticombo filter | Limits the execution if the expected Edit Multi Combo value does not equal the requested Metafield value |
| Set Note Metafield | Updates the value of a note meta field |
| Set String Metafield | Sets the value of the given string metafield | ||||
key: meta_field Metadata float filter | Limits the execution if the expected Float value does not equal the requested Metafield value |
| Set Tree Metafield | Updates the value of a tree meta field |
False key: use_versioned_metadata | ||||||
metadata int filter | Limits the execution if the expected Int value does not equal the requested Metafield value |
| Add Member to Group | Adds a member to the given group |
| Move Member To Folder | Moves the member to a specific folder |
| Remove Access Rights | Removes the access rights for a given target from a given accessor |
|
Metadata link filter | Limits the execution if the expected Link value does not equal the requested Metafield value |
| Remove Member From Group |
| Set Access Rights | Sets the access rights on a specific asset for a specific member | |||||
key: accessor Metadata multicombo filter | Limits the execution if the expected Multi Combo value does not equal the requested Metafield value |
| Convert Asset Id To Asset Item Id | Converts the given asset id to an asset item id | |||||||
asset_id Metadata note filter | Limits the execution if the expected Note value does not equal the requested Metafield value |
| Convert Asset Item Id To Asset Id | Converts the given asset item id to an asset id |
| Convert Member Id To Member Item Id | Converts a member id into a member item id |
False | |||
Metafield string filter | Limits the execution if the expected String value does not equal the requested Metafield value | Converts the given member item id to a member id
| Convert Member Item Id To Member Id |
| Add Items To Collection | A list of assets will be added to the given collection. |
| ||||
Metadata tree filter | Limits the execution if the expected Tree value does not equal the requested Metafield value | Create a new collection with the given collection name. The action will export a 'CollectionId' after it has been executed.
| Create New Collection |
| Share Collection | Sharing a collection with a list of members, member groups or per email. |
| ||||
Retrieve metadata value for bit metafield | Gets the value of the specified bit metafield, and makes it available for |
| |||||||||
Retrieve metadata value for combo metafield | Retrieves the value of a combo metafield for use in further steps. |
| Delete Collection(s) | A list of collections will be deleted.
| collection
| ids
| list:int
|
...
| Description | Parameters | Asset type filter | Limits execution to certain asset types |
| |
---|---|---|---|---|---|---|
Retrieve metadata value for datetime metafield | Gets the value of the specified datetime metafield, and makes it available for |
| ||||
Retrieve metadata value for edit combo metafield | Retrieves the value of a edit combo metafield for use in further steps. |
| Forces a certain outcome from the filter |
| ||
Metadata bit filter | Limits the execution if the expected Bit value does not equal the requested Metafield value | key: asset_ Retrieve metadata value for float metafield | Gets the value of the specified float metafield, and makes it available for |
| Metadata combo filter | Limits the execution if the expected Combo value does not equal the requested Metafield value |
key: asset_ Retrieve metadata value for int metafield | Gets the value of the specified int metafield, and makes it available for |
| Metadata datetime filter | |||
Limits the execution if the expected DateTime value does not equal the requested Metafield value | key: asset_ Retrieve metadata value for link metafield | Gets the value of the specified link metafield, and makes it available for |
| Metadata editcombo filter | Limits the execution if the expected Edit Combo value does not equal the requested Metafield value | |
key: asset_ Retrieve metadata value for MasterItemReference metafield | Gets the value of the specified master item reference metafield, and makes it available for |
| ||||
Metadata editmulticombo filter | Limits the execution if the expected Edit Multi Combo value does not equal the requested Metafield value | key: asset Retrieve metadata value for multi combo metafield | Retrieves the value of a multi combo metafield for use in further steps. |
| ||
Retrieve metadata value for edit multi combo metafield | Retrieves the value of a edit multi combo metafield for use in further steps. |
| Limits the execution if the expected Float value does not equal the requested Metafield value |
| ||
Retrieve metadata value for note metafield | Gets the value of the specified note metafield, and makes it available for |
| metadata int filter | Limits the execution if the expected Int value does not equal the requested Metafield value | ||
key: asset_ Retrieve metadata value for string metafield | Gets the value of the specified link metafield, and makes it available for |
| ||||
Metadata link filter | Limits the execution if the expected Link value does not equal the requested Metafield value | key: asset_ Retrieve metadata value for tree metafield | Retrieves the value of a tree metafield for use in further steps. |
| Metadata multicombo filter | Limits the execution if the expected Multi Combo value does not equal the requested Metafield value |
asset_item_id True @sourceAssetItemId int False key: metafield_item_id Bool Comparison filter | Compares 2 arbitrary booleans |
| ||||
DateTime Comparison Filter | Allows you to compare two distinct dates for different kinds of equality |
| ||||
Metadata note filter | Limits the execution if the expected Note value does not equal the requested Metafield value | key: expected_value Int Compare filter | Compares two ints |
| ||
Metafield string Is datetime in range filter | Limits the execution if the expected String value does not equal the requested Metafield value | key: asset_item_id Checks if the specific datetime is in range of min and max |
| Metadata tree filter | Limits the execution if the expected Tree value does not equal the requested Metafield value |
|
Is Int in range | Checks if the specified int is within a certain range |
| Compares 2 arbitrary booleans |
|
...