| Apache Wicket > Framework Documentation > Reference library > Projects > RAD Components |
= Wicket Rapid Application Development Panels =
Started by Jon Carlson (jon_carlson@writeme.com).
Added to by you.
(Update Dec 2005, I have the basic components built with basic features, and I have some higher level components that show how they could be used to develop usable CRUD application very quickly, however they are still maturing. If you would like something committed to CVS earlier than later so you can contribute, please bug me about it at jon_carlson@writeme.com).
When I (JC) was a child, my grandma taught me 3 or 4 chords on a ukelele. Those simple chords could be used to accompany any song, she said. That made a big impression on me at the time. This sub-project of Wicket is being started with the belief that it is possible to create a few well-crafted editing and listing panels (along with the flexibility of OGNL, dynamic queries, and modern ORM tools) that would allow easy management of almost any data schema.
These panels should be able to create more than just a glorified Microsoft Access tool which is very table-centric. Wicket's use of OGNL, combined with a modern Object-Relational management tool like Hibernate, Cayenne, EJB 3, or O-O databases, allows grouping of information from related objects in one place.
These are ideas for motivating priciples (please feel free to add your ideas for discussion!) I have some specific ideas for implementation in mind so hopefully this makes sense to others too.
Below are ideas for the basic panels. Please edit with your comments! I (JC) have created components like these so I know these can be done. My components currently only support Cayenne, but I have written it to support another tool, like Hibernate, as well. (The tricky part is abstractly filtering the query for the List panel) Another database-abstraction, which is more single-object oriented and would fit nicely, is Jonathan Locke's wicket-contrib-database code of the wicket-stuff project:
Construct a generic panel like this:
(Code here!!)
– Example picture or HTML goes here –
The RelationshipsTabPanel provides easy access to the relevant related instances and would logically go on the same page as the EditPanel (but not necessarily). Each tab contains a related object (EditingPanel) or list of objects (ListPanel)
– Image goes here –