> From: Per Einar Ellefsen [mailto:[EMAIL PROTECTED]] 
> Sent: 01 June 2002 18:10
> To: Jeff

> Well, as I see this, it isn't a problem. The layout manager takes 
> the place of the view, as it essentially decides how things should 
> be rendered. You then have two stages in your view, but the same 
> techniques apply (as the 2nd stage of the view isn't really specific 
> to any model or controller).

It is interesting to try and fit our approach into the MVC+template
pattern, and I guess it comes down to where you draw the line. I think
that the layout manager / creation of the document object model is
not really part of a View, as a single DOM can be passed to a number 
of rendering components. I see it more as something the controller
creates and passes to all of the Views that you want to implement.

For example lets say that I want to present both a web page, and also
render an Excel report in response to a single query [the page gets
sent back to the requestor, the Excel gets saved into the db as a
blob for later download].

I would see this happening like this:
  Controller: 
    1) creates collection of Models and model meta-data
    2) creates DOM using layout hints in meta-data
    3) passes DOM to HTML View and reaps the HTML rendering
    4) passes DOM to Excel View and reaps the Excel rendering
    5) saves the Excel rendering in the DB as a blob
    6) returns the HTML view to the page requester

As you can see from this outline, the controller manages the creation
of the DOM outside either the HTML or Excel views. 

I see the Controller as also responsible for deciding what to do with 
the results of rendering the DOM in Excel or HTML formats - Views 
don't decide how their results should be distributed. In the above 
example, the Controller might decide to return the Excel object to
the client, and save the HTML view into a cache or blob etc etc.

This is my current thinking. Now that I have heard more details from
the MVC folks on the list, I will have to sit down and spend some 
mental effort in assimilating MVC+template into what we currently 
do, and see what sort of beast emerges.

Regards
Jeff

Reply via email to