[Masterview-devel] Should MV assume a generate destination if none is provided in the template?

Deb Lewis djlewis at acm.org
Tue Jul 18 12:42:21 EDT 2006


I think that's a good default, tho let's think through the wrinkles a bit
more just to make sure we aren't missing something about being able to
reliably do the "right" thing.
 
I think it's ok to assume that .html in the app/view directory is intended
by be used w/in the rendering framework.  If you don't want any processing,
you should have put that file in your app/public.
 
But let's allow for exceptions by an "ignore me entirely" attribute: e.g.,
 
   <body mv:ignore="">
  ....
   </body>
 
means "buzz off and leave me alone, I don't want no processing on me".
 
But then, yes, agree with your proposal: if a .html file in app/views which
is truly <html> contains no output generation directives (no mv:generate or
mv:gen_partial), then mv assumes default as if you had written:
 
   <body mv:generate="{template_path}" mv:omit_tag="">
  ....
   </body>
 
That's nice, gives you an easy way to pour chunks of basic content into your
site to leverage a page framing layout without any extra work.
 
BTW, if we don't already, suggest we interpret both mv:generate="" and
mv:generate="*" as shorthand for mv:generate={template_path}".  (can't
remember if we're doing that, need to recheck the subst. code)
 
~ Deb

  _____  

From: Jeff Barczewski [mailto:jeff.barczewski at gmail.com] 
Sent: Monday, July 17, 2006 12:39 PM
To: masterview-devel at rubyforge.org; djlewis at acm.org
Subject: Should MV assume a generate destination if none is provided in the
template?


I was thinking that for beginning users that the mv:generate thing is a
brand new concept from all of the other templating systems so if they write
some templates and don't include those directives (mv:generate or
mv:gen_partial) they won't get any output and will be thinking it is broken.


So much like rails assumes that if you don't specify a render call in your
controller that it should use the default render view, maybe MV should
assume that if you don't specify any mv:generate or mv:gen_partial calls
that we should assume a mv:generate="*". And if their root is <html> then we
would assume that they want the content of the body for this output so we
would do essentially put this in the body tag  <body mv:generate="*"
mv:omit_tag="">, since typically this will be wrapped with a layout. If they
don't lead with <html> then we'd put the mv:generate="*" at the root and
leave out the omit_tag.. 

This would make it easier for people that are starting out, to get something
working especially if they have tried other similar template libs.

The only issue I see with this is that if people have other non mv html
files in their tree (not sure why they would though since they typically
would be in public) then those would potentially generate rhtml as well. We
could make the directive configurable as to whether it is enabled, but maybe
that is overkill. If we make the assumption that either they won't have non
mv html files in their view dirs or that it doesnt matter if some extra
rhtml files are created then we it should work fine. 

Ideas or thoughts?



-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://rubyforge.org/pipermail/masterview-devel/attachments/20060718/da910b8d/attachment.html 


More information about the Masterview-devel mailing list