# \[ANN\] MasterView rails-optimized (x)html friendly template e

**URL:** <https://www.ruby-forum.com/t/ann-masterview-rails-optimized-x-html-friendly-template-e/75336>\
**Category:** Rails\
**Created:** [November 9, 2006, 7:45am UTC](https://www.ruby-forum.com/t/ann-masterview-rails-optimized-x-html-friendly-template-e/75336 "2006-11-09T07:45:39Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![jbell38](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/edb3f5/32.png) [@jbell38](https://www.ruby-forum.com/u/jbell38)\
**Post date:** [November 9, 2006, 7:45am UTC](https://www.ruby-forum.com/t/ann-masterview-rails-optimized-x-html-friendly-template-e/75336/1 "2006-11-09T07:45:39Z")

</div>

MasterView is a rails-optimized (x)html friendly template engine plugin  
that  
provides another option to the existing rails view templates (rhtml and  
rxml). The main idea is to provide a template engine that would provide  
all  
the power of layouts, partials, and rails helpers but still be  
editable/styleable in a WYSIWYG editor. It was also a major goal that  
the  
syntax of these attribute directives be very similar to rails helpers so  
that one could intuitively start using MasterView with little learning  
curve  
other than knowing rails. MasterView was inspired by Amrita, Kwartz,  
Tapestry, Zope/PHP TAL, Liquid, and Web Objects but designed with a  
fresh  
approach and specifically targetted for rails users.

Release 0.3.0 was a major release for MasterView with an emphasis on  
refactoring and simplifying the API for building directives. A DSL  
syntax  
was chosen to greatly simplify the creation of directives to both help  
the  
core team with directive development as to also enable developers to  
create  
their own custom directives easily. MasterView has been constructed to  
allow  
directives to be shared amongst the community and this refactoring will  
enable custom development. To further enhance sharing and prevent  
collisions, this release introduces custom namespaces to the directives  
allowing users to create their own namespaces to prevent conflict.  
Namespaces as well as many other metadata about directives can now be  
configured at both the app-level and installation-level providing  
flexibility.

\*\*UPGRADE CONSIDERATIONS: (for MasterView deployments that have created  
custom directives)  
default namespace of extensions directives changed from mv: to mvx:  
(custom directive default namespace)  
upgrade any user created custom directives to use new directive API  
(see  
release notes)

Video  
A short video which demos the basic operation is available at  
[demo\_short](http://masterview.org/videos/demo_short.html)[http://masterview.org/videos/masterview\_quick\_start.html](http://masterview.org/videos/masterview_quick_start.html)

Screenshots and illustrations  
[http://masterview.org/media\_list.html](http://masterview.org/media_list.html)

MasterView is released under MIT open source licensing.

Main site: [http://masterview.org/](http://masterview.org/)  
Rubyforge Project site: [http://rubyforge.org/projects/masterview](http://rubyforge.org/projects/masterview)

Goals

- Create/extend a template engine for rails that would be XHTML  
friendly and thus could be edited/styled with a WYSIWYG HTML editor  
even  
late in development without breaking template.

- Keep it simple. DRY. No extra config files, simple syntax with ruby  
flavor.

- Design it specifically for ruby and rails. Use the full power and  
not be limited in its capabilities over what can be done with ERb  
(rhtml)

- Work nicely with layouts, partials, and rails html helpers.

- Reduce complexity, work with existing rails code, no extra view  
logic or hashes than what is used by ERb (rhtml). Scaffold generate  
initial  
templates or work from existing html prototype. Make scaffolds nicely  
styled  
and easily useable for production with minor changes.

- Reduce the numbers of files, simplifying editing. Define partials  
and layouts naturallyl right in the template, no need to go to  
another file.

- Preview in browser without running an app. Allow for dummy data in  
the template so that the page can be viewed and styled independently  
of the  
application.

- Performance equal to ERb (rhtml)

Release Notes:  
== Recent changes (Release 0.3.0 - Major update - refactoring of  
directive  
API (for developing directives)  
The directive API for creating directives has been refactored and  
simplified. This will enable directives to be developed more easily by  
both  
core developers and MasterView users. The end goal is to make it  
extremely  
simple for anyone to create their own custom directives and to share  
those  
with the community, and thus the project can live and grow into many  
specialty areas. The directive API refactoring is one more step towards  
those goals.

The old directive\_base.rb which provided the API for directives has been  
deprecated and moved to deprecated/directive\_base.rb,  
MasterViewdevelopers  
which have developed custom directives should upgrade those directives  
to  
the new API as soon as possible. During the transition period one can  
use  
the original API by requiring the deprecated/directive\_base.rb file and  
changing their directive to inherit from DirectiveBaseOld rather than  
DirectiveBase.

== Recent changes (Release 0.2.5)  
Fix AdminPage compatibility with Rails 1.1.5+ which uses safe\_load\_paths  
to  
find controllers  
Fix rake mv:view\_rhtml RHTML=foo/\_bar.rhtml was not able to find  
partials

Visit the online documentation page at [http://masterview.org/](http://masterview.org/) for  
screenshots, illustrations, complete installation and usage information.

We would love to hear your feedback and ideas around this project! Visit  
the  
rubyforge project [http://rubyforge.org/projects/masterview](http://rubyforge.org/projects/masterview) to join the  
users mailing list or to add yourself to the announce list to receive  
future  
announcements. Check out the  
video[http://masterview.org/videos/demo\_short.html](http://masterview.org/videos/demo_short.html)to see MasterView  
in action!

Thanks for your time!!

MasterView Development Team  
Jeff B. and Deb Lewis

---

<div class="post-metadata">

**Author:** ![jbell38](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/edb3f5/32.png) [@jbell38](https://www.ruby-forum.com/u/jbell38)\
**Post date:** [November 9, 2006, 9:52pm UTC](https://www.ruby-forum.com/t/ann-masterview-rails-optimized-x-html-friendly-template-e/75336/2 "2006-11-09T21:52:26Z")

</div>

Oh man this makes me giddy!

Ta, Jeff and Deb for all your hard work.

## Ed

Ed Howland

> **[Green Programming](http://greenprogrammer.blogspot.com)**
>
> Environmentally safe code

---

<div class="post-metadata">

**Author:** ![jbell38](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/edb3f5/32.png) [@jbell38](https://www.ruby-forum.com/u/jbell38)\
**Post date:** [November 12, 2006, 2:23pm UTC](https://www.ruby-forum.com/t/ann-masterview-rails-optimized-x-html-friendly-template-e/75336/3 "2006-11-12T14:23:47Z")

</div>

Hi Jeff,

```
    I have been trying to make MasterView works on my Rails

```

project. However, every time I issue a script/generate masterview  
Product Store command, I always get the following:

* * *

## D:\aaa\>ruby script/generate masterview Product Store Initializing MasterView configuration (2006-11-12 21:10) Program name = script/generate dependency model exists app/models/ exists test/unit/ exists test/fixtures/ identical app/models/product.rb identical test/unit/product\_test.rb identical test/fixtures/products.yml exists app/controllers/ exists app/helpers/ create app/views/store exists public/stylesheets/masterview exists app/masterview exists app/masterview/extra exists test/functional/ create app/controllers/store\_controller.rb create test/functional/store\_controller\_test.rb create app/helpers/store\_helper.rb create store/destroy.html wrong number of arguments (1 for 2)

Note that generating the same command for scaffolding works as  
D:\aaa\>ruby script/generate scaffold Product Store

I have the following masterview and rails version

D:\aaa\>gem list masterview

\*\*\* LOCAL GEMS \*\*\*

masterview (0.3.0)  
A (x)html friendly template engine for rails with the power of  
layouts, and partials.

masterview\_gem\_pack (0.3.0)  
A (x)html friendly template engine for rails with the power of  
layouts, and partials. This gem package includes the other  
masterview gems for easy installation

masterview\_generator (0.3.0)  
A (x)html friendly template engine for rails with the power of  
layouts, and partials. MasterView Generator for creating templates  
and scaffolding.

masterview\_plugin\_generator (0.3.0)  
A (x)html friendly template engine for rails with the power of  
layouts, and partials. MasterView Plugin Generator for GEM

D:\aaa\>rails -v  
Rails 1.1.6

D:\aaa\>ruby -v  
ruby 1.8.5 (2006-08-25) [i386-mswin32]

```
      Am I using the wrong version of Rails, Ruby, or Masterview?

```

Or a wrong configuration? Please note that I did not make any changes  
to the MasterView configuration file.  
Thanks.

Zandro
