wicket single page application: replacing panels with ajax and back button support

2013-08-25 Thread Ilkka Seppälä
Hi,

I'm guessing this is a common way to use Wicket but could not find solution.

I want to create a single page application where navigation causes panels
to be replaced with ajax. But the immediate problem that rises is how to
make these different views bookmarkable and how to make browser's back
button work as expected (return to previous view with the previous panel).

-Ilkka


Re: wicket single page application: replacing panels with ajax and back button support

2013-08-25 Thread Maxim Solodovnik
we did it in Apache Openmeetings project
https://svn.apache.org/repos/asf/openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/web/

not sure if it can be used as an example :) but it is working :)


On Sun, Aug 25, 2013 at 5:54 PM, Ilkka Seppälä iluwa...@gmail.com wrote:

 Hi,

 I'm guessing this is a common way to use Wicket but could not find
 solution.

 I want to create a single page application where navigation causes panels
 to be replaced with ajax. But the immediate problem that rises is how to
 make these different views bookmarkable and how to make browser's back
 button work as expected (return to previous view with the previous panel).

 -Ilkka




-- 
WBR
Maxim aka solomax


RE: wicket single page application: replacing panels with ajax and back button support

2013-08-25 Thread Colin Rogers
Hi there,

I'm doing something in my code similar to what you are suggesting.

The way I do it is basically, each page that I'm navigation to, I call a method 
'cleverLink' rather than 'setResponsePage'.

'cleverLink' takes in a AjaxRequestTarget. That method then determines whether 
the page is swappable - if it's not it just sets the ResponsePage as normal. 
For the page to be swappable (in my code) the old page and the new page have to 
have the same entity, and be of the same base page class. Otherwise, things 
start breaking down! If the page has the same model, then I create the newPage, 
using the existing pageParameters/model, and simply access each of the main 
components using getters. Then, in the existing page, I replace (titlePanel, 
mainPanel, actionPanel etc.). I then clone these objects using 'WicketObjects' 
utility class (so as not to effect the 'new page') and 'replace' them in the 
existing old page, marking each one for update via the ajax target.

I then use a javascript 'historyPush' event to push the new URL to the browser, 
with the new Page ID from the new page (via getPageId() ), and the available 
pageParameters (there is a Wicket class that is good at resolving 
PageParameters - I can't remember what it is, and haven't my code to look it 
up). In order to get the page URLs is actually a massive pain for Wicket, 
especially if you us a combination of 'X', 'X/Y', 'X/Y/Z' paths. For this I 
have a utility method in my WicketApplication class to hold a map of the paths, 
created when mounting, for easy lookups. I still had problems with paths, and 
resorted to only one level in the end, as it was easier and less error prone.

You'll need to add some code to redirect via javascript, on back button 
presses, to the relevant page - but that is something there are plenty of 
articles on the net about that. It's not very efficient (as a back button press 
does a redirect), but it does work.

The net result is - each page has certain elements updated, and the URL is 
always correct, the back button works as does bookmarking. It's non-trivial and 
very specific to mine/your code, but it does work! Mine works on the basis that 
I only replace certain panels of a page (and leave some) so it has limitations 
when moving from one page, to another, with a different model and or base page.

Hope that is as clear as mud!

I'm sure this is breaking *something* in Wicket's standard model, so any ideas, 
improvements or pointers are welcome!

Cheers,
Col.


From: Maxim Solodovnik [solomax...@gmail.com]
Sent: 26 August 2013 01:22
To: users@wicket.apache.org
Subject: Re: wicket single page application: replacing panels with ajax and 
back button support

we did it in Apache Openmeetings project
https://svn.apache.org/repos/asf/openmeetings/trunk/singlewebapp/src/main/java/org/apache/openmeetings/web/

not sure if it can be used as an example :) but it is working :)


On Sun, Aug 25, 2013 at 5:54 PM, Ilkka Seppälä iluwa...@gmail.com wrote:

 Hi,

 I'm guessing this is a common way to use Wicket but could not find
 solution.

 I want to create a single page application where navigation causes panels
 to be replaced with ajax. But the immediate problem that rises is how to
 make these different views bookmarkable and how to make browser's back
 button work as expected (return to previous view with the previous panel).

 -Ilkka




