Workflow engine

Last modified: September 6, 2008 - 16:36

Enhance actions and workflow modules; apply to current Drupal lifecycle events.

With the actions[1] and workflow[2] modules, functionality can be named and executed from the web interface. While the usefulness of these modules in their current state is unquestioned, there are pieces missing that prevent them from being used as a comprehensive workflow engine. In particular, it is impossible, from the web interface, to "script" automated workflows.

This project involves the introduction of new conceptual entities borrowed from UML 2's activity diagrams [3][4].

  1. Introduce Decisions. Currently, the web user makes decisions for transitions between states. Allowing decisions to be defined and programmatically executed will allow automated workflow changes.
  2. Introduce Guard conditions. These boolean tests will be used to determine whether an automatic transition can take place. Guards can live in libraries at the module or global level.
  3. Define and name standard states for nodes, users, comments. Any common events, as defined by the $op or $type parameters to hook_nodeapi, hook_comment and hook_user, should be available as named states. From these states it should be possible to define transitions based on Decisions protected by Guards.

[1] http://drupal.org/project/actions
[2] http://drupal.org/project/workflow
[3] http://www.agilemodeling.com/style/activityDiagram.htm
[4] http://isds.bus.lsu.edu/cvoc/learn/bpr/cprojects/spring1998/modeling/act...

Comments on this proposal

Re: Workflow engine
WorldMaker - June 6, 2005 - 23:43

I mentioned this in the proposal I submitted several days ago (and I believe a day before it showed up here) under "other things I think need doing". It really is an important piece in the puzzle in pushing Drupal into being an excellent system for large collaborative websites.

I realize this is a competition, but I also realize that the real goal of this is to get major tasks accomplished (with or without an incentive).

If someone gets assigned to this task, I would be more than happy to present them with the workflow needs I'm projecting for a website (mythoi.com) I am in the process of piecing together, as I believe a good example can be extremely helpful.

--WorldMaker--
======================================================
======================================================

You can resubmit your application to Google
robertDouglass - June 7, 2005 - 03:16

If you would like to resubmit your application so that it is focused more on this project, Google has indicated that this is fine with them.

- Robert Douglass

-----
http://www.hornroller.com/French_Horn_News
www.robshouse.net
======================================================
======================================================

I chose what I presented as
WorldMaker - June 7, 2005 - 10:56

I chose what I presented as the main focus of my application based on what was the more immediately pressing task that I saw needed doing, at least for the needs of the particular website I am working on (I realize that isn't always a good measure of the overall needs of the entire community, but is the best measuring stick I have at my personal disposal).

The Workflow engine is indeed an important thing, but can currently be emulated through verbal policies and taxonomy (particularly with the taxonomy access control patch). I just wanted to encourage others that this might be a good project and that if someone needs help/research on a concrete application I have one at hand. Just as I'm measuring the usefulness of relative projects based on my immediate needs, I figure someone else might appreciate having or at least knowing more about a concrete need to fill, as opposed to just working on the project as an abstract. This is the basis of most testing-oriented design practices, too, that you have a concrete application already in mind (from your "customer").

So, to paraphrase my original post:

"Regardless of whomever works on this (and, honestly, may the best person win the money), I am/will be a customer of this engine and would be more than happy to do what I can to help test this."

--WorldMaker--
======================================================
======================================================

Workflow engine
coupet - April 15, 2006 - 14:41

In particular, it is impossible, from the web interface, to "script" automated workflows.

Excellent project to implement. what is the status?

This project would extend the strenght of the workflow and actions modules and provide for the implementation of automated workflows.

----
Darly
======================================================
======================================================

 
 

Drupal is a registered trademark of Dries Buytaert.