You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by T A <te...@yahoo.com> on 2012/01/11 22:13:23 UTC

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

Re: Intermittent issue of data overwriting between browser tabs in a multi window session with forms

Posted by T A <te...@yahoo.com>.
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 helpful....or at the very least a candid "we don't know what to tell you" would be appreciated.

Ted



________________________________
 From: T A <te...@yahoo.com>
To: "users@wicket.apache.org" <us...@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