Technical

Digest


workflow  When creating web content (a page, file, image, etc.), a
workflow is a series of ordered steps that the content must go through to be quality-checked, and either approved, modified, or disapproved by the appropriate user (an approver) before being publish-ready.  Workflows can be customized or created from scratch.  Workflows provide Cascade Server users with a customizable, assignable method of assuring that content (any asset) is checked multiple times by multiple users before being published.  The resulting diversity of input ensures that content is accurate and presented in a professional manner.

All users may initiate a workflow when creating or editing content.  Users assume different roles in the workflow process according to their system role.  A higher-level user, such as an Approver, reviews the content, and either approves it to be sent to the next step in the workflow, or returns it to the user associated with the previous step for changes.  After the content has been approved by all users in the process, a Publisher may then publish the content to a live site.  Managers and Administrators have the capability to bypass any of these steps anywhere in the workflow process.

Concept

Using a Workflow

Depending on a user’s role in the system, they will be presented with options to initiate a workflow, review and approve content already in the workflow, or publish the content and exit the workflow.         

Initiate a Workflow

When a user creates or edits content, he or she may initiate a workflow.  Depending on the options set for the folder or asset factory that the content is created in, the user may have several different workflow options from which to choose.

start workflow


Review Content in a Workflow

Users that have been assigned Approver roles are responsible for reviewing content in workflow, and then either approving, editing, or disapproving that content.  Users that have been assigned Publisher roles are responsible for publishing the content and completing the workflow.

Content in a workflow may appear in the Dashboard as assigned to an individual or as assigned to a group.  If assigned to a group, any user in that group may open the workflow page and assign any step of the workflow to him or herself for completion of that step.

Bypass a Workflow

Only users assigned Administrators and Managers may bypass a workflow.

bypass workflow

Edit or Delete a Workflow in Progress

Administrators or managers may edit a workflow that is already in progress.  Once initiated, a workflow may only be deleted by the initiating user or by an administrator or manager.  Deleting a workflow will cause all changes to be lost.

Workflow Notifications

Users may be notified of new workflows or steps awaiting action in an active workflow in three ways.

        Via E-mail

    The system’s built-in e-mail notification trigger can be used to automatically e-mail the next user or group in the workflow process with a message that includes a history of all prior steps in the workflow, as well as action links specific to the user receiving the e-mail.

        Via the Dashboard

    The Dashboard provides users with a centrally located repository of workflows waiting for action, any system messages, and messages from other users.  Workflows are automatically removed from the Dashboard once they are reassigned.  Messages, however, will remain until manually deleted by the user.

        Via RSS RSS

    Additionally, users may subscribe to an RSS feed of workflow messages from their Dashboard.  To subscribe to this feed, click on the orange RSS icon in the lower right corner of the screen, or paste the URL into any RSS reader.

Workflow Structure

A workflow is a grouping of approval steps that are connected by actions, which are pathways between steps.  Steps may result in multiple actions leading to other steps.  Actions may be enhanced by triggers, which execute other non-workflow related functions.  Once a workflow reaches a step resulting in no further action, the workflow is complete.  The asset being used in the workflow is no longer considered ‘in workflow’ and is returned to a normal state.

Steps

The steps in a given workflow are categorized as Ordered Steps, which will be executed in the order in which they are listed in the XML, and Unordered Steps, which must be explicitly indicated by an action.  Each step is defined by a number of attributes that inform the system what the step is and what should take place during that step.  These attributes are:

     Step identifier – used to define transitions from one step to another using the ‘next-id’ attribute of the action
     Label – name of the step (visible to the user)
     Type – may be system, transition, or edit
     Action – determines what the system should do next; transition steps may contain multiple actions
Ordered Steps

These steps are connected by actions that contain the attribute ‘move,’ with a value of ‘forward’ or ‘reverse.’  These types of actions move the asset in the workflow to the next or previous step.  Ordered steps will be executed in the order that they are listed in the XML.  There are three types of ordered steps:

  1. System step -
    • Must have only one action whose type is ‘auto;’ this action is generally used to run system triggers such as Merging, Publishing, and Versioning.
    • Happens automatically and is carried out by the system without user intervention.
  2. Transition step -   
    • Will have N different actions representing user choices.
    • Represents a user choice.
    • Can be assigned to a user or group.
  3. Edit step  -
    • An asset in a workflow may be edited only when it is at an edit step in the workflow process.

steps

Unordered Steps

These steps utilize actions that contain the ‘next-id’ attribute to specify which step the action leads to.  As they are unordered, these steps do not use actions that contain the ‘move’ attribute (a ‘move’ action would lead to a specific step; unordered steps do not lead to pre-set steps).  Unordered steps are not required to be completed in order for a workflow to be complete.  Therefore, they should be used for optional steps, such as ‘Edit.’

Actions

One workflow step is connected to another by an action, which is a direct path from a source step to a destination step.  While system and edit steps will each only have one action, transition steps are dependent on user intervention, and will typically have multiple actions from which the user may choose, such as Approve, Reject, or Edit.

