On 2/25/07, Strachan, Paul <[EMAIL PROTECTED]> wrote:
Hi,
I'm looking at implementing a struts wizard flow (of about 12 pages)
into my struts-1.2.9 application. The struts dialogue project seems
to be along the lines of what I need (pattern-wise).
I have some extra quirements such as:
1. A progress menu (synch with the wizard)
What is that? A progress bar? You can draw it yourself. The wizard
engine used in Struts Dialogs does not do any UI. It can be used even
in a standalone console app ;-)
2. Some pages have options (eg radio buttons) which alter the later flow
The wizard engine employed in Struts Dialogs example allows to alter
the flow. In the example, if you enable "add security info" checkbox
the wizard shows an intermediate page with "you favorite color"
question.
3. The usual next/previous buttons + ability for user to navigate directly to
some pages
The wizard engine employed in Struts Dialogs example allows to do
that, but it only allows to directly navigate to pages (well, to
wizard steps) that are PRECEDING current step. Try
IWizardStep.isStepInPath method. If it returns true then the step can
be directly navigated to.
Direct navigating opens a can of worms. One of the problems is that if
you change some data on a directly navigated page you will need to
verify and possibly to clear relevant data that was entered on later
steps. Say, if you have a wizard that chooses a car and the steps are:
(1) Choose year, (1) Choose make, (3) Choose model, (4) Choose trim.
Say, you selected 2004,Toyota,Camry,CE. Then you navigate to the
second step and change make to Ford. Now you will have to clean up
model and trim, thus changing overall state of the wizard. I have a
special object designed for that task with built-in observers that
track state on each step, but I have never submitted this class to any
library, I just used it for my own work.
I don't think that direct navigation is a good feature for wizards, it
is not surprising that most wizards do not allow this.
4. A review page which allow user to 'amend' sections (eg button to navigate
back to that page)
5. Once the wizard is complete (ie "submitted for processing"), the user can
still make changes to some pages while not others (actually this depends a bit on the
current state of the internal processing) - I suspect each page needs to obtain its own
state dynamically and present a read-only or update view.
Are you really need this feature? This is like changing wizard
internal state based on some external state. Need to think about this.
Can anyone advise there experience with struts-dialog (sourceforge) or some
other wizard or workflow framework/model that would suit this requirement?
I am the author of Struts Dialogs as well as of Easy Wizard library,
so if you have questions on how to use this wizard engine I will be
happy to answer.
Michael.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]