3 Replies Latest reply on Oct 10, 2011 1:15 PM by jlpktnst

    RichFaces 4 .. My Experience

    zomby

      My advise, stay away from it as it has not matured and the ajax support is somewhat broken. I have expereince unexpected behavior with PanelMenu and PickList and few other users have confirmed it. I wasted my week on richfaces and now sadely switching to normal JSF 2 components.

      If you are still in the phase of thinking whether to choose  richfaces or not then my answer would be no. You can use RichFaces layout compoonets like panel but I won't recommend more complex components. And sadly no support once you are stuck. Attached are some of my threads that I posted but didnt get any answer.

       

      PanelMenu stops responding after few click.

      How to know which item is clicked in PichList

      RF 4.1.0 M2 - PickList

      PickList might be broken in RF 4.1.0 M2

      rich:dataTable not being rendered properly

        • 1. Re: RichFaces 4 .. My Experience
          healeyb

          Hi, I just tried the code you posted in 'panelmenu stops responding' and I'm not encountering any problem.

          You don't state which RF version you're using in that post, I just tried it on 4.1.0.M2 with a request scoped

          CDI backing bean. I was able to click through Group, Member & Status and each time the display on the

          client changes (the text is italicised), and also I see the updateCurrentPage() method firing from the server

          log output where I output the new menu item with getNewItemName().

           

          I seem to be able to carry on clicking indefinitely and I've tried this with chrome and IE8 browsers. What

          would be helpful is if you could try using some diagnostic aids, such as adding af4:log to your page and

          testing with the browser javascript console running (i.e. CTRL+SHIFT+J in chrome), and see if anything

          looks wrong (probably in red).

           

          Also, which browser(s) are you using and which JSF implementation are you running? Perhaps also you

          could describe if the component is not responding on the client side, only, the server, or both. a4j:log will

          highlight if an ajax request is getting sent to the server. Something else worth thinking about is having a

          global a4j:status onerror to popup a dialog in the event of an ajax error, which I think should work with

          panelmenu although I couldn't say for sure.

           

          Regards,

          Brendan.

          • 2. Re: RichFaces 4 .. My Experience
            jlpktnst

            Got the same problems here.

             

            When panelmenu stops responding a4j:log is also dead. Reloading the page is an only option. Also there are no errors in javascript console. Tried this in opera 11.51 and firefox 3.x (latest as of now). It usually hapens if I have both on ajax mode and I click menu options in succesion. When I click the second option after the one that has lots of stuff in it, it dies. I guess there are some crazy components nested there that break loading. Also I have some a4j:outputpanels on ajax mode around. Maybe that's the reason.

             

            Problem is I cannot find any detailed info as to what I can nest and what is a no-no. And I am sure lots of combinations are broken as they can get.

             

             

            As for tabpanel, I canot even change view. It internally crashes in server and ajax modes. Client works, but in client mode you get one big page with display:none div's. Thats not what I want. I can do that with jquery ui in 5 mintues. Why use richfaces for client tab panel?

             

             

            error[10:36:50.493]: Received 'error@malformedXML' event from <div id=evidence:j_idt138 ...>

            error[10:36:50.494]: [200] undefined: undefined

            evidence:j_idt138 is the id of tabpanel tab header. It sends an event and gets back stuff for j_idt139, a container that does not even exist in DOM. Is that normal? Should it get created and populated after response?

             

            Is it normal that also on switching tab the previous tab that should now hide gets its element update? Also the next tab that isn't even shows gets element update? And ofc there is no data injected into the document tree. So should I put a4j:outputPanel in every tab content? Oh, I checked. I had the outputPanel already in each tab. Its broken. If I don't put outputPanel there it doesn't work at all. I guess ui:include doesn't work with paneltab?

             

            edit: Hm, I guess it was not include tag, it still does't work.

             

             

            info [10:52:34.468]: Element error

            <error><error-name>class javax.faces.component.UpdateModelException</error-name><error-message><![CDATA[/view/OsnovniPodatkiOsebe.xhtml @23,25 value="": Illegal Syntax for Set Operation]]></error-message></error>

            error[10:52:34.470]: Received 'error@serverError' event from <div id=evidence:j_idt133 ...>

            error[10:52:34.471]: [200] class javax.faces.component.UpdateModelException: /view/OsnovniPodatkiOsebe.xhtml @23,25 value="": Illegal Syntax for Set Operation

             

            Maybe may layout is too advanced? I thought that's the point of jsf. I will try the basic tags as OP suggested though there will be wee bit more work, it might work at least. Also my two other posts didn't get any useful answers as did not zombie. Dang, I would even buy the richfaces book, but atm it seems I also killed myself with choosing richfaces. Reworking stuff is the best.

            • 3. Re: RichFaces 4 .. My Experience
              jlpktnst

              Hm, I will figure these tabpanel problems out somehow. I think the page layout is to blame... meh. I am reducing elements and trying to find out what exactly is the offending combination.

               

              Meanwhile - I can run the offending tabs directly at root level. BUT they are painfully slow. Lots of elements inside. I think there is some kind of caching around, maybe even at browser level. But here it always takes 2-3 seconds for the tab to appear! And no ajax activity. What is it doing? Reconstructing page from xml? Is that really so slow? 2-3 seconds is terribly slow imho. For <100 page components... Any way to speed this up?