Archive for July, 2011

It is currently almost impossible to not like JEE6. CDI, JSF2, JPA2, Servlet3.0, Bean Validation 1.0 and what not But what then… The default JSF components give you limited functionality, so the quest for selecting an enhanced component suite comes to everybody’s path.

Long, long time ago, in the JSF1.0 era, I just myfaces components, they provided a little more, but not much. Then came the Richfaces with Ajax4JSF. I started using this when Richfaces went from being commercial at Exadel to being part of JBoss. I was fairly pleased for a while but when JSF2 came around, I just wanted to have a component suite that worked with it natively.

My shortlist contained 3: Richfaces 4, Primefaces 2/3 and Icefaces 2. The reason I left OpenFaces out at that time was (I think) because I dislike companies opensourcing their whatever they have because they fail to succeed commercially. Ok, Richfaces was commercial to, once, so I begin to doubt my own arguments a little. It might be because I have a ‘warm feeling’ for JBoss (to a certain extend).

Icefaces fell of the list when I noticed their ‘commercial’ touch, having only a few JSF2 components in the open. Mind you, I have nothing against commercial companies, but using JSF mainly for my personal projects, I did not have the money to buy their enhanced components. The Richfaces project took a long, long time to produces something that was usable, could be demonstrated etc. Now I know they developed a new ‘component development kit’, started all from scratch wanted to deliver high quality components, but I just could not wait.

So Primefaces remained, I started using it at version 2.1 and was fairly pleased. A nice set of components that are easily themable since they use the jquery-ui conventions. This means that with JqueryThemeRoller you can create your own themen within minutes. But as always, the devil is the details. Details here meaning developing more complex applications. For me one of the most important components is the datatable. It should have sufficient functionality to begin with, a clear outlook of what additional functionality will come and when, not to many issues etc…

For the Primefaces datatable there are many feature requests. Some duplicates, some not triaged (invalid in the meantime), some nice to haves, and some must haves. Fixed columns and horizontal scroll is for me a nice to have, but having a multi-select like in file browsers is (almost) a must.

EDIT:
Cagatay validly pointed out that the PF datetable is the most complex component with many features already (for the details see below in his reply) so there was already a lot of time and effort put into it. I should have mentioned that.

So instead of complaining, like some others do, I started implementing this myself. Contratry to what people think, developing JSF2 components is not that hard, and most of the things (all in case of the multi select) had *nothing* to do with JSF, but were merely html/jquery things. So what now…

Well, as you can see in the next post in the same topic by the Primefaces lead, they have a policy that issues that are most often voted for get a higher priority then others, but requests by paying customers have an even higher priority. Now this is not strange, since Primefaces is not backed by a company like JBoss or Oracle and since they are human, they do need to eat and drink and go on holiday now and then. So a vibrant community around Primefaces is a great thing to have.

Every now and then they post a tweet about the number of posts that were reached in the forum. Honestly, this can be interpreted as negative as well. If a huge number of posts is required in the forum, It might be that things are not (always) that obvious or bug free. Both are the case, but posters often forget to search the forum or issue list and just post and so you cannot draw a real conclusion from the number of posts. Yes there are many users, yes there are people that help others, a lot, blog about it etc, but that does not constitute a community.

It is obvious that the Primefaces teammembers to a lot of work in their free time as well, so all the work is very much appreciated, but as mentioned, in my opinion, Primefaces does not realy have a community. I can accept that Prime Technolgy wants to stay in control of the direction Primefaces is going and there is no need for an Apache PMC like ‘environment’ now.

But there are some people that do not get a warm feeling on how things are currently going or at least how they are perceived. So, and this is going to be a bold and not realy well founded statement  but jsut to cause ripples/controversy, I get the impression that the Primefaces team rather waits for a paying customer to come by then to accept patches from the community. It might be wrong, they might jsut be scared of copyright infringement, but that can be solved by a contributors agreement. Heck I do not even want/need commit rights (Git instead of SVN might help here)

Don’t get me wrong ,I do like Primefaces and will continue using it,  but at the same time I do not want to ‘fork’ certain components just to speed up fixings issues, enhancing things  or even introducing new components. I want Primefaces itself get to a higher level and want to HELP

Peace,

Ronald