Michael - thanks for your reply:
1. the progress menu is just an ordinary left-nav html menu which
displays all the steps of the wizard (plus a state icon - e.g. green
tick) and allows the user to navigate to any page.  As you say I can
probably do this myself based on the wizard state/context object.

2. thanks I'll look at that

3. I agree with you but that's what the business wants (to navigate
forward). In my wizard each page is independent (so that helps) +
there's a requirement at the end to display the review page with amend
buttons to take the user back to a previous page and to allow the user
to navigate back to the review page - this seems a reasonable request
???, but does imply forward navigation.  Anyway I'll take a look at the
method you suggest - thanks.

5. Yes, wizard state can be influenced by an external state. The
post-submitted (internal) processing uses a workflow system as it
travels through different actors/business units.  The user can retrieve
and modify certain parts of their application (in the wizard) if that
internal workflow stage is incomplete.

Usually I'm happy to work with the usual struts action/form components +
MVC but for this particular wizard (if I dare even call it that) I'm
thinking an established framework might be more appropriate, given the
unusual business requirements.

Thanks for your help/comments - should I post here for
struts-dialog/easywizard help or is there a more appropriate forum/list?

Thanks,
Paul

-----Original Message-----
From: Michael Jouravlev [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, 27 February 2007 10:53 AM
To: Struts Users Mailing List
Subject: Re: [DESIGN] struts dialog / wizard

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]

**********************************************************************
This message is intended for the addressee named and may contain
privileged information or confidential information or both. If you
are not the intended recipient please delete it and notify the sender.
**********************************************************************

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to