Your message has been sent.
This article has been saved to your account.
Go to my account
This article has been emailed to your Kindle.
Send this article
Complete the form below to send this article, Kentico CMS 5 Website Development: Workflow Management, to a friend (or to yourself). We will never share your details (or your friend's) with anyone. For more information, read our Privacy Policy.
In this article, by Thom Robbins, author of Kentico CMS 5 Website Development, is a sequel of the article Kentico CMS 5: Fundamentals of Site Security, which covers:
- Learn how to configure a workflow
- Develop a workflow process
Kentico CMS 5 Website Development: Beginner's Guide
(For more resources on CMS, see here.)
Workflow management
Workflow is a way to automate a business process for publishing content. Using workflow allows you to delegate portions of the business process to different users or groups for approval. Kentico CMS allows you to use workflow for all documents, including uploaded files. The workflow engine organizes the process of content creation, updates, and publishing content. The following diagram shows an example document lifecycle with workflow. It's important to keep in mind that document versioning is tightly bound with workflow and allows document comparison and version rollback.

Time for action – configuring workflow
The Kentico CMS workflow process is designed as a state machine. This means that workflows are event driven. A workflow contains three or more states, with only one state active at any given time. Based on an event, a transition is made to another state. Once a transition is made to the final state, the workflow is completed. Within each workflow step, members of authorized roles are allowed to modify, approve, or reject a document.
Now, let's configure a workflow for the News folder.
- In CMS Site Manager, select the Development tab, select Workflows, and click New workflow, as shown in the following screenshot:
- For the New workflow, enter the Display Name as Approval and Code Name as Approval, as shown in the following screenshot:
- Select the Steps tab and click on the New workflow step link, as shown in the following screenshot:
- Enter the following information and select OK.
- Select the Roles tab and click Add roles, as shown in the following screenshot:

- Select the CMS Desk Administrators role and select OK.
- Select the Scope tab and click on the New workflow scope link, as shown in the following screenshot:

- In the Starting alias path, click the Select button, as shown in the following screenshot:

- Select News and then click the Select button, as shown in the following screenshot:
- Select OK, as shown in the following screenshot, to save the workflow scope.




Quick tip
The Edit, Published, and Archived steps are automatically created for every workflow and can't be deleted. These steps use the default system security.

What is a workflow scope?
The workflow scope defines the folder, documents, and languages that are included in the workflow.

(For more resources on CMS, see here.)
What just happened?
When you create a workflow, you automatically start with the default steps of Edit, Published, and Archived. These steps are automatically built into the system and can't be changed. In this example, we created a new step called Approval. Once we had defined the steps within the workflow, we then defined the workflow scope. The scope that we defined was the News folder. In defining the scope for this folder, we created a policy that any documents created within this folder have to complete the workflow process, and publishing approval can only be given by members of the CMS Desk Administrators.
Time for action – executing the workflow
Now that a workflow is defined for the News folder, any documents created within the folder are automatically placed in the workflow for Approval by the CMS Desk Administrators. Let's create a new News item that executes the workflow using the following steps:
- In CMS Desk, select the Content tab, then News, the New document icon, and then a new document News item.
- Within the new News item, enter the following information, and then select Save.

- Click the Submit to approval link, as shown on the following screenshot:
- Open a new browser window, log in to CMS Desk as Joe Brown, select the Content tab, expand the News folder, and select New Product Announced item, as shown in the following screenshot. Notice that we are not authorized to approve the document.
- Select Sign out, log in to CMS Desk as the Global Administrator, select the Content tab, expand the News folder, select New Product Announced item, and then select Publish, as shown in the following screenshot:
- Once the screen refreshes, verify that the News item New Product Announced has been published, as shown in the following screenshot:




What just happened?
On clicking Submit to approval, you placed the News document into the workflow queue, which can only be approved by CMS Desk Administrators. Then you logged in and approved the document for publication as the administrator. Once the document was approved, the system then published it on the public website.
Time for action – document rollback
Workflow maintains document versions. Now that we have a version stored, let's modify our News item, compare the changes, and then roll the document version back using the following steps.
- Log in to CMS Desk as the administrator. Then select the Content tab, News folder, and the New Product Announced document, as shown in the following screenshot:
- Modify the News text to include the following and select Save.
- Select Submit to approval, as shown in the following screenshot:

- Select Publish, as shown in the following screenshot:
- Select the Properties tab, Versions tab, and select the view version icon, as shown in the following screenshot:

- In the Compare to drop-down menu, select the 1.0 version, as shown in the following screenshot:

- Validate the version difference information, as shown in the following screenshot, and select Close.
- Select the Rollback icon, as shown in the following screenshot, to rollback to version 1.0.

- Select OK to accept the version rollback, as shown in the following screenshot:

- Validate that the rollback to Version 1.0 has been completed, as shown in the following screenshot:

Take a look at our new product list to see the new items we have added. It's an amazing list of new cell phones for everybody!



(For more resources on CMS, see here.)
What just happened?
After creating a second version of the News document and then comparing it to the original, we decided that we need to rollback the document changes. When we selected the rollback to previous version icon, this changed the current published version back to our 1.0 version.
Have a go hero – mapping workflows
Workflow is an important part of any website. It's used to control the publishing process and ensures that the proper content is being exposed to site visitors. Implementing workflow takes planning. Spend time talking to your content publishers to understand what workflows they would like to implement for the site. Once this is completed, prepare a proposal that includes the workflow steps and roles that are needed for your website.
Summary
We learned a lot in this article about the process of managing the workflow for our website.
This includes:
- Learn how to configure a workflow
- Develop a workflow process
Further resources on this subject:
- Kentico CMS 5: Fundamentals of Site Security
- Playback Audio with Video and Create a Media Playback Component Using kentico_abr4
- Manipulating Images with kentico_abr4
About the Author :
Thom Robbins
Thom Robbins is the Web Evangelist for Kentico Software LLC. He is responsible for evangelizing Kentico CMS for ASP.NET with web developers, web designers and interactive agencies.
Prior to Kentico, Mr. Robbins joined Microsoft Corporation in 2000 and served in a number of executive positions. Most recently, Mr. Robbins led the Developer Audience Marketing group that was responsible for increasing developer satisfaction with the Microsoft platform. Mr. Robbins also led the .NET Platform Product Management group responsible for customer adoption and implementation of the .NET Framework and Visual Studio. Mr. Robbins was also a Principal Developer Evangelist working with developers across the world on implementing .NET-based solutions.
Thom currently lives in Seattle where he enjoys the great weather and spending time with his family. Thom can be reached at Thomasr@kentico.com.



Post new comment