The last app I worked on was done in tapestry. The way I implemented it
there is almost exactly the way you describe. I had a session storage that
kept the page stack and I can get the page state by capturing
request.parameters and page's persistent properties. The big problem with
that approach is that it pretty much blows the back button out of the water
since there is no good way to sync the page stack in session.

What I was thinking with wicket is to move the page stack into a base page,
and when I create a new page pass the creating page into the constructor of
the created page to create the breadcrumb. That way the new page clone the
page stack of the creating page and add it into the page stack. I think this
approach will eliminate the back button problem. There are a couple of
things I still have to investigage.
1) should I put the creating page directly into the page stack, or should I
clone it first.
2) is there a way to dump all versions except the current one since I wont
need that information (which will force cloning of the page)
3) are there any problems with cloning a page
4) storing the page state object instead of the page, although I havent seen
anywhere that lets you create a page from the page state yet

Any thoughts will be greatly appreciated. IMHO a small framework for doing
this would be a very nice addition to wicket since a lot of modern web apps
can benefit from this navigation technique. I will happily donate any code
if I get it working well.

Igor



-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Eelco
Hillenius
Sent: Wednesday, June 29, 2005 1:42 AM
To: wicket-user@lists.sourceforge.net
Subject: Re: [Wicket-user] breadcrumbs with wicket

Kind of a though question. None of the frameworks out there will have a
solid answer for that.

Generally what I do in these kind of situations, is either use a session
property (in the typed session ofcourse) to maintain state between pages, or
I make sure that I can rebuild the state I need e.g. by using page
parameters or passing the models I need. The first is cleaner as it doesn't
force you to the page level, but you shouldn't just put everthing in your
session.

An alternative way of looking at things is trying to avoid navigation from
pages when you have to use cases you described, and work more with e.g.
panel replacement etc.

If you come up with good idea's, please share!

Eelco

Igor Vaynberg wrote:

>Hi Guys,
>Im building an application with a non-hirarchical navigation structure. 
>I need breadcrumbs so that users can easily back-navigate between 
>pages. I am wondering what you guys think is the best way to accomplish 
>this with wicket.
>
>Here are a couple of use cases:
>
>1) A user can come to a search results page from a couple of different 
>search pages ( different criteria ). From the search results page the 
>user can go in and manipulate returned objects. I would like to keep 
>the original criteria page and the search results page in the 
>breadcrumbs so that the user can get back to them at any time: for 
>example to begin working on a different search result.
>
>2) While filling out a form a user discovers that one of the options 
>they need is missing. The user then clicks the add option button and 
>walks through a wizard to add a new option, once the wizard is done the 
>user goes back to the form (with whatever values were entered before 
>the wizard present).
>
>3) A wizard that spins off another wizard.
>
>Thanks,
>Igor
>
>
>
>
>-------------------------------------------------------
>SF.Net email is sponsored by: Discover Easy Linux Migration Strategies 
>from IBM. Find simple to follow Roadmaps, straightforward articles, 
>informative Webcasts and more! Get everything you need to get up to 
>speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
>_______________________________________________
>Wicket-user mailing list
>Wicket-user@lists.sourceforge.net
>https://lists.sourceforge.net/lists/listinfo/wicket-user
>  
>



-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies from
IBM. Find simple to follow Roadmaps, straightforward articles, informative
Webcasts and more! Get everything you need to get up to speed, fast.
http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user






-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user

Reply via email to