--
WBR
Maxim aka solomax
EMAIL DISCLAIMER This email message and its attachments are confidential and 
may also contain copyright or privileged material. If you are not the intended 
recipient, you may not forward the email or disclose or use the information 
contained in it. If you have received this email message in error, please 
advise the sender immediately by replying to this email and delete the message 
and any associated attachments. Any views, opinions, conclusions, advice or 
statements expressed in this email message are those of the individual sender 
and should not be relied upon as the considered view, opinion, conclusions, 
advice or statement of this company except where the sender expressly, and with 
authority, states them to be the considered view, opinion, conclusions, advice 
or statement of this company. Every care is taken but we recommend that you 
scan any attachments for viruses.

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Back Button Support Not Working in All Browser

2012-09-16 Thread mahulianand
i have used the 

form.setVersioned(true);

i am populating a table with rows at button click

when i populate and hit back button of the browser then in
Mozilla Firefox : it returns to previous state as expected
Internet Explorer : it goes to previous URL
Google Chrome : it shows page expired

do i have to do something different to manage version in different browser?

i have also attached  the screenshot for the same
http://apache-wicket.1842946.n4.nabble.com/file/n4652025/ref.jpg  



--
View this message in context: 
http://apache-wicket.1842946.n4.nabble.com/Back-Button-Support-Not-Working-in-All-Browser-tp4652025.html
Sent from the Users forum mailing list archive at Nabble.com.

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Multi-tabs and back-button support 1.5.2

2011-10-28 Thread Charlie Midtlyng
I have now created an issue on jira with the actual problems described above.
 
https://issues.apache.org/jira/browse/WICKET-4182
https://issues.apache.org/jira/browse/WICKET-4182 

--
View this message in context: 
http://apache-wicket.1842946.n4.nabble.com/Multi-tabs-and-back-button-support-1-5-2-tp3943445p3947091.html
Sent from the Users forum mailing list archive at Nabble.com.

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Multi-tabs and back-button support 1.5.2

2011-10-27 Thread Charlie Midtlyng

We are developing an application with forms and currently using wicket
1.4.18.

There are primarily  two issues that we are struggeling with when upgrading
to wicket 1.5.2.

Let's say we open Page A in two tabs, first Tab1 and then Tab2. If we fill
the form in Tab1 and submit it will be valid data, but they are not stored
on our models.
However, if we fill in form in Tab2 they are stored since this tab has a
higher version number than Tab1.

More or less the same issue exists when using back-button. Open PageA, fill
in the form and submit. Use back-button and change values and submit. The
new values are not stored on the models. In our case it would have been
better if the version number increased when using the back-button.

Is it supposed to work in 1.5.2, and are there some special settings one
must be aware of?

Charlie




Re: Multi-tabs and back-button support 1.5.2

2011-10-27 Thread Martin Grigorov
Hi,

I think Page.renderCount is what stops the storing of the values.
This flag indicates that the page the user uses is stale, i.e. there
is another render of the same page happened after.
The actual check is in PageProvider class.

I don't see any clean solution for now.

What should happen if the user opens an edit page for the same entity
in two tabs ?
For example she saves some changes in tab2 and then goes to tab1 makes
another changes and tries to save them too ?
I guess you will want to abort the second save because it works with stale data.

On Thu, Oct 27, 2011 at 7:51 AM, Charlie Midtlyng
charlie.midtl...@gmail.com wrote:

 We are developing an application with forms and currently using wicket
 1.4.18.

 There are primarily  two issues that we are struggeling with when upgrading
 to wicket 1.5.2.

 Let's say we open Page A in two tabs, first Tab1 and then Tab2. If we fill
 the form in Tab1 and submit it will be valid data, but they are not stored
 on our models.
 However, if we fill in form in Tab2 they are stored since this tab has a
 higher version number than Tab1.

 More or less the same issue exists when using back-button. Open PageA, fill
 in the form and submit. Use back-button and change values and submit. The
 new values are not stored on the models. In our case it would have been
 better if the version number increased when using the back-button.

 Is it supposed to work in 1.5.2, and are there some special settings one
 must be aware of?

 Charlie






-- 
Martin Grigorov
jWeekend
Training, Consulting, Development
http://jWeekend.com

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Multi-tabs and back-button support 1.5.2

2011-10-27 Thread Charlie Midtlyng
I would actually like to accept the data from both tabs as long as they are
valid. 
The same effect should be available on back-button and changing values. 

--
View this message in context: 
http://apache-wicket.1842946.n4.nabble.com/Multi-tabs-and-back-button-support-1-5-2-tp3943445p3943856.html
Sent from the Users forum mailing list archive at Nabble.com.

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Multi-tabs and back-button support 1.5.2

