Thorsten Scherler wrote:
El mié, 21-09-2005 a las 13:52 +0200, Felix Röthenbacher escribió:
Michael Wechner wrote:
Thorsten Scherler wrote:
[...]
I disagree. The model should be free from presentation logic. Visibility
is presentation logic which could be changed for certain roles or
workflow situation. I agree with Josias that it belongs to the view.
I also think that it should belong to the view and not the actual
data. There can be many different views/maps of the actual data, just
as one has different maps in geography.
So you propose to have a separate model for each view, sort of a model
of a model? It seems to me that this approach will add unnecesary
complexity which leads to poor maintainability. Every change in the
main model has to be reflected in each model of every view.
Actually no. What I know explain is coming from my development in
forrest. The component (codename in forrest: forrest:views) that would
be responsible for viewing the model would be configured via a xml. More
the view would request the model on demand and not expect a given
presentation model.
Another approach is to use per-view metadata, i.e. each
view (e.g. the sitetree) is free to add attributes to the document
(see CustomMetaData). This way, the data are kept together and the MVC
axiom can be maintained.
WDYT?
Actually that is forrest:views. ;-)
salu2
Re. scalability. I deal with corporate websites. One of the larger has
over 9,000 html pages, plus >6000 jpegs, gifs, pdfs etc. We can't
afford a 10,000+ entry sitetree. We have to provide views of the site
based on the actual content and structure of the site, not on external
models. We're thinking of putting one site as XML into an XML database
and using some sort of URL-to-XPath/XQuery scheme. If we can find a
good CMS.
I really like the cocoon+lenya+jcr+bxe idea. I plan to use it for more
than web sites (even if it won't handle the big ones).
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]