Hello Werner, I'm really happy to hear about these features in MyFaces 2. How about exposing the queue and the partial page parameters via tags like RichFaces to make things a bit easier for developers? --- Kito D. Mann | twitter: kito99 | Author, JSF in Action Virtua, Inc. | http://www.virtua.com | JSF/Java EE training and consulting http://www.JSFCentral.com - JavaServer Faces FAQ, news, and info | twitter: jsfcentral +1 203-404-4848 x3
Sign up for the JSFCentral newsletter: http://oi.vresp.com/?fid=ac048d0e17 On Tue, Jun 29, 2010 at 3:00 AM, Werner Punz <[email protected]> wrote: > Sorry to add a MyFaces related sidenote to that original RichFaces > announcement post by Kito. > > Queue control and timeouts are a huge gap in the JSF 2.0 Ajax specs. > The good side is, one of the reasons why our codebase is bigger than > Mojarras is, we have such a thing in our codebase (as well as partial page > submit) - (another reason is the OO Layer and the faster ll parser based > body and head stripping which outperforms native html/xhtml browser parsing > via iframs and xml parsing, for now) > > The main issue is, while we have it in our codebase, you cannot really > expose it to the end users because it is not part of the spec. > > you can use it following way: > > <script type="text/javascript"> > myfaces.queuesize = <fill your number in here>; > </script> > > or > if you want to alter it dynamically on the fly > jsf.ajax.request(this, event, {myfaces:{queuesize:<fill in your number > here>}, render="bla", execute:"bla2"} > > > As I said the reason why this is not exposed is, because it is not part of > the spec and hence I am waiting for the official API after that I can expose > the code. > > If we already are at it, we have other features as well, here is an > example: > <h:commandButton id = "button1" value = "Increment left" action = > "#{count.increment}" onclick = "jsf.ajax.request(this, event, {render: > 'out1', execute: 'out1 button1', > myfaces:{errorlevel:'ERROR', pps:true, > queuesize:1}}); return false;" /> > > > PPS is especially interesting because with it you can issue a partial page > submit, instead of sending down the full form always you can limit the > number of parameters sent (per default afair, the execute chain). > The spec clearly states the entire issuing form must be encoded and sent > down, but with PPS you can limit that which gives an additional extra on > performance. We all got those features thanks to the j4fry ajax code we > integrated which already had it in. > > Also an interesting feature is the timeout feature, with it you can > enable timeout control for the ajax part, so that after a given time the > issued Ajax request is dropped and the next one in the chain is processed. > > the config parameter is myfaces.timeout, you can apply it like the queue > control. > > Werner > > Am 29.06.10 01:40, schrieb Kito Mann: > >> Hello, >> >> This article shows you how to control traffic to the server using the >> RichFaces queue. Here is an excerpt: >> >> When building an Ajax application in JSF, one of the things you need to >> consider is how to control traffic to the server. Although Ajax >> applications make the application richer, quicker, and more interactive, >> in many instances the end user is not aware that the client (browser) is >> sending Ajax requests to the server. For example, if an input field >> fires an Ajax event on the onkeyup event, the user can easily flood the >> server with to many requests without even knowing it. This is also true >> of a regular button that fires an Ajax request. In a traditional >> (non-Ajax) application, the user is more aware that a request was sent. >> In such an application, the browser window could go blank for a fraction >> of a second while the next page is loaded. In other words, there is >> visual clue that page was submitted. But if the button fires an Ajax >> request, the page is not reloaded. The user could be clicking the button >> every second and not realizing that he or she is firing new requests >> each time. If multiple requests are fired almost at the same time, there >> is no guarantee they will be processed in the same order without any >> additional work on the server. >> >> Read the full article here: >> http://www.jsfcentral.com/articles/richfaces_queue.html >> >> Kito D. Mann -- Author, JavaServer Faces in Action >> >> http://twitter.com/kito99 http://twitter.com/jsfcentral >> >> http://www.virtua.com <http://www.virtua.com/> - JSF/Java EE consulting, >> training, and mentoring >> >> http://www.JSFCentral.com <http://www.jsfcentral.com/> - JavaServer >> Faces FAQ, news, and info >> >> +1 203-404-4848 x3 >> >> >> >> > >
