Introduction to the workflow

The WCM Workflow uses the JBoss Business Process Management (jBPM) engine in its core. jBPM is an open source, standalone workflow engine. It can run in any servlet container—it doesn't require the JBoss Application Server. The jBPM engine is responsible for managing deployed processes, instantiating and executing processes, persisting process state and metadata to a relational database (via Hibernate), and tracking task assignment and task lists. JBoss jBPM is a flexible, extensible workflow management system with an intuitive process language to express business processes graphically in terms of tasks, wait states for asynchronous communication, timers, and automated actions. With jBPM, the Alfresco platform is extended to support complex, task-oriented processes. jBPM is built on the idea that any process can be described as a graph or a set of connected nodes. jBPM maintains a list of tasks assigned to each participant. How users interact with the task list is up to each application. In Alfresco, a dashlet displays a to-do list for the currently logged in user. As users complete their tasks the tasks are removed from the to-do list.

Workflows are described with "process definitions" using an XML-based language called jBPM Process Definition Language (jPDL). jPDL is one example of a graph-based execution language.

jPDL is one process language that is build on top of that common framework. It is an intuitive process language to express business processes graphically in terms of tasks, wait states for asynchronous communication, timers, and automated actions. To bind these operations together, jPDL has the most powerful and extensible control flow mechanism. jPDL has minimal dependencies and can be used as easily as using a Java library.

jPDL includes a graphical designer tool. The designer is a graphical tool for authoring business processes. It's an eclipse plugin. Workflows can be performed either by handcoding XML or by using the JBoss jBPM Process Designer tool. In the later sections, we will see both the approaches.

Workflow process

Whenever content is created or modified for a web project, it is added under Modified Items of a user's sandbox. A list of modified items in a user's sandbox can be promoted from a sandbox to a Staging Sandbox. Content is promoted from a user's sandbox to the Staging Sandbox by initiating the Submit Wizard. This wizard is initiated by clicking on either the Submit Selected or Submit All actions in the Alfresco web client. Submitted changes are routed via workflow for one or multiple users to review and approve, either serially or in parallel using Alfresco's out-of-the-box Web Site Submission workflow (or any custom-built WCM Workflow). Once approved, a snapshot is automatically taken of the Staging box.

The workflow process can be divided into three steps.

  1. The first step is to define and deploy a workflow in WCM.
  2. The second step is to associate the workflow to a web form or web project.
  3. The third step is to submit modified content to the staging server using a workflow.

Out-of-the-box workflow

Alfresco provides an inbuilt Web Site Submission workflow to be associated with the web project.

Workflow can be configured for both form-based and non-form-based assets.

There are two out-of-the-box flows available for the Web Site Submission workflow:

  • Serial
  1. Reviewers approve one at a time and in order.
  2. If any reviewer rejects, the workflow is sent back to author.
  3. Upon resubmit, all reviewers are reassigned a task, one at a time.
  • Parallel
  1. Reviewers review in parallel to one another.
  2. If any reviewer rejects, the workflow is sent back to the initiator once all the reviewers either approve or reject the workflow.
  3. Upon resubmit, all reviewers are reassigned a task in parallel.

When the workflow is complete, it promotes the change set to the Staging Sandbox.

Consider a case where a user has to conduct training. In order to arrange the training, the concerned user needs to take approval from alternative authorities so that the event can be published on the site and participants can register themselves for the training. If any of the authorities rejects the training for whatever reason, it goes to the trainer who was seeking approval. Now the trainer can either resubmit to reviewers or cancel it. If all the authorities approve the training, the event can be published on the site.

For this create Mark Steven, Keenan Hall, and Crawford Caton as users. Invite Mark Steven as Content Manger on the Cignex web project and Keenan Hall and Crawford Caton as Content Reviewers on the Cignex web project. For more information about creating users and inviting users refer to Chapter 3,Getting Started with Alfresco WCM.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset