No problem! I would just like to understand all your ideas before doing
anything further changes :)

But to be honest, i still don't understand how LAZY should work.

What will happen on a GET request with windowId?
The page will be rendered normally and the windowhandler will check the
window.name and compare with the current windowId request param.
If it doesn't match -> refresh the page with the windowId from
window.nameOR should it generate a new one with a refresh without
windowId?

It's clear without windowId -> create new id and do a initial redirect +
set windowId as window.name




2014/1/10 Mark Struberg <strub...@yahoo.de>

>
>
> btw, thanks for bringing those questions up on the list - this is surely
> not documented well enough ;)
> Also it's really a hard thing to get right alone, so thanks for pushing
> this!
>
> LieGrue,
> strub
>
>
>
>
>
> >________________________________
> > From: Thomas Andraschko <andraschko.tho...@gmail.com>
> >To: Mark Struberg <strub...@yahoo.de>
> >Cc: "dev@deltaspike.apache.org" <dev@deltaspike.apache.org>
> >Sent: Friday, 10 January 2014, 14:18
> >Subject: Re: JSF - default ClientWindowRenderMode?
> >
> >
> >2014/1/10 Mark Struberg <strub...@yahoo.de>
> >
> >> Otherwise one could just open the same bookmark URL with the
> &windowId=123
> >> parameter in multiple browser tabs and you would again share the state
> >> between them.
> >
> >
> >Thats true but as far as i understand, we can't avoid such situations
> >without streaming the windowhandler etc.
> >
> >Maybe you can explain LAZY a little bit more + some cases.
> >
> >
> >
> >2014/1/10 Mark Struberg <strub...@yahoo.de>
> >
> >>
> >>
> >> It's a bit more complicated.
> >>
> >> In case of any mismatch (regardless if window.name is empty or just
> >> different from the windowId url parameter) you need to trigger a more
> >> complex handling to properly set the window.name.
> >>
> >> Otherwise one could just open the same bookmark URL with the
> &windowId=123
> >> parameter in multiple browser tabs and you would again share the state
> >> between them.
> >>
> >> Actually the windowhandler.js script should contain all the necessary
> >> handling code already.
> >>
> >> LieGrue,
> >> strub
> >>
> >>
> >>
> >>
> >>
> >> >________________________________
> >> > From: Thomas Andraschko <andraschko.tho...@gmail.com>
> >> >To: dev@deltaspike.apache.org; Mark Struberg <strub...@yahoo.de>
> >> >Sent: Friday, 10 January 2014, 13:58
> >> >Subject: Re: JSF - default ClientWindowRenderMode?
> >> >
> >> >
> >> >
> >> >Ok would be fine for me, too!
> >> >The script for the LAZY mode will just do:
> >> >- if window.name == undefined -> window.name == windowId
> >> >- if window.name != undefined && window.name != windowId -> redirect
> >> with removed windowId url param
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >
> >> >2014/1/10 Mark Struberg <strub...@yahoo.de>
> >> >
> >> >
> >> >>
> >> >>I'm fine with making the 'URL' mode the default. I still like the name
> >> 'LAZY' better though ;)
> >> >>
> >> >>Even the CLIENT_WINDOW mode will add a windowId parameter to the URL
> in
> >> some cases!
> >> >>The name 'LAZY' just makes it more clear that the
> >> wrong-browser-tab-detection is only done lazily and the initial request
> >> might trash beans...
> >> >>
> >> >>
> >> >>
> >> >>LieGrue,
> >> >>strub
> >> >>
> >> >>
> >> >>>________________________________
> >> >>> From: Thomas Andraschko <andraschko.tho...@gmail.com>
> >> >>>To: dev@deltaspike.apache.org; Mark Struberg <strub...@yahoo.de>
> >> >>>Sent: Friday, 10 January 2014, 13:43
> >> >>
> >> >>>Subject: Re: JSF - default ClientWindowRenderMode?
> >> >>>
> >> >>>
> >> >>>Ok! So keeping the new URL mode, which is indentical to the deafult
> CODI
> >> >>>mode, makes sense for me.
> >> >>>
> >> >>>I will open another thread for the details here and some ideas about
> >> >>>refactoring from my side.
> >> >>>
> >> >>>What do think about the default mode Mark? Should it be URL like its
> in
> >> >>>CODI?
> >> >>>
> >> >>>
> >> >>>
> >> >>>
> >> >>>
> >> >>>
> >> >>>
> >> >>>
> >> >>>
> >> >>>
> >> >>>2014/1/10 Mark Struberg <strub...@yahoo.de>
> >> >>>
> >> >>>> right.
> >> >>>>
> >> >>>> Basically you have to distinguish the two sides of the story.
> >> >>>>
> >> >>>> a.) how does the browser handle the windowId
> >> >>>> b.) how does any servlet part detect the windodwId and how to
> detect
> >> that
> >> >>>> it is missing (and should be there)
> >> >>>>
> >> >>>> The windowId is added as root element to the view tree. I know that
> >> this
> >> >>>> did not work with the 'old' PrimeFaces proprietary ajax handling.
> But
> >> i was
> >> >>>> under the impression that this was long time fixed since then when
> >> Cagatay
> >> >>>> switched to standard jsf.js AJAX functions. Or is this still not
> >> working?
> >> >>>>
> >> >>>> The point is that jsf.js always has to update the view root as it
> also
> >> >>>> needs to update the view key, right?
> >> >>>>
> >> >>>> LieGrue,
> >> >>>> strub
> >> >>>>
> >> >>>>
> >> >>>>
> >> >>>>
> >> >>>> >________________________________
> >> >>>> > From: Thomas Andraschko <andraschko.tho...@gmail.com>
> >> >>>> >To: dev@deltaspike.apache.org; Mark Struberg <strub...@yahoo.de>
> >> >>>> >Sent: Friday, 10 January 2014, 11:38
> >> >>>> >Subject: Re: JSF - default ClientWindowRenderMode?
> >> >>>> >
> >> >>>> >
> >> >>>> >
> >> >>>> >Addition to the windowhandler:
> >> >>>> >It will also add windowId as hidden input for postback detection,
> >> right?
> >> >>>> >This will not work with e.g. PrimeFaces' partial submit mode.
> >> >>>> >So the URL param will be used as fallback, right?
> >> >>>> >
> >> >>>> >
> >> >>>> >
> >> >>>> >
> >> >>>> >2014/1/10 Thomas Andraschko <andraschko.tho...@gmail.com>
> >> >>>> >
> >> >>>> >Hi Mark,
> >> >>>> >>
> >> >>>> >>i think the whole stuff needs a little bit more discussing.
> >> >>>> >>
> >> >>>> >>
> >> >>>> >>I would like now to list all window modes that we actually know:
> >> >>>> >>
> >> >>>> >>
> >> >>>> >>CODI
> >> >>>> >>====================
> >> >>>> >>- WIndowContextIdHolderComponent will automatically be added to
> the
> >> >>>> component tree for extracting the windowId in a postback
> >> >>>> >>- All 3 modes can use the WIndowContextIdHolderComponent as
> >> fallback for
> >> >>>> getting the windowId in a postback
> >> >>>> >>
> >> >>>> >>
> >> >>>> >>1) DefaultWindowHandler
> >> >>>> >>
> >> >>>> >>   - Always appends the windowId to the URL and always gets the
> >> windowId
> >> >>>> from the URL
> >> >>>> >>
> >> >>>> >>   - No JS checks etc.
> >> >>>> >>
> >> >>>> >>   - opening a link in a new tab will not detect a new window /
> same
> >> >>>> window will be reused
> >> >>>> >>
> >> >>>> >>
> >> >>>> >>
> >> >>>> >>2) ClientSideWindowHandler
> >> >>>> >>
> >> >>>> >>   - Stream our windowhandler
> >> >>>> >>
> >> >>>> >>   - windowhandler.html checks the window.name
> >> >>>> >>
> >> >>>> >>       - if valid -> set cookie and redirect to the same page
> >> >>>> >>
> >> >>>> >>       - if invalid -> remove windowId url param and redirect to
> the
> >> >>>> same page
> >> >>>> >>
> >> >>>> >>       - overwrites all click events to capturing a screenshot
> which
> >> >>>> will be displayed for further get requests?
> >> >>>> >>
> >> >>>> >>   - Also appends the windowId to the URL?
> >> >>>> >>
> >> >>>> >>   - The only mode which supports all edge cases
> >> >>>> >>
> >> >>>> >>
> >> >>>> >>3) ServerSideWindowHandler
> >> >>>> >>
> >> >>>> >>   - Stored the windowId via flash-scope on redirect
> >> >>>> >>
> >> >>>> >>   - Also appends the windowId to the URL?
> >> >>>> >>   - opening a link in a new tab will not detect a new window /
> same
> >> >>>> window will be reused
> >> >>>> >>
> >> >>>> >>
> >> >>>> >>
> >> >>>> >>
> >> >>>> >>
> >> >>>> >>
> >> >>>> >>DeltaSpike:
> >> >>>> >>====================
> >> >>>> >>
> >> >>>> >>- WindowIdComponent must be added manually
> >> >>>> >>
> >> >>>> >>
> >> >>>> >>
> >> >>>> >>1) CLIENT_WINDOW:
> >> >>>> >>   - same as CODIs ClientSideWindowHandler
> >> >>>> >>
> >> >>>> >>2) LAZY
> >> >>>> >>   - new mix between DefaultWindowHandler and
> >> ClientSideWindowHandler?
> >> >>>> >>
> >> >>>> >>   - renders the URL param but validates the windowID via
> >> >>>> windowhandler.js, which will be loaded when the ds:windowId will be
> >> added
> >> >>>> in the view
> >> >>>> >>
> >> >>>> >>
> >> >>>> >>
> >> >>>> >>3) URL (new)
> >> >>>> >>
> >> >>>> >>   - same as CODIs DefaultWindowHandler
> >> >>>> >>
> >> >>>> >>
> >> >>>> >>4) Delegated
> >> >>>> >>
> >> >>>> >>   - take use of JSF 2.2
> >> >>>> >>
> >> >>>> >>
> >> >>>> >>Is this right? Please correct me! We can take this as base for
> the
> >> >>>> documention later.
> >> >>>> >>
> >> >>>> >>
> >> >>>> >>Regards,
> >> >>>> >>Thomas
> >> >>>> >>
> >> >>>> >>
> >> >>>> >>
> >> >>>> >>
> >> >>>> >>
> >> >>>> >>
> >> >>>> >>
> >> >>>> >>
> >> >>>> >>
> >> >>>> >>
> >> >>>> >>
> >> >>>> >>
> >> >>>> >>
> >> >>>> >>
> >> >>>> >>
> >> >>>> >>
> >> >>>> >>
> >> >>>> >>
> >> >>>> >>2014/1/10 Mark Struberg <strub...@yahoo.de>
> >> >>>> >>
> >> >>>> >>
> >> >>>> >>>
> >> >>>> >>>Hi Thomas!
> >> >>>> >>>
> >> >>>> >>>Well, it's just a different name ;)
> >> >>>> >>>
> >> >>>> >>>The default handling in CODI is lazy windowId dropping if you do
> >> not
> >> >>>> use the ClientSideWindowHandler.
> >> >>>> >>>Means a request runs through to the target bean and renders the
> >> page.
> >> >>>> And the windowId only gets checked/reset when the page gets loaded
> by
> >> the
> >> >>>> browser and the javascript _lazily_ detects that we are on the
> wrong
> >> >>>> browser tab (windowId != window.name).
> >> >>>> >>>
> >> >>>> >>>
> >> >>>> >>>Transporting the windowId via URL is only a small necessity
> >> actually ;)
> >> >>>> >>>
> >> >>>> >>><ds:windowId> should already contain all the JavaScript needed
> for
> >> the
> >> >>>> lazy dropping.
> >> >>>> >>>
> >> >>>> >>>
> >> >>>> >>>LieGrue,
> >> >>>> >>>strub
> >> >>>> >>>
> >> >>>> >>>
> >> >>>> >>>
> >> >>>> >>>
> >> >>>> >>>
> >> >>>> >>>>________________________________
> >> >>>> >>>> From: Thomas Andraschko <andraschko.tho...@gmail.com>
> >> >>>> >>>>To: dev@deltaspike.apache.org; Mark Struberg <
> strub...@yahoo.de>
> >> >>>> >>>>Sent: Friday, 10 January 2014, 10:50
> >> >>>> >>>
> >> >>>> >>>>Subject: Re: JSF - default ClientWindowRenderMode?
> >> >>>> >>>>
> >> >>>> >>>>
> >> >>>> >>>>
> >> >>>> >>>>As LAZY is currently not used, no documentation available and
> the
> >> >>>> javadoc said something about "javascript handling on client side",
> i
> >> >>>> thought it will a different kind of handling in the future.
> >> >>>> >>>>What should be difference between URL rendering mode and LAZY?
> >> >>>> >>>>
> >> >>>> >>>>
> >> >>>> >>>>
> >> >>>> >>>>
> >> >>>> >>>>
> >> >>>> >>>>
> >> >>>> >>>>2014/1/10 Mark Struberg <strub...@yahoo.de>
> >> >>>> >>>>
> >> >>>> >>>>The URL rendering mode of CODI is what I intended with LAZY.
> >> >>>> >>>>>
> >> >>>> >>>>>
> >> >>>> >>>>>LieGrue,
> >> >>>> >>>>>strub
> >> >>>> >>>>>
> >> >>>> >>>>>
> >> >>>> >>>>>
> >> >>>> >>>>>
> >> >>>> >>>>>>________________________________
> >> >>>> >>>>>> From: Gerhard Petracek <gerhard.petra...@gmail.com>
> >> >>>> >>>>>>To: dev@deltaspike.apache.org
> >> >>>> >>>>>>Sent: Friday, 10 January 2014, 9:33
> >> >>>> >>>>>>Subject: Re: JSF - default ClientWindowRenderMode?
> >> >>>> >>>>>
> >> >>>> >>>>>>
> >> >>>> >>>>>>
> >> >>>> >>>>>>+1
> >> >>>> >>>>>>
> >> >>>> >>>>>>regards,
> >> >>>> >>>>>>gerhard
> >> >>>> >>>>>>
> >> >>>> >>>>>>
> >> >>>> >>>>>>
> >> >>>> >>>>>>
> >> >>>> >>>>>>2014/1/9 Thomas Andraschko <andraschko.tho...@gmail.com>
> >> >>>> >>>>>>
> >> >>>> >>>>>>> Hi,
> >> >>>> >>>>>>>
> >> >>>> >>>>>>> currently the default rendering mode is our windowhandler
> >> js/html
> >> >>>> way.
> >> >>>> >>>>>>> Many people don't like it because you always get a loading
> >> screen
> >> >>>> for EACH
> >> >>>> >>>>>>> GET request:
> >> >>>> >>>>>>>
> >> >>>> >>>>>>>
> >> >>>> >>>>>>>
> >> >>>>
> >>
> http://stackoverflow.com/questions/18090603/how-to-disable-loading-screen-of-deltaspike
> >> >>>> >>>>>>> https://issues.apache.org/jira/browse/DELTASPIKE-454
> >> >>>> >>>>>>>
> >> >>>> >>>>>>> i readded a URL rendering mode in DS like it was in CODI.
> >> >>>> >>>>>>> I know that it doesn't cover all cases but it's likely
> enough
> >> for
> >> >>>> the most
> >> >>>> >>>>>>> users.
> >> >>>> >>>>>>>
> >> >>>> >>>>>>> What do you think about making the URL mode as default like
> >> it was
> >> >>>> in CODI
> >> >>>> >>>>>>> before?
> >> >>>> >>>>>>>
> >> >>>> >>>>>>> Regards,
> >> >>>> >>>>>>> Thomas
> >> >>>> >>>>>>>
> >> >>>> >>>>>>
> >> >>>> >>>>>>
> >> >>>> >>>>>>
> >> >>>> >>>>
> >> >>>> >>>>
> >> >>>> >>>>
> >> >>>> >>>
> >> >>>> >>
> >> >>>> >
> >> >>>> >
> >> >>>> >
> >> >>>>
> >> >>>
> >> >>>
> >> >>>
> >> >>
> >> >
> >> >
> >> >
> >>
> >
> >
> >
>

Reply via email to