Hello Kito

first, I made a mistake global paramters are defined as

 <script type="text/javascript">
             myfaces.config = myfaces.config || {};             
myfaces.config.<param> = <fill your number in here>; </script>

the important thing is the config namespace is reserved for global myfaced javascript config parameters.

Secondly as for exposing at as a tag, yes this was discussed a while ago.

The original idea was to provide a myfaces:ajax tag with the additional functionality.

The reason why we have not exposed it was that no one has written the code yet. I am also not a big fan of providing core page functionality out of the spec within the impl all this stuff should be part of f:ajax, the users should not be bound to one impl but I definitely would not oppose such a tag also, if someone wants to write it.




Werner




Am 29.06.10 16:47, schrieb Kito Mann:
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]
<mailto:[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








Reply via email to