[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