2011-10-27 Thread Martin Grigorov
The only option is see is to make the check for stale page
configurable via IPageSettings for example.

On Thu, Oct 27, 2011 at 12:16 PM, Charlie Midtlyng
charlie.midtl...@gmail.com wrote:
 I would actually like to accept the data from both tabs as long as they are
 valid.
 The same effect should be available on back-button and changing values.

 --
 View this message in context: 
 http://apache-wicket.1842946.n4.nabble.com/Multi-tabs-and-back-button-support-1-5-2-tp3943445p3943856.html
 Sent from the Users forum mailing list archive at Nabble.com.

 -
 To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
 For additional commands, e-mail: users-h...@wicket.apache.org





-- 
Martin Grigorov
jWeekend
Training, Consulting, Development
http://jWeekend.com

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Multi-tabs and back-button support 1.5.2

2011-10-27 Thread Igor Vaynberg
hrm. i dont think the rendercount should prevent me from using the
page. if i write my application as a single page then our back button
support is completely hosed. i should be able to back button and
re-submit the form.

-igor

On Thu, Oct 27, 2011 at 3:20 AM, Martin Grigorov mgrigo...@apache.org wrote:
 The only option is see is to make the check for stale page
 configurable via IPageSettings for example.

 On Thu, Oct 27, 2011 at 12:16 PM, Charlie Midtlyng
 charlie.midtl...@gmail.com wrote:
 I would actually like to accept the data from both tabs as long as they are
 valid.
 The same effect should be available on back-button and changing values.

 --
 View this message in context: 
 http://apache-wicket.1842946.n4.nabble.com/Multi-tabs-and-back-button-support-1-5-2-tp3943445p3943856.html
 Sent from the Users forum mailing list archive at Nabble.com.

 -
 To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
 For additional commands, e-mail: users-h...@wicket.apache.org





 --
 Martin Grigorov
 jWeekend
 Training, Consulting, Development
 http://jWeekend.com

 -
 To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
 For additional commands, e-mail: users-h...@wicket.apache.org



-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Multi-tabs and back-button support 1.5.2

2011-10-27 Thread Martin Grigorov
On Thu, Oct 27, 2011 at 5:48 PM, Igor Vaynberg igor.vaynb...@gmail.com wrote:
 hrm. i dont think the rendercount should prevent me from using the
 page. if i write my application as a single page then our back button
 support is completely hosed. i should be able to back button and
 re-submit the form.

As single page - i.e. completely Ajax navigation ?
In this case back button support is on your own.

Do you suggest to remove the check for stale page ?


 -igor

 On Thu, Oct 27, 2011 at 3:20 AM, Martin Grigorov mgrigo...@apache.org wrote:
 The only option is see is to make the check for stale page
 configurable via IPageSettings for example.

 On Thu, Oct 27, 2011 at 12:16 PM, Charlie Midtlyng
 charlie.midtl...@gmail.com wrote:
 I would actually like to accept the data from both tabs as long as they are
 valid.
 The same effect should be available on back-button and changing values.

 --
 View this message in context: 
 http://apache-wicket.1842946.n4.nabble.com/Multi-tabs-and-back-button-support-1-5-2-tp3943445p3943856.html
 Sent from the Users forum mailing list archive at Nabble.com.

 -
 To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
 For additional commands, e-mail: users-h...@wicket.apache.org





 --
 Martin Grigorov
 jWeekend
 Training, Consulting, Development
 http://jWeekend.com

 -
 To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
 For additional commands, e-mail: users-h...@wicket.apache.org



 -
 To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
 For additional commands, e-mail: users-h...@wicket.apache.org





-- 
Martin Grigorov
jWeekend
Training, Consulting, Development
http://jWeekend.com

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Multi-tabs and back-button support 1.5.2

2011-10-27 Thread Igor Vaynberg
no, not necessarily ajax. simple links that instead of navigating to a
different page do panel replacement.

-igor