action

Each action is defined by a number of attributes that inform the system what the action is and what the action does.  These attributes are:

  • Action identifier – how the action is defined within the workflow
  • Label – name of the action (visible to the user)
  • Transition – identifies what step the action leads to
  • Triggers – plug-ins that encapsulate some system logic to accomplish a non-workflow related function; more than one trigger may be added to an action
  • Parameters – optional elements added to a trigger to further specify the system logic that should occur

Triggers

A trigger executes code while the transition occurs from a source step to a destination step.  Cascade Server is equipped with a series of pre-defined triggers, and custom triggers may be added to execute custom code during a transition.

trigger

NOTE- A list of available triggers, along with explanations of their uses, can be found in the Workflow Trigger "Reference" section.

FAQs

  • How does Cascade Server handle Workflows and Approvals?
  • How are Workflow notifications and messages handled by Cascade Server?
  • How do I remove a workflow from an asset?

Technical

Building Workflows

Build A Workflow Using the Workflow Builder

Cascade Server features a built-in visual workflow builder, allowing administrators to create new workflow definitions without writing XML.  To build a workflow:

  1. Select Workflows from the Administration area.
  2. Click Workflow Builder on the left navigation bar.
  3. This interface will allow you to visually construct a workflow by breaking it down into its Ordered and Unordered Steps, and add  Triggers as necessary.
  4. Once you have completed creating your workflow, click Submit.
  5. You will be forwarded to the main Edit Workflow tab, where you may enter the name, location, and any applicable groups.
  6. Click Submit to save your new workflow.

workflow builder

The Workflow Builder may also be used to edit existing workflows.  Select the desired workflow, and click Edit In Workflow Builder on the left navigation bar (when viewing a workflow, this text changes from Workflow Builder to Edit in Workflow Builder).

Workflow Builder example

Create a Workflow From Scratch Using XML

