My favorites | Sign in
Project Logo
                
Feeds:

Crank allows idiomatic, efficacious GUI development based on your Java object model.

"Even Chuck Norris feared JSF...until he saw Crank" --CM

Crank 1.0.1 Release Notes and Download

Crank Google Group for Questions and Such

Slides from Los Angeles JUG, 1/5/2008

Crank is a master/detail, CRUD, and annotation driven validation framework built with JPA, JSF, Facelets and Ajax. It allows developers to quickly come up with JSF/Ajax based CRUD listings and Master/Detail forms from their JPA annotated Java objects.

Crank uses a lot of the new JSF features from Facelets, Ajax4JSF, etc. that will be used in JSF 2.0. Crank is a use case analysis of what is possible with the new JSF 2.0 stack.

The validation piece does server-side validation, Ajax validation or just emitted JavaScript validation based on Java annotations, property files, XML files, or database tables. Currently works with JSF, Spring MVC and Spring Webflow.

The framework is named Crank as in: "crank out, to make or produce in a mass-production, effortless, or mechanical way: She's able to crank out one (CRUD listing) after another" and "crank up: to get started or ready", "to stimulate, activate, or produce", and most importantly "to increase one's efforts, output, etc.: Industry began to crank up after the new (CRUD framework became our corporate standard)." http://www.dictionary.com

The CRUD framework has support for JPA enabled DAO objects. The CRUD framework implements a Detached Criteria API/DSL similar to Hibernates (R) Criteria API except it works with JPA. The Detached Criteria API/DSL (DCAD) could be ported to other frameworks for example Hibernate, iBatis, etc.

The CRUD framework has a controller that is framework neutral as well. Currently there is an example the uses JSF to quickly create CRUD listings and master detail forms as follows:

We built filterable listings in JSF/JPA. We plan on adding support for Struts 2 and Spring MVC that work with the CRUD listing (Create, Read, Update, Delete, Filter, and Sort). We did this before for an internal project called Presto (and before that with an internal framework based on Struts). This is like Presto revisted using Java annotations and generics (and a lot more eyeballs who provided a ton of feedback).

Here is an example of the filterable listing:

You can download the code from svn at https://krank.googlecode.com/svn/code/trunk. There is also a snapshot binary and src release in the download section.

To download the code do the following:

svn checkout https://krank.googlecode.com/svn/trunk/ crank

To learn more about Crank please read Crank Crud Intro. If you want to learn more about the design and philosphy of Crank please read Crank Crud Design documents. There is a getting started guide Getting Started With Crank for those who are new to JSF, and Facelets. Lasty, try reading our Wiki.

Please see the HomePage for more detail.

News









Hosted by Google Code