The non tapestry SOP on this is to make the "crumb" links very descriptive (basically make each trail link an independent, complete navigation link). That way even if the user presses back 15 times, lets his session time out, and then comes back the next day, his breadcrumbs will still work (assuming the redirect to log him back in succeeds).
The more I work with tapstry, the less comfortable I am trusting the rewind process and/or the users not to push back. So I'm ending up rolling a lot of my pre tapestry techniques in to make a "pseudo-stateless" environment where basically the only thing I have stuffed in the visit object is the User's login state. As an aside, I actually worked for a company that shipped an application once that couldn't handle the back button. Two words: NEVER AGAIN :-). You haven't seen your product crash and burn in a usability lab until you've tried to convince people not to use their back button on a web browser. --- Pat _____ From: Jonathan O'Connor [mailto:[EMAIL PROTECTED] Sent: Thursday, April 28, 2005 5:58 AM To: Tapestry users Subject: Bread Crumb navigation in Tapestry [ndc] [auf Viren geprueft] Folks, I am trying to fix a bug with our bread crumb navigation links. I keep a stack of pages (pageCommands really) in the Visit. When I move to a new page, I push the page on to the stack. The stack is displayed in the Border, and clicking the links, unwinds the stack and displays the correct page. So far so good. Unfortunately, we have the blasted Back button to worry about. If the user uses the back button, unfortunately, I can't rewind the stack. Sure, if they click on a bread crumb link now, everything is OK, but if they choose another link, then the stack will have too many pages in it. It seems that both Seaside and Wicket support simple handling of back button and refresh. I also found some discussions on the tapestry-dev list from 2 years ago about implementing transitions. Has there been any progress on this? Does anybody have a solution for Tapestry 3.0.3? Ciao, Jonathan O'Connor XCOM Dublin Inactive hide details for Michael Henderson <[EMAIL PROTECTED]>Michael Henderson <[EMAIL PROTECTED]> Michael Henderson <[EMAIL PROTECTED]> 01/11/2004 04:30 Please respond to "Tapestry users" <tapestry-user@jakarta.apache.org> To Tapestry users <tapestry-user@jakarta.apache.org> cc Subject Re: Bread Crumb navigation in Tapestry [auf Viren geprueft] Begin forwarded message: > You can you a stack based history object to track the users' > activities. Then build a custom componet to show it on the screen. You run the risk here, if the visitor uses the back button, that the client side gets out of sync with the server side stack. Try using a list of ExternalLinks with a parameter to indicate the breadcrumb element target, or roll your own EngineService Just make the links work without depending on server side state and remember to make the code smart enough to roll back the 'stack' if the page has a link somewhere else that takes the user to a location already in the breadcrumb trail. I've always found this to be a harder problem than it first appears in a component-based model where URLs contain not 'location' information but 'framework' information (invoke this listener method). The simplest solution is to give each page it's own 'breadcrumb' trail which reflects it's location in an information/navigation hierarchy so the trail is the same regardless of the path the user took to get to it. This works for most cases. You still need to do the work outlined above to get a complete solution. Best of Luck, Mike --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]