[Zope-PTK] Member Publishing

Renato De Giovanni rdg@viafractal.com.br
Fri, 15 Dec 2000 13:48:41 -0200


> How would you handle a case where a request to construct some object
> required that a series of other objects be constructed, where each
> of the subobjects to be constructed involved a QA feedback loop.
> After all of the all of the subobjects were collected, analyzed
> and approved, they were used to assemble the original object
> requested.
>
> Each sub-creator needs to know only about their little workflow.
> The parent creator needs to know about the status of the main object
> and all of the subobjects.
>
> Sounds like sub-workflows to me. How would you do it without them?

Hi Ken!

I would probably handle this with one workflow with the following states:

1- waiting for components
2- being assembled
3- in analysis
4- waiting for usage approval
5- ready to be used

Objects without sub-objects wouldn't pass through state 2. And objects with sub-objects
would only be assembled after all sub-objects are ready to be used. But look, this is only
one of the possible approches...
Let's suppose in this example a very complex analysis process with many steps to be
covered. Than state 3 above, could encapsulate another workflow - that would be an example
of a sub-workflow. But, as Michael Bernstein pointed (and I agree with him), any possible
sub-state-machine could emerge into its parent state-machine, so we could always represent
any situation with only one workflow.

And, yes, after all I must agree with Shane and all of you that the sub-workflow feature
gives us more flexibility. It will require a high level of abstraction to implement it...
state interface may provide a way to define one or more sub-workflows to itself and in
which conditions each one should be used, states from sub-workflows may offer the
possibility to select an "emerging" next state (from the parent workflow), and
sub-workflows interface may somehow define which state should be used as a beginning state
according to specific conditions... a lot more to think!

Regards,
--
Renato
Sao Paulo - SP - Brasil
rdg@viafractal.com.br