As the flood in your mailbox just told you :-), I've checked in an initial
bunch of code to illustrate the ideas I'm thinking about in the workflow
proposal.  Currently, you'll need to check it out from CVS and build it
yourself (be *sure* you use the current CVS version of Digester!), and you
can run the trivial demo program by executing "ant demo".

Highlights include:

* The naming of objects that represent the static description of work
  flows has been changed from Workflow -> Step to

    Process -> Activity -> Step

  where a "Process" crosses individuals, and an "Activity" does not.

* The sample code only implements the Activity and Step layers
  at the moment.

* A smattering of basic Step implementations exists in the "core",
  "io", and "web" namespaces, to illustate the concept of using
  namespaces as an extensibility mechanism.  However, the Digester
  rules to parse an XML document containing an <activity> are
  still embedded in the demo program.

* None of the existing Steps do any control flow modification, although
  the underlying mechanism is there (call Context.setNextStep() to tell
  the Context which step should be executed next).

As Jon will discover if he looks :-), none of this is "tied to" Struts
(and wasn't ever going to be).  Struts support for workflows will built on
top of this stuff, but that will be done inside Struts, not here.

Craig


Reply via email to