OpenWGA 7.6 - OpenWGA Concepts and Features

Content Stores » Structure » Other data

Workflow definitions

The workflow system of OpenWGA is responsible for letting content documents pass an approval process, taking place immediately after "publishing" - i.e. the author ending his editing task - and before "releasing" the document, i.e. making it really visible for the public. In its core this process lets a group of approver persons review the document and decide if it may be released.

The workflow system of OpenWGA is able to support various workflow implementations with varying behaviours. Therefor the configurations that define a workflow are not stored in fixed document form. It is up to the workflow implementation to find a suitable storage of its neccessary data.

While the OpenWGA Community Edition does not contain a workflow engine the OpenWGA Enterprise Edition provides a workflow implementation called Straight Workflow. This implementation processes a linear row of approval steps, called workflow levels, where each defines a group of reviewers that is able to approve or reject the content. If the row of levels is passed without anyone rejecting the content it is released.

The straight workflow needs workflow definitions, defining the neccessary data to process a workflow of this schema. These definitions have names that then are directly issued to content  types or pages. This will let all contents of this content type (or all contents on the page and subpages respectively) process this workflow before release.

A workflow definition of the straight workflow engine contains the following fields:

  • name (String): A unique name of this definition
  • description (String): An optional description text
  • adminReviewers (List of Strings): Users, groups and roles that are regarded administrators of this workflow. They are able to act as workflow reviewers on all documents in this workflow and all levels.

Additionally a workflow definition contains a list of workflow levels that are processed in order. A workflow level has the following fields:

  • name (String): A name for the level
  • description (String): An optional description text
  • position (Integer): A number by which levels are sorted. The levels are executed in ascending position order
  • reviewers (List of Strings): Users, groups and roles that are regarded reviewers of this level, able to approve or reject a document
  • reviewerCount (Integer): Number of reviewers that must approve a document for it to advance to the next level. Number 0 means all reviewers must approve it.

When using OpenWGA content stores of version 4.1 or lower those workflow definitions are not stored inside the content store itself. Instead they are stored into a dedicated folder "wgaworkflow" inside the OpenWGA configuration folder.  This is because content stores of these versions do not provide a facility to store them.

These workflows stored in file system are shared across all content stores of these low versions. This means: Modifying such a workflow in one low-version content store will also change the same workflow in all other low-version content stores. The Content Manager only displays them like they are actually part of the database.