By Cathy Dew
Workflows are your Kentico assistants, watching over your content publishing
Workflows are designed to smooth your publishing and translation processes. When you have many editors or a large set of content that is constantly changing, you want to have some structure to the publishing process. At minimum, you might want a second set of eyes proof reading and assuring the content meets your corporate standards. For more advanced needs, you’ll want to setup workflows to ensure that content is being translated into all the languages your site supports.
With the last article we discussed how to setup workflows in Kentico. We covered what types of workflows are available in Kentico and their distinguishing features. We outlined how to use scopes to define areas of your site a workflow can work on and how email notifications work. Today we’ll discuss how to build and use the workflows you need. We’ll cover assigning workflows, building linear versus branching workflows, approvals & publishing, and how to build custom actions.
Building a Basic Workflow
When building basic workflows, it’s important to understand there are 3 default steps with every workflow and the order of these steps cannot be changed: Edit, Publish, and Archive. The Edit step will always be the first step of any basic workflow. A new page created will start at Edit, and any published page that is updated will return to the Edit step. Any new page at the Edit step is not visible to your general visitor audience and any published page that is being updated, only the last published version will be visible to your visitors. The current edits or “draft” will not be visible until the page reaches the Published step.
At the Published step, the page is now “live” and available for visitors to read. If, at any time, the page is updated the unapproved version will not visible to your general audience. They will still see the last approved version until the edited version is publish and replaces the previous version. It’s important to note with Publishing, if you are using the publish to/from dates on a page the page will only show up on the site if both conditions are true: The workflow is at the Published step, and the current date is between the publish from/to date range.
The Archive step is the final step of a page life cycle for basic workflow. When the Archive step is reached, a page is no longer visible to your general audience. An archived page can be updated, and return to the Edit step, but the page will not be available to your general audience until it reaches the Publish step. The previous versions are still under the Archive step and therefore not visible to your general audience.
Lastly, with basic workflows you can only create custom steps between Edit and Publish.
What the custom steps give you in the basic workflow is the ability to add specific people or roles as part of the approval process. And you don’t have to give these users or roles Manage workflow permissions. They are just given permissions to the specific custom step. Once assigned, these users will have approved or reject authority for those target pages once it leaves edit mode.
Basic workflows are limited and contain no branching, but for many clients this simplicity is all they need to provide an approval workflow for their content editors.
Building an Advanced Workflow
Before you can begin building advanced workflow, you will need to make sure you have Windows Communication Foundation installed on the server hosting your Kentico application. WCF is a core Windows service that is part of the MS .NET Framework and while it’s installed with the .NET Frameworks 3.5 and higher, the HTTP Activation service is not enabled by default. Lastly, you’ll need to update your web.config file to allow SSL bindings for the service endpoints if you are running your site under SSL. If you need specific step by step instructions Kentico has documentation to enable HTTP Activation for WCF and SSL endpoints. With WCF working, you can then utilize the Workflow designer too for creating branching workflows.
The workflow designer is a UI interface that allows you to select options from the action tool bar and place them on the workflow grid. Connectors between the steps / actions allow you to control the flow from one step to another. The biggest difference, besides the UI, with advanced workflows is the ability to branch your workflow based on content or by user actions.
There are 3 types of conditional steps that allow the workflow to branch into two or more options. A “Condition” step is a binary gate, allowing the workflow to go down either A or B route. A “Multi-Choice” step is similar to a case/switch statement where you can setup more than one condition and branch accordingly. If there are two or more conditions that are met within a “Multi-Choice” step, a user will need to pick the one that’s most appropriate. Lastly, “First-win” step, where the conditions will be evaluated via a hierarchical list, and the first condition that matches will route the page to that branch.
The “User choice” step is used when you want a manual choice of which branch a workflow should follow. If needed, you can assign time-outs to steps that require user intervention preventing the workflow from being stuck at one step forever.
Once you have the conditions and steps mapped out, you have quite a wide variety of actions that can be performed at each step. The types of actions are related to the page (copy-delete-link-move-synch-properties), social media (Twitter, Facebook), Email, or translation (send and import).
Assigning Workflows to Pages
If you understand scoping in a Kentico environment, you have a great start on how to assign workflows to pages in your website. What you might not know is when you assign a workflow to a specific page, you are actually building a scope that’s limited to only that page. Because of the way scoping works, allowing you to select groups of pages based on criteria, one of the simplest assignments is via a parent and child relationship.
If you don’t want to manually design the scope, and the scope is simple like your News and Announcements branch of the page tree, you can assign the new workflow via the parent page. Using the Apply Workflow option, you can peruse and select the needed workflow and apply it to the target page only, or to the target page and its children. If you are not interested in exceptions to the workflow, or don’t need to add additional page branches – you’re done. Otherwise, you can edit the workflow’s scope and add additional inclusions or exclusions to your scope.
Workflows and Translations
Outside of the approval processes, workflows are most important to your translation needs on multi-lingual sites. We have a great 3-part series on Multi-lingual website with Kentico if you are not familiar with that process:
The workflows can help you keep track of pages that are pending translation, need post translation editing, and provide email notifications along the way. For large sites using multiple languages, these workflows are critical for managing and publishing for multiple audiences.
Creating Custom Actions
Creating custom actions is building new plumbing for the Kentico workflow to utilize. This requires an advanced level of knowledge with .NET and the Kentico programming API / Portal Engine. However, by custom coding an action, you have the full range of Kentico programming options as well as the ability to connect to almost any 3rd party system available. While Kentico has Twitter and Facebook publishing built-in, maybe you need Linked In, or Google+ integration. The limits are your imagination and coding expertise.
2Plus2 is a California San Francisco Bay Area Kentico Gold Partner and would love to help you get the most out of your Kentico system and workflows.
Go online to schedule a free consultation with our team or call 510-652-7700 today.