Kentico CMS 7.0 Developer's Guide



Previous topic Next topic Mail us feedback on this topic!  


Previous topic Next topic JavaScript is required for the print function Mail us feedback on this topic!  

Kentico CMS allows you to organize and control the process of creating, updating and publishing documents on your website by applying a workflow on them.


In this chapter, you will learn how to define and apply workflow processes for your documents. You will also learn how to manage the workflow process of a particular document in CMS Desk.


What is a workflow?


Workflow is a sequence of steps that define the life cycle of a document. This allows for setting up a reviewing and approval process to ensure quality of content and design. In such a process, you can specify the roles that different people will play and the places in the flow where the individual people will have influence on a particular document.


An example of a simple workflow process could be a hypothetical website that publishes scientific articles. An author can write an article and send it for approval to an editor, who will make corrections and submit the article to the head of the respective department. The head will then publish the document, thus making it publicly available to read on the website.


What features are available?


Kentico CMS allows you to use workflow for all documents in the content tree, including uploaded files. It consists of the following features:


The workflow support allows you to organize the process of content creation, updates and publishing on your website.

Advanced workflow adds support of branching the workflow process based on macro conditions and user decisions. It also allows for automatic manipulation of the documents as they go through the workflow process.

The versioning support is tightly bound with workflow and allows you to store, view and roll back previous versions of the content.

Versioning without workflow creates a new version whenever a document is modified, while the whole editing process remains as if the document was using no workflow at all.

The content locking (check-in/check-out) support allows you to avoid concurrent modifications of the same document by multiple users.

The preview support allows you to see the content in the context of the site before it's published. This feature is only available for documents that use workflow - you can preview the documents before switching them to the following step.

The archiving support allows you to archive a document. Such a document is no longer displayed on the website, but it's kept in the content tree and can be re-published at any time later.


The following figure shows an example of document life cycle with a workflow:




The workflow process consists of any number of custom steps. Only authorized users or roles are allowed to modify and approve/reject a document in a particular step. Any authorized user can switch a document to the following or the preceding step. The current workflow step of a document can be found on its Properties -> Workflow tab. It is also indicated by the document status icons displayed next to documents in the content tree.


What type of workflow should I use?


Kentico CMS offers two types of workflows - basic and advanced.


Basic workflow


In a basic workflow, one step is followed by another in a direct sequence. A basic workflow cycle of a document starts in the Edit step, which means the document is newly created or that there are yet unapproved changes in the document. After going through the defined approval steps, the document gets into the Published step. At that point the system makes the last version of the document visible on the live site.


Advanced workflow


Advanced workflow significantly differs from basic workflow in the way how you can design the flow of steps. You can let a document go through different steps based on various conditions, you can allow editors to choose which step they want the document to be moved to, or you can set timeouts for automatically moving documents from one step to another.