I understand that the "separation of concerns" offered by
Cocoon allows for parallel development on a system, through
the enforcement of appropriately defined contracts.  In
theory, this separation is meant to ensure that a system is
more flexible and more maintainable... Now the flexibility
part I will buy into, as I have seen it in operation, but
I am becoming concerned about the maintainability.

Take for instance a simple use case - using CForms with a 
persistence layer such as Hibernate to save data to a data-
base (at this stage a theoretical scenario as I have not seen
all these components working together as yet...) and now I 
need to add a new item that the user wants to see/edit...  

The following steps now seem to be required:

1. Update the database - pretty straightforward, assuming that
the new piece of data is just a new attribute on an existing
table...

2. Update the TableBean representing where that data is stored,

3. Update the persistence layer configuration file - in the 
case of Hibernate, this would be a Table.hbm.xml file,

4. Update the form binding file to link the data to the bean
(all the fb: widgets),

5. Update the form definition file (the fd: widgets), and

6. Update the form layout template file (the ft: widgets).

Whew!  All very nice and cleanly separated... but are they?  
This seems like a lot of work for what is, essentially, a
very simple change.  Forget one step, or make a single typo
and the entire cascade fails...

Does anyone have any thoughts on whether or not this process
could be simplified or, perhaps automated?   Or whether some
type of "meta config file" could be be created, where all the 
data is stored, and from which the needed files could readily
be generated?

Derek

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
MailScanner thanks transtec Computers for their support.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to