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