On Thu, Oct 27, 2011 at 8:51 AM, Martin Grigorov mgrigo...@apache.org wrote:
 On Thu, Oct 27, 2011 at 5:48 PM, Igor Vaynberg igor.vaynb...@gmail.com 
 wrote:
 hrm. i dont think the rendercount should prevent me from using the
 page. if i write my application as a single page then our back button
 support is completely hosed. i should be able to back button and
 re-submit the form.

 As single page - i.e. completely Ajax navigation ?
 In this case back button support is on your own.

 Do you suggest to remove the check for stale page ?


 -igor

 On Thu, Oct 27, 2011 at 3:20 AM, Martin Grigorov mgrigo...@apache.org 
 wrote:
 The only option is see is to make the check for stale page
 configurable via IPageSettings for example.

 On Thu, Oct 27, 2011 at 12:16 PM, Charlie Midtlyng
 charlie.midtl...@gmail.com wrote:
 I would actually like to accept the data from both tabs as long as they are
 valid.
 The same effect should be available on back-button and changing values.

 --
 View this message in context: 
 http://apache-wicket.1842946.n4.nabble.com/Multi-tabs-and-back-button-support-1-5-2-tp3943445p3943856.html
 Sent from the Users forum mailing list archive at Nabble.com.

 -
 To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
 For additional commands, e-mail: users-h...@wicket.apache.org





 --
 Martin Grigorov
 jWeekend
 Training, Consulting, Development
 http://jWeekend.com

 -
 To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
 For additional commands, e-mail: users-h...@wicket.apache.org



 -
 To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
 For additional commands, e-mail: users-h...@wicket.apache.org





 --
 Martin Grigorov
 jWeekend
 Training, Consulting, Development
 http://jWeekend.com

 -
 To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
 For additional commands, e-mail: users-h...@wicket.apache.org



-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Multi-tabs and back-button support 1.5.2

2011-10-27 Thread Martin Grigorov
On Thu, Oct 27, 2011 at 5:53 PM, Igor Vaynberg igor.vaynb...@gmail.com wrote:
 no, not necessarily ajax. simple links that instead of navigating to a
 different page do panel replacement.

ok

I think back button should not be harmed by the stale check.

@Charlie: can you create a quickstart, attach it to a ticket and
describe the steps ?
Thanks!


 -igor

 On Thu, Oct 27, 2011 at 8:51 AM, Martin Grigorov mgrigo...@apache.org wrote:
 On Thu, Oct 27, 2011 at 5:48 PM, Igor Vaynberg igor.vaynb...@gmail.com 
 wrote:
 hrm. i dont think the rendercount should prevent me from using the
 page. if i write my application as a single page then our back button
 support is completely hosed. i should be able to back button and
 re-submit the form.

 As single page - i.e. completely Ajax navigation ?
 In this case back button support is on your own.

 Do you suggest to remove the check for stale page ?


 -igor

 On Thu, Oct 27, 2011 at 3:20 AM, Martin Grigorov mgrigo...@apache.org 
 wrote:
 The only option is see is to make the check for stale page
 configurable via IPageSettings for example.

 On Thu, Oct 27, 2011 at 12:16 PM, Charlie Midtlyng
 charlie.midtl...@gmail.com wrote:
 I would actually like to accept the data from both tabs as long as they 
 are
 valid.
 The same effect should be available on back-button and changing values.

 --
 View this message in context: 
 http://apache-wicket.1842946.n4.nabble.com/Multi-tabs-and-back-button-support-1-5-2-tp3943445p3943856.html
 Sent from the Users forum mailing list archive at Nabble.com.

 -
 To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
 For additional commands, e-mail: users-h...@wicket.apache.org





 --
 Martin Grigorov
 jWeekend
 Training, Consulting, Development
 http://jWeekend.com

 -
 To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
 For additional commands, e-mail: users-h...@wicket.apache.org



 -
 To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
 For additional commands, e-mail: users-h...@wicket.apache.org





 --
 Martin Grigorov
 jWeekend
 Training, Consulting, Development
 http://jWeekend.com

 -
 To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
 For additional commands, e-mail: users-h...@wicket.apache.org



 -
 To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
 For additional commands, e-mail: users-h...@wicket.apache.org





-- 
Martin Grigorov
jWeekend
Training, Consulting, Development
http://jWeekend.com

-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Re: Wicket session back button support

2008-12-12 Thread Paolo Di Tommaso
Good, in this way it works.

I'm apply the onBeforeRender trick to propagate the previous state in the
session.


Thank guys, long live to Wicket

Paolo

