Average Rating: 3.6/5.0Number of Ratings: 14Number of Reviews: 2
My Review of Apache MyFaces |
||
You have not rated or reviewed this project.Click below to rate/review. | My Rating: | |
New Review |
If you read the previous version of this review you would have seen my commentary prior to making a giant breakthrough in using JSF and MyFaces. The interaction of the JSF life-cycle and JDO was a frustration because it appeared to complicate editing JDO persistent objects. As a result bridge objects and form beans were introduced to wrap editing in transactions and a lot of logic was necessary in the managed beans to do trivial edits.
This turned out to be very easy to resolve. I added code to listen for the before and after of the Update Model Values life-cycle phase. When it gets a before event it starts a JDO transaction. When it gets an after event it ends the transaction it started. As a result bindings to persistent object work for writes as well as reads.
JSF makes it relatively easy to build and maintain a complex application. It is not perfect, but it is certainly the best available option. Carefully consider the side-effects of customizing any aspect of JSF. Many of the customizations we introduced have created difficulties in migrating to new versions or integrating component sets. Also, stick to the JSF way of doing things when using JSF.
Don't repeat my mistakes. Using verbatim tags and the htmLib tag library allowed me to write JSPs like I write HTML. This goes against the grain of how JSF is intended to be used and caused a lot of problems for debugging and layout. Using htmLib and expecting to be able to author JSPs like web pages will led me to declare JSF and JSPs to be terrible. I was wrong. verbatims and htmLib bend JSPs in ways they are not meant to be bent. They provide an alternate inferior solution to problems that JSF RI, MyFaces, and other component sets solve cleanly.
I apologize to the MyFaces team for my previously extremely hostile review. MyFaces is a very good and useful project that helps me deliver value to my customers.
If you read the previous version of this review you would have seen my commentary prior to making a giant breakthrough in using JSF and MyFaces. The interaction of the JSF life-cycle and JDO was a frustration because it appeared to complicate editing JDO persistent objects. As a result bridge objects and form beans were introduced to wrap editing in transactions and a lot of logic was necessary in the managed beans to do trivial edits.
This turned out to be very easy to resolve. I added code to listen for the before and after of the Update Model Values life-cycle phase. When it gets a before event it starts a JDO transaction. When it gets an after event it ends the transaction it started. As a result bindings to persistent object work for writes as well as reads.
JSF makes it relatively easy to build and maintain a complex application. It is not perfect, but it is certainly the best available option. Carefully consider the side-effects of customizing any aspect of JSF. Many of the customizations we introduced have created difficulties in migrating to new versions or integrating component sets. Also, stick to the JSF way of doing things when using JSF.
Don't repeat my mistakes. Using verbatim tags and the htmLib tag library allowed me to write JSPs like I write HTML. This goes against the grain of how JSF is intended to be used and caused a lot of problems for debugging and layout. Using htmLib and expecting to be able to author JSPs like web pages will led me to declare JSF and JSPs to be terrible. I was wrong. verbatims and htmLib bend JSPs in ways they are not meant to be bent. They provide an alternate inferior solution to problems that JSF RI, MyFaces, and other component sets solve cleanly.
I apologize to the MyFaces team for my previously extremely hostile review. MyFaces is a very good and useful project that helps me deliver value to my customers.