[Opensource] Is anyone actually using workflow with Controlle
rForm/StateForm's ?
Dcomeau at xenos.com
Dcomeau at xenos.com
Sun Feb 16 13:29:52 PST 2003
Thanks Mike,
I hope such a discussion does evolve. I'm still learning the ropes so I
can't be too much help, but then again maybe my lack of exposure could
benefit the design's simplicity. :)
Well, since it can't hurt, here are a few thoughts:
1) As you mentioned you do, build a mechanism that keeps a dynamic list of
where you've been (what states/controller's?) WorkflowTrail?
2) abstract class HubState (or maybe HubController?)
- has code to manage/verify the allowed "input path(s)" and
"output path(s)"
- "output paths" would be the branches (seperate Controllers?), with a
returnToSender() type setting defined in the HubState allowing return
to the HubState when the final state of an "output path" is completed.
- However, you could "flow" through multiple hubs, which would get
complicated?
- Perhaps User could optionally be shown a Yahoo style display of links
on their view so they easily could transition back to the Hubs they've
been to?
Ex: "MainScreen >> MyOptions >> ChangePassword"
---------- ---------
- This could just be an internally managed list of Transitions pointing
back to the hubs you've gone through? When you transition to one, it
optionally reloads your ControllerForm?
3) Have interfaces for the various types of States. Good for "instanceof"
logic and also identifying common tasks for the different types.
- ex: IPromptState, IHandleState, IFinalState? (IHubState?)
- addStatePairing() still exists, but Handle states can be without
promptStates when they are the first state in a Controller that
is an "output path" from a hub.
Ex: a hub state has a prompt that lets you select a group of
Customers using checkboxes. There are many branches (output paths)
for this hub. Let's say one is "Email selected customers". The first
state in the EmailSelectedCustomersController must verify that those
users allow solicitation, if not the error message is displayed on the
Hub's prompt screen. If so, the first prompt state is displayed.
4) To enhance reusability of external States, allow something like this
in the Controller's constructor:
promptCustomerListState.suppressTransitions("deleteSelectedCustomers");
promptCustomerListState.suppressNestedTransitions("deleteCustomer");
Currently I am handling this type of thing by customizing the different
view's that use the same State.
5) Create a standard ControllerForm that's flexible like DefaultForm that
can be used most of the time instead of making your own (even though
you could). Might not need to, but
6) Keep the design simple enough that an general algorihim could be used
to verify that the workflow is legal and has no fatal holes (ok, maybe
this would be a tough one!)
Just my 2 cents.
Dave
-----Original Message-----
From: Mike Traum [mailto:mtraum at cirnetwork.org]
Sent: Sunday, February 16, 2003 9:11 AM
To: 'opensource at jcorporate.com'
Subject: RE: [Opensource] Is anyone actually using workflow with
Controlle rForm/StateForm's ?
That was my experience - if you have a very linear app, it works well. But,
with a lot of branching, it looks kinda unweildy.
I posted a message a few days ago hoping to get a discussion going on what
you would like to see in a somewhat simple, yet more flexible, workflow
design.
mike
-----Original Message-----
From: Dcomeau at xenos.com [mailto:Dcomeau at xenos.com]
Sent: Saturday, February 15, 2003 2:44 PM
To: opensource at jcorporate.com
Subject: [Opensource] Is anyone actually using workflow with
ControllerForm/StateForm's ?
Hi all,
I'm just curious about this....for those of you who have played around with
the workflow concept, spefically with addStatePairing() and
ControllerForms/SateForms, have you found it useful or not? I'm trying
practice it now, but finding myself tracing through the code a lot. I'm
starting to think that the more complex an app gets, the more cumbersome the
workflow model gets.
I'd like to hear a few simple yea's or nea's from those in the know. With a
lack of documented examples on this, I can't tell if I'm doing things right
or not...and I'm starting to wonder if the reason there's not more
documenation is because there's a lack of folks who actually (want to) use
it.
Dave
_______________________________________________
Opensource mailing list
Opensource at jcorporate.com
http://mail.jcorporate.com/mailman/listinfo/opensource
Archives: http://mail.jcorporate.com/pipermail/opensource/
_______________________________________________
Opensource mailing list
Opensource at jcorporate.com
http://mail.jcorporate.com/mailman/listinfo/opensource
Archives: http://mail.jcorporate.com/pipermail/opensource/
More information about the Opensource
mailing list