Workflow Engine Plugin System

Sebastian Bergmann » 19 February 2008 » in New Features » 3 Comments

eZ Components

Version 1.2 of the Workflow component that is part of the eZ Components introduces a plugin system that allows developers to hook into the workflow engine at well-defined extension points.

For now, plugin code can be called

  • after an execution has been started
  • after an execution has been suspended
  • after an execution has been resumed
  • after an execution has been cancelled
  • after an execution has successfully ended
  • before a node is activated
  • after a node has been activated
  • after a node has been executed
  • after a service object has been rolled back
  • after a new thread has been started
  • after a thread has ended
  • before a variable is set
  • after a variable has been set
  • before a variable is unset
  • after a variable has been unset

ezcWorkflowExecutionListenerPlugin and ezcWorkflowExecutionVisualizerPlugin are two workflow execution engine plugins that will ship with Workflow 1.2. The former is a refactored version of the execution logging code of Workflow versions 1.0-1.1.

The latter is new and can be used to visually log the execution of a workflow as shown below.

Execution of a workflow

The ezcWorkflowExecutionVisualizerPlugin generates a series of DOT files that can be rendered into single pictures using GraphViz. For the animation above, I crudely joined the single images to an animated GIF.

The before hooks are special as they allow the plugin to change (or even prevent) the current execution step. This will eventually allow for Aspect-Oriented Programming on the workflow level.

Defined tags for this entry: , , ,

Trackback specific URI for this entry

3 Comments to "Workflow Engine Plugin System"

Display comments as (Linear | Threaded)
  1. Lars Strojny
    20/02/2008 at 01:16 Permalink
    Isn't there a reason this wasn't done with the SignalSlot component?

    Reply

  2. Sebastian Bergmann
    20/02/2008 at 12:10 Permalink
    There will be a WorkflowSignalSlotTiein component soon.

    Reply

  3. Vern Ma
    27/04/2008 at 17:15 Permalink
    I think the Workflow component and its siblings is outstanding. I am certain that it solves a problem I'm been wrestling with for weeks.

    However, as I suffer from one of my "senior moments" I find myself struggling with how to take the components, tie-in with my controllers and views and create a web site that guides a user through an adapting interview to gather specification information. This is not a survey or a learning system. It is closer to an expert system than anything else.
    Have you a working project, complete with the necessary external action processors that you might share?

    Many thanks in advance.

    Reply

1 Trackback to "Workflow Engine Plugin System"

  1. Sebastian Bergmann 17/06/2008 at 10:44
    The eZ Components development team is happy to announce the eZ Components 2008.1 release. Starting from this version, eZ Components requires PHP 5.2.1.In this release, there are three new components:The Document component enables you to convert documents

Add Comment


To prevent automated Bots from commentspamming, please enter the string you see in the image below in the appropriate input box. Your comment will only be submitted if the strings match. Please ensure that your browser supports and accepts cookies, or your comment cannot be verified correctly.
CAPTCHA

Submitted comments will be subject to moderation before being displayed.