Monday, December 2, 2013

What is new in Tridion 2013 SP1 Workflow

Last week I was starting playing with the new workflow features coming with the new Tridion 2013 SP1 release. After revising all of them I will resume all of them in the following section.

First Activity Changes

In previous releases a workflow designer was able to only use a manual activity that is assigned to everyone as the first activity in the process definition. This limitation lead to multiple workarounds like using Event System to start and finish that first activity automatically, leading to some performance issues and unnecessary complexity during implementations.

Fortunately this limitation is gone and we are able to use an automatic activity as the first activity or having a manual activity assigned to an specific group or user.

Use cases for this new feature would be the following ones.
  • Merging multiple process definitions into a single one. For instance you can define a different workflow path for items coming from a different publication or with different metadata.
  • Having different workflows for certain groups.
  • Publish as soon as the workflow has been started then review.

 

Expiration Scripts

This new feature was visible in the Visio Workflow designer in Tridion 2013 GA but it was completely implemented in this release. This feature came with some API changes adding a new method to the ExternalActivity base class Expire this method will be executed when the Activity Due date is reached and the activity hasn’t been finished or even started.

I was doing some researching on it and it seems that the new method as added as part of a new interface IExternalActivity2013.

Here some sample implementation for an Expiration Script (very similar to a normal automatic activity script), one big thing to notice here is that you can specify an expiration script for a manual activity as well, so we can include some sort of automation for manual activities now.

 


  protected override void Expire() {
    SmtpClient client = new SmtpClient();
    MailMessage message = new MailMessage();
    message.From = new MailAddress("system@tridion.com");

    MailAddressCollection toAddress = new MailAddressCollection();
    toAddress.Add(new MailAddress(GetCurrentUserMail()));

    client.Send(message);
}

Approval Status for items added to Bundles

When an item is added to a bundle that is already in a workflow process instance, the added item will receive the current approval status, actually it will receive all the bundle workflow trace. For instance if you have a Bundle that has this workflow trace, Draft -> Staging -> Draft -> Staging, the added item will receive the same in its workflow process history.

Approval Status evaluation during publishing

Approval status is checked during publishing to make sure that the item being published meet at least the minimal approval status. This functionality is not new and has been there in tridion for several releases, so what is the difference?, Since Tridion 2013 GA we have the possibility to remove items from a Bundle regardless if it is in Workflow or not, it will lead to the possibility of removing an item from a bundle / workflow before it meets the minimal approval status for a publication target, then since it is not in workflow we were able to publish it even causing some inconsistency. In this release we are evaluating the approval status even if the item is not in workflow so that we can ensure that just content with the required approval level reaches the publication target.

No comments:

Post a Comment