Overview
IN DXM, every asset lives in a Workflow state that defines its stage in the document life cycle. For each step in the life cycle, the asset transitions into a new state. Each state can be tied to a different publishing environment (or none), and can be structured to give limited access permissions if needed. Workflow is completely customizable, so you can implement unique Workflows for each site, section of a site, asset type, etc.
Workflow configuration features are accessed through the Settings menu. This article will cover:
- The list of Workflow
- Individual Workflow details
- Managing Workflow filters
- Workflow states
- Workflow properties
Workflow Menu
List of Available Workflows
List of Workflows
The Workflows list shows all workflows defined in the CMS. This includes global workflows as well as project workflows.
The view provides high-level information only including:
- Name
- Description
- A "mini-map" that shows a color swatch for each workflow step
- Usage: the number of assets in the CMS that are associated with the workflow
Click on a workflow name to display the workflow detail view.
New workflows can be created by clicking on the 'New Workflow' button. However, most implementations will probably clone an existing workflow such as the provided Basic Workflow. To clone an existing workflow, hover your mouse over the workflow name and a clone button will appear on the far right.
Creating or cloning workflows from this view will create global workflows. Once created, these workflows can be moved using cut-and-paste to a project folder to create project workflows.
|
Workflow Details
When the Workflow detail view is first shown, it displays in its compact form. You can expand the view to the full width by clicking the left chevrons on the top-left of the panel.
Workflow Map
This overview of the workflow shows the steps in the workflow and the transitions between steps. Click on a workflow step to show the steps details. Click on a workflow transition to show the source step and available transitions.
Workflow Step Properties
Workflow Step Properties
Field |
Description |
Status |
|
Access |
|
Title |
|
Description |
|
Enable publishing |
Perhaps the most important property for a workflow step. |
Include step in Edit menu |
Deprecated |
Set asset as deleted |
Assets in this workflow step do not show as 'Active' in the standard file view but as 'Deleted'. |
Set asset as hidden |
Assets in this workflow step do not show as 'Active' in the standard file view but as 'Hidden'. |
Workflow Transition Properties
There are a number of different transition triggers available when configuring a workflow.
User Command
User Command Transition
This is the most common workflow transition and represents an action that the user must pick from the workflow context menu on content assets.
Example: Send for Approval
Field |
Description |
When a user selects... |
A text field that describes the workflow transition. This is the text that will be shown in the workflow menu. |
...Go to step |
Specify the target workflow status to transition to. |
Workflow filter |
[Optional] Select a pre-configured filter to use. |
Are you sure? prompt |
Asks the user to confirm the transition before proceeding. This often used on transitions that will remove content from the published site. |
Request a comment |
The comment is added to ... ??? |
Enforce edit/save |
This setting is often used on the transition to production to encourage users to supply a complience or approval certificate reference. |
Enforce spellcheck |
Asset must pass spellcheck before the transition can be completed. |
Enforce set schedule |
Asset must have a schedule set before the transition can be initiated. |
Action
Action Transition
The transition will be triggered by an action taken on the asset by a content editor.
Example: Edited.
Field |
Description |
After action... |
Pick from one of the action triggers |
... Go to step |
Specify the target workflow status to transition to |
Schedule
Scheduled Transition
The schedule transition allows users to set up the transition to happen relative to a named 'alarm'.
Example: On 'Publish Date' transition to Live.
Field |
Description |
At |
Specify a relative adjustment value. The default and most common option here is 'At the same time as'. |
(unlabeled) |
Specify the relative adjustment unit and direction, e.g. hours before. |
...the schedule named |
Specify the schedule name. This name will appear in the Schedule properties panel where the date and time 'alarm' can be set. |
... Go to step |
Specify the target workflow status to transition to. |
Timeout
Timeout Transition
The transition will be trigger after the specified time since entry to the workflow state has elapsed.
Example: After 1 month, transition to Archived.
Field |
Description |
After period of time ... |
Specify a timeout unit value from 1 - 24. |
(unlabeled) |
Specify the timeout unit, e.g. hours or days. |
... Go to step |
Specify the target workflow status to transition to. |
Periodic
Periodic Transition
This transition is expected to repeat over some period of time. Because of this repeating nature, it is most common to have this transition the asset to the same state, Live -> Live for example. The reason for doing this would be to trigger a re-publish.
Example: Daily Refresh
Field |
Description |
Period |
The unit of the time period |
at |
A unit specific set of specifiers |
... Go to step |
Specify the target workflow status to transition to. |
Conflict
Conflict Transition
This transition is triggered when an asset branch enters the same workflow state as the subject asset. This is a very important transition to have in your workflow as it resolves what would otherwise be a confusing scenario where two assets with the same name but potentially different content are in the same workflow state.
Example: Retire.
Field |
Description |
.. Go to step |
Specify the target workflow status to transition to. |
Workflow Filters
Workflow filters are used within a workflow to provide additional control and structure to the flow of assets. By applying a workflow filter to a command in the workflow, you can control other aspects of how that command may be utilized and executed.
The two common uses of workflow filters are to restrict a workflow command based on:
- the group a user is in
- an approval field being populated
List of Workflow Filters
Workflow Filters List
On the workflow filters list view you can see the list of filters and summary information about each one including how many assets the filter is active against.
New filters can be created by either clicking the New Filter button or by cloning an existing filter.
Existing filters can be edited by clicking on the name.
Workflow Filter Detail
Workflow Filter Details
The name and description fields should be self explanatory. The important element is the filter query builder.
Each row in the query is composed of a three elements:
- Field: This can refer to a asset content field OR to a property. Property fields are identified by being enclosed in square brackets, [IsScheduled] for example. Specifying either a content field or a property is done using an auto-complete list -- start typing an asset content field name; or open a square bracket to get a list of properties.
- Comparison: Specifies the comparison operation to use.
- Value: Specify the value to compare against the chosen field or property.
To check whether a match against a user or group, the comparison should be "less than" and the value "1".
|
Multiple conditions can be specified in the query and combined using the boolean AND and OR operations.
Workflow States
Within the CMS, assets should be placed in a workflow that defines the asset's status in the document life cycle. Each status is a stage in the Workflow identified by a label and a color. Each state asset can also provide an Access Control List (ACL) specification which defines the permissions for each Group on an asset in that workflow state.
Workflow states can typically be located in the System folder, under /System/States.
Create a New Workflow Step
To add a new state to a Workflow, start by navigating to /System/States and check if the state that you want to add is available as an asset. If not, clone one of the existing state assets and give the asset the name of the state you would like to create. Open the asset to edit the state's color and description.
Edit Workflow State
Next, navigate to Settings > Workflow > Workflows and clone the Workflow you would like to edit.
It's best practice to clone a Workflow and make necessary updates instead of editing a live Workflow which may have unintended consequences.
|
Open the new Workflow and click on the Edit Steps tab.
Add a Workflow Step
To add the new step:
- Click on the '+' Add Workflow Step Button
- Add the new state you created to the Workflow step in the Status and Access fields
- Add a title and description
- Select the appropriate state options
Enable publishing on this step - Check this if you are planning on having an asset publish to a server when an asset enters this state.
Include step in Edit menu - This controls whether the state is visible in the workflow menu under the Send To section:
Set asset in this step as Deleted - When checked, an asset that enters this state is deleted from the CMS.
Set asset in this step as Hidden - When checked, an asset that enters this state is hidden from the file view.
Workflow Step Entrances and Exits
Next, we'll define how an asset can enter and exit the new workflow step. For example, you could add a transition for assets in the Draft state to your <New State> and then from your <New State> to another state like Live. To add transitions into your new state:
- Click on the source (or entrance) step under the Edit Steps tab and then click Add Transition.
- Select your trigger. to create a manual trigger, choose "User Command" as the Transition Trigger type, and "Send to New State" and the new state you created in the fields below. Learn more about Workflow transition triggers and filters in the article above.
- To add a transition out of your new state, it is essentially the same as above except you start with the new state and define a transition out.
Reordering Steps
Once your states and transitions are setup, you can reorder the steps under the Reorder Steps tab. Just drag and drop steps to their desired location in the workflow.
Review Your Changes
Click on the Overview tab to review the entire workflow. You can hover the Workflow map to view additional details on the transitions into and out of each state. In the upper left corner you can also expand the panel to get a full screen view of the entire workflow.
Remember to click Save when finished editing.
The new workflow is now complete and ready to be assigned. It is recommended that you disable publishing through your publishing packages before attempting to assign the new workflow to any assets. You may want to incrementally apply the workflow to a few assets first to ensure that the state of the asset does not change when it is applied. Generally if an asset belongs to a state that does not exist in the new workflow, it will be routed to the Draft state or the first state of the workflow. Disabling publishing first will prevent the CMS from pulling the asset off of the server if this were to happen and will allow you time to correct the issue if the asset does end up in the wrong state.
To Disable publishing, edit your publishing package under Settings > Publishing > Packages and uncheck "Enabled." You'll want to do this for all of the different packages (eg. Dev, QA, Stage, Live, etc..).
|
Assigning a Workflow to an Asset
The association of an asset and a workflow can be done in two ways:
- When creating a new asset using File > New > File
- Using the Properties Panel
It is strongly recommended that content users do not create content through File > New > File, but rather through the use of models.
|
Access Workflow Menu
Select Workflow
When using the Properties panel to set or change the asset workflow property, remember to save the changes using the Save button on the top right of the panel.
Note that the Workflow panel also has an
Apply to additional assets button. Once, you have verified that assigning the workflow to several random assets does not cause any adverse affects, you can use this option to apply your changes in bulk.
Use the Neighborhood dropdown selection to find assets in the current folder and subfolders. You can further filter by using the Workflow Status Dropdown.
Check all assets that you want to apply the workflow to and then click "Save changes for: X assets(s)"
Managing Workflow and Branching
You can avoid having two assets in the same workflow state by setting up workflow conflict in your Workflow setup. Many instances already have this set up for live, but may need to be set up additionally for stage, dev, etc. This prevents multiple branches of one asset with disparate content being created in the same workflow step. This allows for a 1:1 retire/delete of assets as content changes and they move through and are replaced through workflow.
NOTE: Adding the conflict does not auto-retire any conflicts. You would need to re-deploy the newer asset, which would then run the conflict and retire the older asset