Author: tandraschko
Date: Mon Feb 10 17:00:26 2014
New Revision: 1566681
URL: http://svn.apache.org/r1566681
Log:
Further work on window handling...
Modified:
deltaspike/site/trunk/content/jsf.mdtext
Modified: deltaspike/site/trunk/content/jsf.mdtext
URL:
http://svn.apache.org/viewvc/deltaspike/site/trunk/content/jsf.mdtext?rev=1566681&r1=1566680&r2=1566681&view=diff
==============================================================================
--- deltaspike/site/trunk/content/jsf.mdtext (original)
+++ deltaspike/site/trunk/content/jsf.mdtext Mon Feb 10 17:00:26 2014
@@ -28,7 +28,7 @@ Notice: Licensed to the Apache Softwa
### CLIENTWINDOW
Each GET request results in an intermediate small html page which checks if
the browser tab fits the requested windowId. <br/>
-When the windowId is valid, a unique token (called `dsRid`) for the current
request will be generated and added to the URL. <br/>
+When the windowId is valid, a unique token (called `dsRid`) will be generated
for the current request and added to the URL. <br/>
In addition a cookie with with the dsRid/windowId will be added. On the server
side, the verified windowId will be takes from the cookie.
@@ -41,6 +41,7 @@ In addition a cookie with with the dsRid
- Every GET requests streams the the windowhandler.html first -> The
application probably feels a litte bit slower
+<br/>
#### Change windowhandler.html
To customize the look & feel of the windowhandler.html, you can simply provide
a own via:
@@ -65,7 +66,16 @@ The current windowId will be stored in t
For all further requests, a lazy check will be performed to check if the
windowId in the URL is matching with the `window.name`.
If it's not matching, the view will be refreshed with the right windowId in
the URL.
-#### Examples
+##### Advantage
+
+ - No windowhandler.html / loading screen required
+
+##### Disadvantage
+
+ - It could happen that 2 tabs will share the same windowId for 1 request
because the `LAZY` mode will check lazily, after rendering the view, if the
windowId matches the `window.name`. Therefore it could happen that
@ViewAccessScoped or other scopes will unintentionally be destroyed.
+
+<br/>
+#### Workflow example
##### First GET request with windowId
- Renders the view
@@ -86,8 +96,6 @@ If it's not matching, the view will be r
- Renders the view
- If it does not match, reload the URL with the right windowId taken from
`window.name`
-TODO: Contra
-
<br/>
### NONE