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 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 |
|
Download Asset Format | Downloads the given asset format to disk for processing |
|
Get metadata from damapi |
| |
Delete Asset Permanently | !DANGER! Permanently deletes an asset (there is NO WAY to recover after this) |
|
Invoke Endpoint |
| |
Log | Logs a message to the logger |
|
Query JSON |
| |
scale image | Scales an image to the specified height/width and format |
|
Search | Y'know, for search... |
|
Delete Asset | 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 |
|
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 |
|
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 |
|
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 Items To Collection | A list of assets will be added to the given collection. |
|
Create New Collection | Create a new collection with the given collection name. The action will export a 'CollectionId' after it has been executed. |
|
Share Collection | Sharing a collection with a list of members, member groups or per email. |
|
Delete Collection(s) | A list of collections will be deleted. |
|
Available filters
Type | Description | Parameters |
---|---|---|
Asset type filter | Limits execution to certain asset types |
|
Forced Result | 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 |
|
Metadata combo filter | Limits the execution if the expected Combo value does not equal the requested Metafield value |
|
Metadata datetime filter | Limits the execution if the expected DateTime value does not equal the requested Metafield value |
|
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 |
|
Metadata float filter | Limits the execution if the expected Float value does not equal the requested Metafield value |
|
metadata int filter | Limits the execution if the expected Int value does not equal the requested Metafield value |
|
Metadata link filter | Limits the execution if the expected Link value does not equal the requested Metafield value |
|
Metadata multicombo filter | Limits the execution if the expected Multi Combo value does not equal the requested Metafield value |
|
Metadata note filter | Limits the execution if the expected Note value does not equal the requested Metafield value |
|
Metafield string filter | Limits the execution if the expected String value does not equal the requested Metafield value |
|
Metadata tree filter | Limits the execution if the expected Tree value does not equal the requested Metafield value |
|
Bool Comparison filter | Compares 2 arbitrary booleans |
|
...