Themes & Master Pages – Are they enough ?


I’m not a graphics designer, not even close.

In fact, I’m what you might refer to as esthetically challenged.

So lately I’ve been toying with the idea of building an ASP.NET based CMS, mostly due to my frustration about the lack of .NET based options when compared to PHP.

So I’ve been working on application architecture and ASP.NET offers lots of great synergies, but one place I’m stuck is in the area of UI abstraction for the purpose of themeing.

I understand how themes and Master Pages work technically, but my lack of design acumen leaves me struggling when evaluating them for complex UI design.

So, to get me started I picked up a copy of Jacob Sanford’s new book….

ASP.NET 2.0 Design – CSS, Themes and master Pages

JacobSanfordBook

I’ll blog a review and probably do some videos from what I learn, but in the mean time…..

What are YOUR thoughts about Themes and Master pages ?

What are the issues, tips, tricks, gotchas ?

Are Themes & master Pages flexible enough to serve as a templating engine for an application like Joomla or am I better off building an HTML/CSS skinning system from scratch ?

Thanks!

Comments (4)

  1. Keith Harvey says:

    I have been and continue to be in the same situation as you.  I would have to say that Master Pages are a powerful tool and have too many advantages to not use them.  As for themes, I am still not completely sold and have been using a standard CSS "skinning" methodology – which works quite well.

    Maybe a hybrid approach is what you are looking for?

    Cheers…

  2. Ron Myers says:

    I would recommend looking at a few implementations in some theme enabled applications developed in asp.net such as Community Server’s SDK(quite complex) or BlogEngine.net(much simpler).  This might help you hit the ground running when you see how some other people have approached this.

    Just my two cents.  

    If you would like some other applications which allow this functionality drop me an email.

  3. Chris says:

    In my opinion, that should not be part of the CMS. The CMS should provide an interface for storing content in logical containers with minimal formatting. You can pick a "Template" but that should correspond directly with an existing ASP.Net Page (that either does or does not use a MasterPage, at the discretion of the developer)

    You simply provide controls that display this content with control over what parts of the document get used, etc… A control for navigation. A control to display content (in sections with images). A control to display breadcrumbs, etc…

    Store the data however, combine with XSL for display (each control has a default XSL doc it uses or it can be overriden).

    Then you leave the theming and UI to the ASP.Net developer to link everything together.

    See http://www.adxstudio.com/ – Their system is good but could use a better admin UI. But the concept is right.

  4. fallenrogue says:

    Well, I think it depends largely on your intended audience. Master Pages are a fantastic way to define expected regions for your layouts but require the user to establish things like content regions that will be reused in subsequent aspx (or whatever page is using it…) pages. Stylesheet themes might work really well, though, but again, depends largely on your app.

    I’ve had nothing but success and joy-joy feelings using master pages and themes in my own ASP.NET (and MOSS) projects. In those apps where I wanted to provide flexibility I’d do something like provide 3-column/2-column/1-center masterpages and then several stylesheet themes as well, which made for a lot of variation.

    Anyway, I guess what I’m trying to say is that these features are very powerful and can certainly work wonders for your applications. For a CMS aimed at non-developers master pages may be too advanced (and difficult to manage) but themes may just work depending on approach. I’d love to see how the CMS works out!