In addition to using the workflow builder, workflows may be written from scratch using XML.  To create a workflow:

  1. Select Workflow Definitions  in the Administration area.

  2. Click ‘Add a New Workflow Definition.’

  3. Enter or select information in the following tabs:

    1. Name - Provide a name that best describes how your workflow will be used.

    2. Parent Container – Select the container in which you want the workflow stored.

    3. Workflow Type – Select the type of workflow scenario in which the workflow will be involved.

    4. Applicable Groups – Select the groups that will be allowed to use this workflow definition to start a workflow of their own.  (This option gives administrators complete control over who participates in a workflow.  Ex.: An administrator can set two ‘edit’ workflows for a folder – one which is applicable to some groups, and another which is applicable to a different set of groups.

  4. Enter the XML to create the workflow definition.

  5. Click Submit to save.

New Workflow Definition 

Add a Workflow Trigger

The Cascade Server workflow builder utilizes centrally managed triggers. For a trigger to be available in a workflow created by the Workflow Builder, the trigger must first be defined and assigned a name in the system-wide trigger base. Defining triggers in this way allows the Java files that contain each trigger’s functionality to be referenced later in the workflow definition.

If you’ve written a new custom trigger or have upgraded Cascade Server without including the default database, you’ll need to add the new triggers before they’ll become available in the Workflow Builder.

  1. In the Administration are, select ‘Workflows.’

  2. Click Manage Workflow Triggers.

  3. All currently available triggers in the default database are shown, along with the ‘Add a Trigger’ option.

  4. Type in the name of the new trigger and click Submit.

  5. Your new trigger will now appear on the list and will be available for use within the Workflow Builder.

Adding a trigger using this interface ensures that the triggers will be defined in all workflows created using the Workflow Builder.  For workflows created without the Workflow Builder, triggers must be defined individually for each workflow.

Assigning Workflows

Assign a Workflow to an Asset Factory

To have a specific workflow occur every time a certain type of asset is created, it must be attached to an asset factory. Asset factory options are managed in the Administration area.

To attach a workflow to an asset factory:

  1. In the Administration area, select 'Asset Factories' and choose the desired asset factory.

  2. Click the Edit tab.

  3. Under Workflow:
    • Workflow Mode - Choose 'As selected below.'
    • Workflow definition - Click on the workflow icon to open the workflow chooser. Navigate to the desired workflow, and click Submit to close the window.

  4. Click Submit to save your changes.

Assign Workflow to Asset Factory

Only one workflow may be attached to an asset factory. For multiple workflow options, select 'Folder Controlled for the Workflow Mode, and attach multiple workflows at the folder level. Users with the appropriate permissions will still be able to bypass a workflow attached to an asset factory.

Assign a Workflow to a Folder

To have a workflow process invoked for any given asset, the workflow must be assigned at the folder level. Multiple workflows can be assigned to a single folder. When an asset is edited, copied, published, or deleted, the system determines which assigned workflows apply to the user's action and allow the user to select from a list of available workflows.

To attach a workflow to a folder:

  1. In the Home area, use the asset tree on the left to locate and choose the desired folder.

  2. Click the Workflow tab.

  3. Under Workflow Options:
    • 'None required' - Allows all users to bypass all workflow options.
    • 'Inherit from parent folder' - If there are workflows assigned to a parent folder, selecting this button will apply those workflow options to the current folder.
    • 'Do not inherit' - Selecting this will prevent workflows from being inherited from a parent folder, and will allow you to assign workflows at current folder.
    • 'Apply to child folders' - Checking this box will allow child folders to inherit the workflows set at this folder level.

  4. If you are adding one or more workflows at this level, click the workflow icon next to Add Workflow to open the Workflow chooser.

  5. Navigate to the desired workflow and click Submit to close the window.

  6. You may attach additional Workflows if desired.

  7. Click Submit to save your changes.

Assign Workflow to Folder

The workflow definition is now attached to the current folder. This means that an action taken on any asset in that particular folder will trigger the workflow process related to that action. For example, if a page is edited in that folder, an ‘Edit’ workflow associated with that folder will be invoked. Unless workflows are turned off at the folder-level, or a user has bypass workflow permissions (based on user roles), users may not edit an asset in that folder without it passing through the selected workflow.

Using Workflows - By Roles

As a Contributor

Users with the role of Contributor are typically responsible for creating or editing content, and generally initiate the workflow process.

Selecting a Workflow

When a Contributor creates or edits an asset, a workflow is usually started. Depending on the options that have been set for that folder or asset factory, the user may have different workflow options to choose from.

To initiate and select a workflow:

  1. On the Edit screen of the asset, ensure that Workflow is checked on the Run After Edit bar.

  2. Click Submit.

  3. After the Link, Spell, and Accessibility checkers have been run, you will be forwarded to the Choose a Workflow screen.

  4. Select the workflow you would like to initiate, and click Submit.

  5. You will be forwarded to the Configure Workflow screen, which lists each step in the workflow.

  6. If there are no preset user or group assignments for each step, or if you would like to change any assigned users, click Choose next to the user icons to select the users you want each step assigned to.

  7. Click Submit.

  8. You will be forwarded to the Message screen. Type in the message you wish the next user in the workflow to receive, and click Submit.

  9. This asset is then locked into the selected workflow process, and will be forwarded to the next user in the workflow.

Start Workflow

You may review the workflows you have initiated by navigating to your dashboard (Home), and checking the Workflows Waiting column or tab.

Sending a Message

Using the system to send a message to a user or group is quick and easy. Follow these steps to send a message:

  1. Select New -> Message from the top navigation menu.

  2. Choose the User or Group that you would like to receive the message.

  3. Compose your Subject and Body of the message.

  4. Click Submit button to send the message.

New Message
Deleting a Workflow

Once initiated, a workflow can only be deleted by the initiating user or an Administrator. Deleting a workflow will also cause all changes made to be lost. To delete an active workflow:

  1. Navigate to your dashboard by clicking Home.

  2. Select the desired workflow from Workflows or Workflows Waiting.

  3. Select the Delete tab.

  4. Click Submit to delete the workflow.

  5. You will be returned to your dashboard, and the deletion will be verified by the message bar reading 'Delete Successful.

As an Administrator

Administrators may participate in all workflow steps, and may also bypass workflows and edit workflows in progress.

Bypassing a Workflow

Bypassing a workflow is an option available only to Administrator level users.

To bypass a workflow when editing an asset, click Advanced Options, ensure that the Workflow checkbox is unmarked, and click Submit.


Bypassing a Workflow


Editing a Workflow in Process

Editing a workflow that is already underway is an option available only to Administrators.

To edit the workflow, browse to the user or group in the Administration area, and click the Workflows tab. This allows you to view all current workflows and take appropriate action.

As an Approver

Approvers are responsible for reviewing content in workflows and determining whether it should be approved, rejected, or edited. Content may appear in the dashboard as assigned to an individual, or it may appear as assigned to a group. The asset may be viewed by clicking on the name of the asset. If the asset is assigned to a group, any user in that group may open the workflow page and click Assign to me in order to complete that step of the workflow.

To complete a workflow step:

  1. After reviewing the changes submitted, click back onto the Workflow screen.

  2. Select the appropriate Action: Make Changes, Approve to Next Step, or Reject to Previous Step.

  3. You will be forwarded to the Comments screen. Leave any comments and click Submit.


As a Translator

A Translator is treated by the system as an additional Reviewer of content who, instead of simply reviewing content, may actually add content to the page. For a page that has multiple language outputs, the original user will create the page or make the necessary changes to the primary language, and then pass the asset to a Translator via the workflow.

The Translator may then access the page, create the translation, and then send the page on to the next step in the workflow.

As a Publisher

Publishers are responsible for the final step in a workflow -- publishing the content to a live site. They accomplish this by completing workflows that contain publish triggers, or by selecting assets that they have access to and publishing them.

Technical References

FAQs

Related Links