cocoon-docs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <>
Subject [Cocoon Wiki] Update of "ECrudDesignPattern" by KermagoretJc
Date Mon, 12 Sep 2005 16:33:52 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Cocoon Wiki" for change notification.

The following page has been changed by KermagoretJc:

New page:
= E-CRUD design pattern =

= Intent =
The goal of this project is to design a pattern that provides the so usual CRUD features,
and if possible a little more. This paper provides a REST implementation, written with cocoon,
that permits to have these features without any programming skills. E-CRUD stands for Extended
CRUD features.

= Motivation =
Like all developers, I'm fed up to write same code again and again. So, a day, I decided to
design a generic solution that I could use anywhere in any circumstances, whatever the programming
language used.

E-CRUD stands for extended crud features that are :
 * CRUD features 
 * + Search

We may include too :
 * + Sort
 * + Paginate
 * + Report (Export, Print, ...)

= Usage =
This design pattern may be used in all your developments with editing facilities :-) Indeed,
which application does not use E-CRUD feature ?

This design pattern answers exactly this use case :

First, I log in to the application (not part of the E-CRUD).

Then, I arrive to the list screen where results from a query is presented. Then, I may :
 1. create a new record, or a new document
 2. update an existing one
 3. read a detail
 4. search for another records

If I choose 3, I arrive on the read screen. I may :
 1. create a new record, or a new document
 2. update the current one
 3. delete the current one
 4. go to the next or previous record
 5. search for another records
 6. go back to the list

"Hey man, it would be easier if you made a picture !!!"
Ok, here it is :-)

I may too :
 * sort data
 * go the 5th results page

= Structure/Architecture =

The E-CRUD processing may be decomposed in 3 steps :
 * list generation

 * form generation
 * form processing

View raw message