For the past two weeks or so I have been frenetically learning Ajax for Java and RichFaces. The available components shine on the view, adding speed, simplicity, and functionality to our application.
Unfortunately, the fact that two weeks have passed since I began work on the core page of the application signals that there are problems. Certainly, some of them are due to my lack of experience, and are to be expected. Others, however, have been caused or aggravated by implementing a4j and RichFaces.
While RichFaces is documented, there seem to be unmentioned complexities to the implementation of almost every component. When used in the environment for which they were designed, each component works excellently, but when we used them in conjunction with other components and other code implementations, time-consuming problems arose.
For instance, components such as rich:modalPanel rendered lightening fast on Internet Explorer but crawled in Firefox, while commandLinks in rich:dataTables worked on Firefox, but not IE!
As a detailed example of our troubles, and as today’s Note for Dense Summer Inters, we spent several hours working with Tamper Data and Eclipse console to determine what exactly was failing in a rich:dataList. The list contained links with a4j:actionparams that assigned the current variable object to the bean, for purposes of reRendering a view of the object’s details. It was only after wasting about a day that we discovered that the actionParam was not sending the object at all. Apparently, a4j:actionParam cannot assign as a value the variable of a rich:dataList, only properties of that variable. We switched to a rich:dataTable, and all was snazzy site design once again.
Today we decided that, until we got farther down the road of functionality, it was only shooting ourselves in the proverbial feet to struggle through a4j implementation and basic site design simultaneously. For now, we plan to drop RichFaces and use simple JSF until such a time as we have a functional site to which we wish to add a4j. At that point we must decide what component library to use. Among our options are first, of course, RichFaces, but also IceFaces and Dojo (which has an extra-impressive showcase!). RichFaces may be difficult to integrate with any portal other than JBoss portal, and Mr. Chandler believes we may in some future release want to implement LifeRay. This would be a vote in favor of IceFaces, which supports LifeRay explicitly.
So we sadly bid a4j farewell, for the time being.
Studying (or should I say geeking out over) various a4j graphic component libraries today, I came across the phrase “Lorem ipsum dolor sit amet consectetuer” etc one several occasions. Mr. Chandler told me it is the standard filler text for graphic artists. Curious, I looked it up, and here it is as the Filler Text of the Day: First, an article article describing the history of the phrase’s usage, giving a full translation of the standard text and the Cicero text it stems from, and offering to generate some random ipsum just for you!
Filed under: Jobber's Log | Tagged: a4j, JSF, RichFaces
