Would appreciate peoples comments on the examples below, I believe they can
give a good idea to people who cant relate to the problems relating to
browser back-button and application state...which wicket solves with
versioning..


Example 1 

Context : Your application follows a certain workflow where each page
represents a certain phase of the workflow and has a "Next" & "Back" link ,
clicking these links show the corresponding workflow-page dependending on
the very workflow phase the user is currently in 

Lets say for the above requirement you decide to maintain the
"nextphase-url" and "previousphase-url" (to be rendered on clicking
Next/Back link) in the user session. Everything would work fine as long as
the browser back button is not clicked. While being on the "WorkFlow - Step
4" page, the user hits the browser back button which shows the previous page
(i.e. WorkFlow - Step 3) from the browser cache, now this leaves the
application in an inconsistent state where you are on Step 3, whereas the
server's state is that you're on "Step 4" and hence next/previous urls
maintained in the user session doesnt present the right flow, and hence
clicking the urls would take the user to either "WorkFlow - Step 5 (for
Next)" or "WorkFlow - Step 3 (for Back)" though it should be taken to Step 2
and 4 instead. 

Example 2 

Context : Display Person List in a Pageable DataGrid where each item in the
grid can be selected to perform certain actions, such as "Delete Selected".
The grid displays 10 records at a time and has next/previous link to
paginate through the grid 

For the above requirement you maintain the list of "selected items" in the
user session AS LONG AS it is the currently viewed page, once you move on to
the next page the selected items are removed from the session. You paginate
through the person datagrid and select 10 items to delete from different
datagrid pages. While being on "Page 3" of the DataGrid, you click on the
"FAQ" page instead of performing the "Delete Selected" action. At this point
you decide to go back to the "Person List" page (asking for trouble!!), by
clicking the browser back button, which shows the page from the browser
cache, with the datagrid showing "Page 3" with two items selected as left
earlier. 

Finally you decide to perform "Delete Selected" action assuming the
application is smart enough to handle such scenario(s) and would delete all
the items you selected ealier, which isn't the case and would only delete
the items which are currently selected on the current data-grid page, since
the earlier selected items weren't in the user session anymore. 




Java Developer-3 wrote:
> 
> It would be nice if an example of such ui interactions could be given...
> 
> On Mon, Mar 17, 2008 at 4:57 PM, Java Developer <[EMAIL PROTECTED]>
> wrote:
> 
>> Been reading about wicket and would want to know the context in which the
>> back button problem is being talked about..the only problem i have faced
>> with respect to back button is the double form submission, cant frame
>> myself
>> in the right context...Can someone give a real life example of what
>> problem
>> can a back button cause and how does versioning resolves it..
>>
>>
>>
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Back-button-support-tp16111425p16135110.html
Sent from the Wicket - User mailing list archive at Nabble.com.


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

Reply via email to