>> Kees Broenink wrote:
>>> Thanks Joerg and Vadim for your input.
>>>
>>> I am a big fan of the basic concepts of Cocoon and I do not tend to 
>>> add a MVC layer on top of it. The power of Cocoon in my opinion is 
>>> that it is not religic about the MVC pattern. It tries to do the job

>>> of building data driven websites extremely smart and fast.

Ralph Goers wrote:
>> While this is true, I think you miss the point that Cocoon IS the MVC
>> pattern. It just provides multiple ways of implementing it.

Sylvain Wallez wrote:

> Yep. We talked about Cocoon being "MVC+", since it has different level

> of controlers:
> - the flowscript controls what view will be used and the transitions 
> between views,
> - the sitemap controls how the view is built.

I agree that Cocoon can be used to apply the MVC pattern in multiple
ways. The statement that Cocoon IS the MVC pattern is IMO meaningless. 
The definition of MVC is used in two contexts. First the original 'rich
client' context where every GUI Control separates the data (model) of
the control from the representation (view). To change the data an event
handler is called based on certain user or system actions (controller).
AWT, Swing, Visual Basic/C++, Delphi etc. But also JSF because we now
use javascript in the browser to forward Gui event to the server.
Backbase supports this using extra XHTML tags and attributes that are
parsed in the browser.
The second context is the first generation of HTML forms without any
javascript. Here only buttons and anchors have an event handler which is
the same as a request to the server (page controller). The split between
data and representation can be achieved with JSP or more advanced with
e.g. Struts which also defines a nice action event handler. 
Now Cocoon is really open minded here. You can build REST like
applications or more Struts like. But one aspect of Cocoon most not be
overlooked. It enriches the View step by step by means of a sequention
of transformers. This is unique and if you want to do this with JSF you
basically have to build some sort of render kit inheritance yourself. In
Cocoon it is quite easy using XSLT and the pipeline syntax. The
Model/Controller side of Cocoon is not easy to define. The basic Cocoon
concepts in the sitemap certainly by itself have no clear concept of a
GUI control with a MVC split. So calling Cocoon MVC+ is also not
appropriate IMO.

Kees

Reply via email to