MM5.4 Workflows

General information

Unlike automations, which is for automating away repetitive work, the purpose of workflows is to support collaboration between users, by standardizing business processes. Therefore, workflows require user interaction in order to advance.

An example of such a standardized business process can be found below - both in graphic (flow mode) and text forms (text mode).

This image shows a basic request workflow, in flow mode, where the things being requested could be e.g. the download of an asset, or the publishing of an asset:

The below image shows fragments of the same workflow as the image above. This, however, shows the code behind. This mode is called flow mode:

To access workflows, press the Settings button in the top right corner, and enter Workflows.

From here you’ll get access to edit and delete existing workflows, or creating new ones.

Creating and editing workflows

Creating a new workflow

In order to create a new workflow, click the Create button in the upper area of the Workflows section, and then choose between one of two options:

  • Create new workflow

  • Create workflow from DSL

Creating a workflow from DSL

When the user selects the option to create a new workflow, the most common method would be to either make a completely new workflow from the scratch or select a template or use one of the pre-existing ones as a base for a new one. It is also possible to create a workflow from DSL. Here the user can quickly copy and paste the text form of another workflow, for example from the documentation.

Creating new workflow

Selecting Create new workflow will prompt a new modal, where the user should type the name of a new workflow and choose one of the templates (if available). What’s understood as “templates” here are other existing workflows that can be used as a base for creating new ones.

Once the information is filled out, the workflow edit area becomes available.

In case of creating workflows manually from scratch, once in the workflow edit area, the user begins creating a workflow by clicking Add first stage button. The following stages are added by clicking the dot at the bottom of stage and dragging the line to the next stage, while holding the cursor.

The user is now ready to start editing the transitions and stages.

Editing transitions

In order to edit a transition, the user needs to hover the cursor over one of them which will prompt the appearance of a transition menu. From here the user can either edit the transition or delete it.

Selecting Edit will open an editing area on the right side of the screen.

The following editing options are available for transitions:

  • Changing the name of the transition

  • Selecting between manual and automatic transition

  • Setting priority (automatic transition only)

  • Changing the name of the unique ID

  • Adding a description

  • Adding constraints

If the user is in doubt about what kind of information should be filled out in specific fields, hovering over a question mark next to it will prompt an explanation.

Constraints are the required conditions that need to be met in order to transition to a stage. There are four types of constraints available in the system:

  • Input constraints

  • Metadata constraints

  • Upload constraints

  • Execution condition

In order to add a new constraint, the user needs to navigate to the tab Constraints and then click on the button Add new constraint.

The next step is to select the correct option from the list of available constraint types.

Constraint type

Description

Constraint type

Description

Input constraints

This type of constraint can usually be found in download requests. Here, the user is asked for different types of input.

The following constraints are available:

  • Date Input Constraint - the user who makes a request will have to choose a date from a calendar

  • String Input Constraint - the user who makes a request will have to fill in a text field.

This is an example of this type of constraint:

Metadata constraints

This type of constraint gives the workflows administrator a great flexibility in terms of constraints as it allows to point to and interact with the metadata fields available in the customer’s Media Manager. In this type of constraint the metadata field’s content must match the condition.

This is an example of a metadata constraint:

Upload constraints

The user who makes a download request will have to attach a file in the from specified by workflows administrator. This could be e.g. a consent form.

This is an example of an upload constraint:

Execution condition

This type of constraints is related to who can execute the transition. The following constraints are possible:

  • Only current stage owner can transition

  • Only instance owner can transition

  • Only specific user or user group can transition.

This is an example of an execution condition constraint:

Each constraint item has two icons in the upper right corner: one for the available actions regarding the constraint, and the other for re-ordering the constraints.

Additionally, the user can click on the top area of a constraint box in order to collapse or expand it. This is how collapsed constraints look:

Editing stages

The user can edit a stage by hovering the mouse pointer over it, clicking on the three dots and then selecting Edit.

The editing area will open on the right side of the screen. This is how the stage editor looks:

