Developing an Extensible SDL Tridion Workflow Framework

The SDL Tridion Web Content Management System provides a flexible approval workflow engine which is tied directly into the vision of Content Management held by Tridion. The system does not readily integrate with business processes.

Key challenges

- This article was previously published on the Amaze.com blog at http://amazeconnections.com/ -

The workflow engine however has three key challenges that require solving for all but the most simple applications, namely;

  • Flexible action handling e.g. sending email, integration with external applications � as standard, sending email would require a custom handler which needs to be unique per recipient (user or group)

  • Modification without in-depth technical knowledge for complex workflows � this can be an expensive development activity that is required for all but the most simple workflow definitions

  • High degree of duplication for the creation of new workflows � workflows and workflow processes cannot be easily reused or shared (ignoring recent product developments allowing workflow definitions to be �BluePrinted�) increasing development and testing costs, and the likelihood of defects

In many instances, approval workflow systems created or defined for clients are seldom used when the client has a marketing focussed web team as in these cases offline business workflow is implemented in the production of content and approvals. When the client is in a position where potentially litigious content could be released into the public domain and that content needs to be approved by many departments a simple approval workflow is not sufficient.

Configurable workflow extension

For a recent client who required a press release workflow to integrate with an off-line paper based system and that approval groups be dynamic based on content metadata it was soon realised that the standard Tridion approval system would require hefty customisation and that a high degree of duplication would be required to meet all possible combinations of user approval when following the standard Tridion model.

To solve these problems, Amaze developed a user configurable workflow extension that allows customisation of workflow that provides the following features, many workflows for diverse groups and actions from a single workflow definition, integration of external code applications.

At the heart of this solution are two XML based configuration files, one for email recipients and one XML based workflow step definitions. Although it is acknowledged that XML is not ideal for the business user, it is a format that can be easily described, read and machine validated and does not require complex deployment procedures.

Example

The following is an example of the default workflow definition for all Tridion Schema for which workflow is defined. In line 1, the URI would be changed to a specific Schema or Page URI for which the steps correspond. The elements ReviewActions, AdmReviewActions, rejecttoCreatorActions and RejectToWebEditorActions correspond to named workflow steps in the generic Tridion Workflow � error handling is taken care of in the wrapping business logic for the solution.

Each of these steps can have a pre- and post- action for example to check status of dependencies. The Actions themselves define arbitrary VBScript that is executed at that step.


<ReviewActions>            
    <Post>
        <Action id="0000" description="Notify Administrators if Needed">C:\code\notifyAdministratorReviewer.vbs</Action>
    </Post>
</ReviewActions>

An accompanying configuration file defines email lists that correspond to Tridion user groups. These can then be access via Tridion URI for email sending as per the following example snippet.

<group uri="tcm:0-1443-65568" description="Adm Reviewers">

<email subject="Workflow Auto Generated Mail For Adm. Reviewers">admin@amaze.com</email>

<email subject="Workflow Auto Generated Mail For Adm. Reviewers">admin@amaze.com</email>

</group>

As a result of this workflow extension, the client now has an approval workflow system that can be integrated with their existing business processes with the minimum of duplication, rework and technical intervention. This gives an ongoing saving in time and money for technical development, testing and roll-out.

- This article was previously published on the Amaze.com blog at http://amazeconnections.com/ -

About the Author
James Huckle
Head of Content Management

James is a Senior Technical Consultant and heads the Content Management practice at Amaze. James has been using the SDL Tridion platform for over 5 years and has lead pan-European implementations and integrations in the public and private sectors. James is responsible for technical design and architecture of Amaze CMS solutions from pre-sales to delivery. James also mentors and leads a team of technical architects, leads and developers and presents at technical conferences and seminars.

Amaze