Hi,
I posted this issue a week ago and have not gotten any response yet.
Is there no one in the community that has every had any issues with multiple
windows and form data getting mixed up between them in the 1.3 stream?
Any words of wisdom wicket developers out there would be very helpfulor at
the very least a candid "we don't know what to tell you" would be appreciated.
Ted
From: T A
To: "users@wicket.apache.org"
Sent: Wednesday, January 11, 2012 4:13 PM
Subject: Intermittent issue of data overwriting between browser tabs in a multi
window session with forms
Hi,
I am relatively new to Wicket and working on maintenance of a 1.3.7 Wicket
application.
The application is a CMS and there is a very intermittent issue, but serious
issue, that I am trying to reproduce and diagnose. It appears that updates to
content in one application window is overwriting content in another
applilcation window.
I would be very thankful for any words of wisdom from the community as far as
any leads on what to investigate.
My best guess of the use case from talking to users is as follows
1-Login to the application.
2-Click on a link on the application homepage that take you to versioned
content. The URL of this content is set via HybridUrlCodingStrategy, like this
mount(new HybridUrlCodingStrategy("/content/Edit", ContentEdit.class, true));
3-Start to edit the content by "unlocking it" and when done, save content, and
(most likely) release the lock.
4->From clicking a link in an email , open another URL of the application, that
is also set via HybridUrlCodingStrategy, but without the last parameter for
redirectOnBookmarkableRequest
mount(new HybridUrlCodingStrategy("/memo", MarkMemoRead.class));
5-In this second browser window, the application takes the the URL that was
pasted in and redirects to another URL to edit a different piece of versioned
content. This other URL is the same as mounted in step 2 above, so it is also a
HybridUrlCodingStrategy. The way it redirects is like
setResponsePage(getPageClass(), getParams());
setRedirect(true);
6-"Unlock" the content in the second browser window, makes changes and save,
and (most likely) "unlock" it.
7-Return to the first content, either by refreshing the first window, or even
by logging out and going back to it. The first content has been overwritten by
the content from the second browser window.
Both content windows have forms and do use Ajax to make updates on save.
I have not yet been able to reproduce the error myself.
My thinking from looking at the code and the past issues in the user forum is
that there is some issue with the second browser window not getting it's own
PageMap, but instead getting the first page's, or something to that effect. I
can't understand why it happens very intermittently.
I have seen there are/were known issues with multiple window, page maps, and
sessions in the 1.3 stream, so I am inclined to think this issue is in that
realm.
I also see that the application code is not explicitly setting the method
setAutomaticMultiWindowSupport anywhere, but I think it must be defaulting to
true, otherwise the issue would happen more than rarely considering how much
use the application gets without incident.
Really appreciate any advice from those with more experience with wicket.
Ted