The following editing options are available for stages:

  • Changing the name of the stage

  • Changing the name of the unique ID

  • Adding a description

  • Indicating whether the stage completes the workflow

  • Indicating relevant meta fields

  • Assigning a stage owner (automatically or dynamically)

  • Adding labels

Automatic/dynamic assignment of a stage owner

The stage owner is a user or user group who gets a particular stage in the workflow assigned. As a consequence they receive a task related to that stage and will need to take an action, such as approving or denying download request.

There are 5 different scenarios that can be configured in the process of editing a stage:

Scenario

Configuration

Explanation

Scenario

Configuration

Explanation

There is no stage owner.

Set Automatically Assign Stage to “Do not automatically assign”.

 

This option should be used for the stages which should not lead to a change of the task’s assignment. An example of a use case for this scenario is an approved stage, where no further action is needed after a request download was granted.

Select this if you want to assign it back to the initial reporter

The stage owner is a user.

Set Automatically Assign Stage to “Assign to a user”. In the new field below select the stage owner from the provided list.

 

This option should be used for stages that should be assigned to a certain user. All the available users are presented in the drop-down list.

The stage owner is a user group.

Set Automatically Assign Stage to “Assign to a user group”. In the new field below select the stage owner from the provided list.

 

This option should be used for stages that should be assigned to a certain user group. All the available user groups are presented in the drop-down list.

The stage owner is the instance owner

Set Automatically Assign Stage to “Assign to the instance owner”.

 

This option should be selected, if the stage needs to be assigned back to the initial reporter.

An example of a use case:

  • As part of a download request workflow, a user requests to download an asset. The user who receives and reviews the request can usually approve or deny the request. They could also decide that the information provided though the input constraints is insufficient and ask for additional information (as a comment). The owner of the next stage (“the instance owner”) in this case is the user who originally made the request. This creates a feedback loop that improves the communication between users.

The stage owner is assigned dynamically.

Set Automatically Assign Stage to any value. Then, select the correct MasterItemReference type metafield from the list under Dynamically Assign Stage.

 

This option allows for more flexibility when assigning, as this gives the ability to assign users and groups based on a selected value in a metafield. An example of a use case is the situation in which each asset has an owner who is responsible for what happens with this particular asset. The asset owner is determined by a metafield.

Note that dynamic assignment works only, if there is one asset in the task. If the dynamic assignment fails because of multiple assets in the task or because the indicated metadata field is empty, the automatic stage assignment is the fallback. This is why the user needs to configure both options.

Saving a workflow

Once the workflow is fully defined, the user should click Save button in the upper right corner of the workflow edition area.

Tasks

Tasks can be accessed by clicking the Tasks icon on the right side of the top bar.

The tasks are available to two categories of users:

  • Workflow administrators can access the tasks assigned to them in order to see all active and completed tasks as well as take actions.

  • End users can interact with the system in a different way. As an example, they can make requests (such as an ability to download or upload an asset) and then access the status of those requests.

Each task is defined by the workflow name, status and the created time and and date. The tasks can be sorted by creation date, modification date and name. It’s not necessary to reload the page to see the most current task list. The user can simply hit the refresh button in the upper right corner.

In order to simplify the process of working with tasks, the list is paginated and the user can select how many tasks should be visible on one page (between 12 and 200).

The users have the following filters at their disposal, when working with tasks:

  • Quick filters

  • Status

  • Workflows

  • Assets

  • Created by

  • Created by group

  • Assignee

  • Assigned group

The details of the task are opened in the right-side panel after clicking on it once.

At the top of the newly-opened panel there are basic information concerning the task (the name of the workflow and its current status), the option to delete the task as well as a button that opens a drop down with available actions. In the lower part of the panel there are several tabs with additional content that the user can switch between:

  • Summary (who created the task, the date of creation, promoted input constraints as well as a short summary of assets, attachments and comments)

  • Details (information concerning all input constraints apart from attachments)

  • Assets (all assets the task concerns in either box view or list view)

  • Attachments (attached files related to upload constraints)

  • Comments (used for the direct communication between users involved in the same workflow and between users with access to other users' tasks)

The tabs that do not contain any information are greyed out and cannot be accessed.