On Thu, Dec 11, 2008 at 6:27 PM, Igor Vaynberg igor.vaynb...@gmail.comwrote:

 or instead of pages use panels as content. that way you use the same
 menu instance across multiple pages and the menu can keep its own
 state.

 -igor

 On Thu, Dec 11, 2008 at 2:37 AM, Paolo Di Tommaso
 paolo.ditomm...@gmail.com wrote:
  Nice question. Consider the following use case:
 
  You have the main application menu bar. The user chooses an item from it.
 
  What happens is that all the following pages will be related to that
 choice,
  for example the second level menu in the page (that is contextual to the
  above choice) and I would avoid to specify it as a parameter every time I
  create a new page .
 
  Possible solution, store those variables in the page also and initialize
  them taking the values from the session.
 
  When the user clicks on the back button re-sync the session variables -
 if
  changed - overriding the onBeforeRender() method.
 
  Other solution could be to create a custom UrlEncodingStrategy to
 propagate
  the session vars on URL ...
 
 
  What do you think ?
 
  -- Paolo
 
 
  On Thu, Dec 11, 2008 at 12:29 AM, Matej Knopp matej.kn...@gmail.com
 wrote:
 
  No. You have to track the changes yourself. Or use Page as the scope.
  What's the reason to put values in session anyway?
 
  -Matej
 
  On Wed, Dec 10, 2008 at 11:18 PM, Paolo Di Tommaso
  paolo.ditomm...@gmail.com wrote:
   Dear community,
  
   I'm facing with a really ugly problem. In my web app I need to store
 some
   variables in the Wicket session.
  
   But this cause some nasty side-effects when users click on the browser
  back
   button.
  
   The page displays the previous content correctly but some components,
  which
   model is based on session values, do not.
  
   Is there any best practice for Wicket session to support the browser
 back
   button (so that coming back the session is restored to the previous
  state)?
  
   Thank you,
  
   Paolo
  
 
  -
  To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
  For additional commands, e-mail: users-h...@wicket.apache.org
 
 
 

 -
 To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
 For additional commands, e-mail: users-h...@wicket.apache.org




Re: Wicket session back button support

2008-12-11 Thread Paolo Di Tommaso
Nice question. Consider the following use case:

You have the main application menu bar. The user chooses an item from it.

What happens is that all the following pages will be related to that choice,
for example the second level menu in the page (that is contextual to the
above choice) and I would avoid to specify it as a parameter every time I
create a new page .

Possible solution, store those variables in the page also and initialize
them taking the values from the session.

When the user clicks on the back button re-sync the session variables - if
changed - overriding the onBeforeRender() method.

Other solution could be to create a custom UrlEncodingStrategy to propagate
the session vars on URL ...


What do you think ?

-- Paolo


On Thu, Dec 11, 2008 at 12:29 AM, Matej Knopp [EMAIL PROTECTED] wrote:

 No. You have to track the changes yourself. Or use Page as the scope.
 What's the reason to put values in session anyway?

 -Matej

 On Wed, Dec 10, 2008 at 11:18 PM, Paolo Di Tommaso
 [EMAIL PROTECTED] wrote:
  Dear community,
 
  I'm facing with a really ugly problem. In my web app I need to store some
  variables in the Wicket session.
 
  But this cause some nasty side-effects when users click on the browser
 back
  button.
 
  The page displays the previous content correctly but some components,
 which
  model is based on session values, do not.
 
  Is there any best practice for Wicket session to support the browser back
  button (so that coming back the session is restored to the previous
 state)?
 
  Thank you,
 
  Paolo
 

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




Re: Wicket session back button support

2008-12-11 Thread Igor Vaynberg
or instead of pages use panels as content. that way you use the same
menu instance across multiple pages and the menu can keep its own
state.

-igor

On Thu, Dec 11, 2008 at 2:37 AM, Paolo Di Tommaso
paolo.ditomm...@gmail.com wrote:
 Nice question. Consider the following use case:

 You have the main application menu bar. The user chooses an item from it.

 What happens is that all the following pages will be related to that choice,
 for example the second level menu in the page (that is contextual to the
 above choice) and I would avoid to specify it as a parameter every time I
 create a new page .

 Possible solution, store those variables in the page also and initialize
 them taking the values from the session.

 When the user clicks on the back button re-sync the session variables - if
 changed - overriding the onBeforeRender() method.

 Other solution could be to create a custom UrlEncodingStrategy to propagate
 the session vars on URL ...


 What do you think ?

 -- Paolo


 On Thu, Dec 11, 2008 at 12:29 AM, Matej Knopp matej.kn...@gmail.com wrote:

 No. You have to track the changes yourself. Or use Page as the scope.
 What's the reason to put values in session anyway?

 -Matej

 On Wed, Dec 10, 2008 at 11:18 PM, Paolo Di Tommaso
 paolo.ditomm...@gmail.com wrote:
  Dear community,
 
  I'm facing with a really ugly problem. In my web app I need to store some
  variables in the Wicket session.
 
  But this cause some nasty side-effects when users click on the browser
 back
  button.
 
  The page displays the previous content correctly but some components,
 which
  model is based on session values, do not.
 
  Is there any best practice for Wicket session to support the browser back
  button (so that coming back the session is restored to the previous
 state)?
 
  Thank you,
 
  Paolo
 

 -
 To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
 For additional commands, e-mail: users-h...@wicket.apache.org




