Author: tandraschko
Date: Mon Feb 10 16:23:22 2014
New Revision: 1566675
URL: http://svn.apache.org/r1566675
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=1566675&r1=1566674&r2=1566675&view=diff
==============================================================================
--- deltaspike/site/trunk/content/jsf.mdtext (original)
+++ deltaspike/site/trunk/content/jsf.mdtext Mon Feb 10 16:23:22 2014
@@ -27,13 +27,16 @@ 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.
+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/>
+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.
-#### Advantage
+
+##### Advantage
- Covers all edge cases
-#### Disadvantage
+##### Disadvantage
- Every GET requests streams the the windowhandler.html first -> The
application probably feels a litte bit slower
@@ -59,26 +62,26 @@ To customize the look & feel of the wind
Always appends the windowId to all, from JSF generated, URLs.<br/>
On the first GET request without a windowId, it will generate a new windowId
and redirect, with the windowId in the URL, to the same view again.<br/>
The current windowId will be stored in the `window.name` variable on the
client side. <br/>
-For all further requests, a lazy check will be performed to check if the
windowID in the URL is matching with the `window.name`.
+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
-##### First GET request with windowID
+##### First GET request with windowId
- Renders the view
- Stores the windowId as `window.name` on the client side
-##### First GET request without windowID
+##### First GET request without windowId
- Redirect to the same view with a new windowId in the URL
- Renders the view
- Stores the windowId as `window.name` on the client side
-##### Further GET request with windowID
+##### Further GET request with windowId
- Renders the view
- - Checks if the requested windowID matches the `window.name`
+ - Checks if the requested windowId matches the `window.name`
- If it does not match, reload the URL with the right windowId taken from
`window.name`
-##### Further GET request without windowID
+##### Further GET request without windowId
- Redirect to the same view with a new windowId in the URL
- Renders the view
- If it does not match, reload the URL with the right windowId taken from
`window.name`