Blogs
Liferay 6 integrates workflow engines like jBPM or Kaleo on any assets finally. This feature has been expected for a while. By this feature, users are able to manage the content creation process with a workflow. Especially, this feature helps content creators collaborate and go through the necessary steps in order to produce better and more accurate content like assets. Within a workflow, any type of assets like Document Library document, wiki entry or web content can go through review-approval processes.
In this article, I am going to show this feature with examples. Asset here refers to Liferay core content types: like Document Library document, Image Gallery image, Message Boards message, Web Content, Wiki page, comments, Blogs entry. Logically, workflow should be available for any assets like Image Gallery image, Calendar event, layout page, Bookmarks entry, user, organization, etc. (Abstracted from the book: Liferay Portal 6 Enterprise Intranets)
Install Workflow engine
First prepare Liferay portal. Here I use Liferay 6.0.3 GA (revision 55391). Liferay 6.0.2 RC 2 would be OK, too. Install the portal and you would have a folder $PORTAL_HOME and deploy-folder $PORTAL_HOME/deploy. Then start the portal.
When the portal is running, deploy the workflow engine – that is, drop the WAR ${workflow-web-6.0.2.1}.war to the folder $PORTAL_HOME/deploy. You can use either jbpm-web or kaleo-web. Kaleo is Liferay custom Workflow plugin. Here I use kaleo-web.
You can download kaleo-web from
Note that you can find example workflow single-approver-definition.xml at
/kaleo-web/WEB-INF/classes/META-INF/definitions.
Of course, you can download example at
/palm_tree/book/0387/chapter09/definitions.
Configure workflow on any assets
Now you can configure workflow now. I use asset Blog Entry as an example.
Create two users: David Berger – a content creator; Lotti Stein – a content reviewer. And assign them as members of community Guest.
Login as admin and go to Control panel | Liferay.com| Workflow Configuration
Locate Blogs Entry and select “Single Approver” workflow and save it.
Go to Control panel | Portal| Communities and assign user roles of community guest; note that you can apply workflow on any assets of any groups (communities and organizations). Here I use the group Guest as an example.
Assign roles (community or organization content reviewer – Auto-generated role from workflow definition) to users (David Berger and Lotti Stein).

Go through workflow
Assign proper permissions to users David Berger and Lotti Stein that they can manage pages and create blogs entries in community Guest;

Login as Lotti Stein and go to Control Panel | Lotti Stein | My Workflow Tasks; you would see tabs: Assigned to Me, Assigned to My Roles, My Completed Tasks. Under the tab Assigned to My Roles, you would see the workflow task “Liferay Portal 6 Enterprise Intranets”.


Click on the workflow task under the tab “Assigned to Me”; and you can either reject it or approve it; you can click on “Approve Asset” and add comment “looks good” as well;

As you can see, the workflow task is move to the tab “My Completed Tasks”;

After approved, the blog entry “Liferay Portal 6 Enterprise Intranets” would be visible for end users.
Summary
As you can see, Liferay 6 integrates workflow engine either jBPM or Kaleo smoothly. Thus you can manage easily workflow definitions, instances and tasks in one place, that is, Control Panel. In brief, this integration has following beauties
ability to integrate many workflow engines like jBPM | Kaleo;
ability to have configurable workflow definitions;
ability to apply workflow on any assets like Blogs Entry, Bookmarks Entry, Calendar Event, Document Library Document, Image Gallery Image, Web Content, Wiki Page, etc.
Last but not least, I'd like to send a ton of thanks to Brian Chan, Jorge Ferrer, Julio Camarero, Raymond Auge, Bruno Farache, Shuyang Zhou, Michael Han, Marcellus Tavares, etc. who did an amazing job to make Asset Workflow a reality. This is big and long-time expected feature.
What’s next?
What’s next? You should be able to apply workflow on any custom assets in Liferay 6 like Knowledge Base articles. Right? I will address details in next blogs post.