-
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org



Wicket session back button support

2008-12-10 Thread Paolo Di Tommaso
Dear community,

I'm facing with a really ugly problem. In my web app I need to store some
variables in the Wicket session.

But this cause some nasty side-effects when users click on the browser back
button.

The page displays the previous content correctly but some components, which
model is based on session values, do not.

Is there any best practice for Wicket session to support the browser back
button (so that coming back the session is restored to the previous state)?

Thank you,

Paolo


Re: Wicket session back button support

2008-12-10 Thread Matej Knopp
No. You have to track the changes yourself. Or use Page as the scope.
What's the reason to put values in session anyway?

-Matej

On Wed, Dec 10, 2008 at 11:18 PM, Paolo Di Tommaso
[EMAIL PROTECTED] wrote:
 Dear community,

 I'm facing with a really ugly problem. In my web app I need to store some
 variables in the Wicket session.

 But this cause some nasty side-effects when users click on the browser back
 button.

 The page displays the previous content correctly but some components, which
 model is based on session values, do not.

 Is there any best practice for Wicket session to support the browser back
 button (so that coming back the session is restored to the previous state)?

 Thank you,

 Paolo


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



Re: Back button support

2008-03-18 Thread Java Developer
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..





Re: Back button support

2008-03-18 Thread mfs

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]



Back button support

2008-03-17 Thread Java Developer
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..


Re: Back button support

2008-03-17 Thread mfs

The BB issue wicket solves is in the context of stateful frameworks only in
my opinion...I dont think the same would be an issue in stateless frameworks
like struts or even with conventional jsp/servlet programming, given their
stateless nature..

Excerpt from a wicket wiki page..

Suppose you have a paging ListView with links in the ListItems, and you've
clicked through to display the third page of items. On the third page, you
click the link to view the details page for that item. Now, the currently
available state on the server is that you were on page 3 when you clicked
the link. Then you click the browser's back button twice (i.e. back to list
page 3, then back to list page 2, but all in the browser). While you're on
page 2, the server state is that you're on page 3. Without versioning,
clicking on a ListItem link on page 2 would actually take you to the details
page for an item on page 3.

NOW the above problem certainly makes sense..but in the context of how
wicket works..and its stateful nature..

Would be nice to have Wicket contributors feedback on this...




Java Developer-3 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-tp16111425p16112197.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]



Re: Back button support

2008-03-17 Thread Igor Vaynberg
that is pretty much correct. however, this problem is present any time
you use session scope to store values, not just in wicket. a lot of
the times when using stateless frameworks and managing a complex ui or
a complex user interaction you start putting things into session
because managing state purely in the url becomes unmanageable. any
time you do this you run into the back-button issue. because wicket
stores pages in session _and_ manages them the page provides a nice
scope to store session values that expire and are versioned, so its
a pretty nice feature to have...

-igor

On Mon, Mar 17, 2008 at 6:22 PM, mfs [EMAIL PROTECTED] wrote:

  The BB issue wicket solves is in the context of stateful frameworks only in
  my opinion...I dont think the same would be an issue in stateless frameworks
  like struts or even with conventional jsp/servlet programming, given their
  stateless nature..

  Excerpt from a wicket wiki page..

  Suppose you have a paging ListView with links in the ListItems, and you've
  clicked through to display the third page of items. On the third page, you
  click the link to view the details page for that item. Now, the currently
  available state on the server is that you were on page 3 when you clicked
  the link. Then you click the browser's back button twice (i.e. back to list
  page 3, then back to list page 2, but all in the browser). While you're on
  page 2, the server state is that you're on page 3. Without versioning,
  clicking on a ListItem link on page 2 would actually take you to the details
  page for an item on page 3.

  NOW the above problem certainly makes sense..but in the context of how
  wicket works..and its stateful nature..

  Would be nice to have Wicket contributors feedback on this...






  Java Developer-3 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-tp16111425p16112197.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]



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