Hi, Tomas, fwding to seam-dev list.
Perhaps you would also like to share this work in the user forum?
On Sat, Mar 8, 2008 at 7:02 AM, Tomas Cerny <tom.cerny(a)gmail.com> wrote:
Dear Gavin King,
I have developed a new tool for view form generation from entity beans that
I think would be very useful for Seam developers. I would like to get your
feedback on the tool and ideas if you have time. If you like my tool, I
would like to discuss how we can best provide it to the Seam community.
Here are details...
I am a graduate student and ICPC frontend developer working on application
that is build on JSF, facelets, Hibernate, Spring and Acegi.
My research is in the next generation web application frameworks for the
next generation of our application.
Seam is great framework, and I love developing with it. I started with
seam-gen and am continuing with manual development.
It is great for generation of a starter application, but its customization
abilities are limited. If I try to customize code generated by seam-gen, I
can no longer regenerate.
Another problem that I had with seam-gen is that it generates forms with
basic input components and does not offer any customization. For example,
for properties of an enumerate type, seam-gen's form field is an input text
field; however, what I want is a drop-down list of the enumerated type
values.
To address these problems, I have developed a tool called FormBuilder that
can fully generate view forms from entity beans and offers complete
customization of input fields. My tool uses Hibernate-Validation
(annotations). Developers can even define their own input components for
form generation. When the input components are wrapped as facelet tag, it
can offer even more!
Some features:
The tool is completely configurable using annotations and XML.
Each generated form can function in either read-only or editable model,
depending on the "editable" attribute.
The form uses configuration-by-exception for its field rendering for
security
Forms may be referenced by Facelets tags to decrease application coupling.
Tool forces good practice for code management (different users same style)
Entity field property propagation to the form allows client-side validation
I provide two tag libraries with client-side validation and new input
component types like Password, Link, Html, ColorPicker. (The first library
is Seam+RichFaces, and the second library is simple JSF.)
I also created new field annotations like (password, link, html,
javaScriptPattern, formOrder) for complete form generation.
Form creation and maintenance is completely handled by the tool. After
entity bean updates, "fresh" forms are autogenerated to match.
More information is available here:
http://cs.ecs.baylor.edu/~cerny/formBuilder/guide.html
I have also built an example application showing new components and client
side validation (tested on 5 main browsers!)
It offers also comparison to forms generated by seam-gen.
You can experiment with the application by going to
http://fire.ecs.baylor.edu:8080/FormBuilderExample/home.seam (not
official/private)
Currently, you can download FormBuilder from
http://cs.ecs.baylor.edu/~cerny/formBuilder/download. Later I am planning
to put it on
SourceForge.net.
I welcome any feedback (even bad) on this work.
Tomas