Introducing Wheelhouse CMS 1.0

Posted on December 15th, 2011

Author: Sam Pohlenz

After many months in development, and many more in private beta, I can finally announce the first public release of Wheelhouse CMS is now available for purchase!

I began developing Wheelhouse CMS out of a long-standing frustration with existing content management platforms. In most cases, CMSs today tend to be painful to build web sites in, or simply not something I'd feel good about delivering to my clients (due to poor usability, security, etc.)

Wheelhouse CMS aims to do better.

Wheelhouse is built on top of Ruby on Rails 3.1 and takes full advantage of great new features such as the asset pipeline. Haml (for templates) and Sass (for CSS) are also fully supported as well as the Compass extensions for Sass.

Wheelhouse content fields enable you to create templates that give your clients full control, but won't fall apart if they make a mistake while editing. The easy-to-use admin area and editor will mean your clients won't have any troubles managing their content.

These clients are already happily using Wheelhouse CMS to manage their sites.

Check out the Demo Site to try out Wheelhouse CMS for yourself today!

Major Release Coming This Week

Posted on December 12th, 2011

Author: Sam Pohlenz

Things have been a little quiet around here lately but with good reason. I've been hard at work preparing for the first major release of Wheelhouse CMS, and can confidently say that version 1.0 will finally be available later this week.

In the mean time, you can check out the new Wheelhouse CMS Demo Site for a sneak peak.

New Documentation, Rails 3.1 and Heroku

Posted on September 8th, 2011

Author: Sam Pohlenz

I'm proud to announce the Site Administrator's Guide has finally been released!

The Site Administrator's Guide is intended to be the main user guide for Wheelhouse CMS, suitable for developers, designers and clients to get up to speed on using the Wheelhouse admin and managing content. If you notice any typos, omissions or errors, please let me know.

In other news, with the recent release of Rails 3.1, Wheelhouse CMS is now fully compatible with both Rails 3.1 as well as the Heroku cloud hosting platform. All of the details on how to set up Wheelhouse on Heroku will be published in the coming weeks.

Flexible Templates in Wheelhouse CMS

Posted on August 23rd, 2011

Author: Sam Pohlenz

When designing and building a web site, you'll rarely want every page to be laid out in exactly the same way. At a minimum you'll likely have a different layout for your home page compared to your interior pages. Larger sites will probably have even more design variations between pages.

The recent redesign of Rooftop Media, produced by Demarchi Design is a perfect example of this:

Screenshots of home page and interior page layouts from rooftopmedia.com.au

Although it's not a large site, the layouts of the home page and interior pages differ significantly. The home page features a large banner image and short columns of text, whereas the interior pages include a second level of navigation and a larger main content area with some featured projects below.

For a content management system, this presents a challenge in how the editing forms for each piece of content are presented to the user. Wheelhouse uses a template-driven approach that automatically builds the forms based on definitions within the templates.

What does this mean and how does it work in practice?

When you create a page in Wheelhouse, it is assigned a default template from your current theme (or you can select from any of the other templates that the theme provides). Wheelhouse reads the chosen template looking for content definitions (content, text, images and loops) and then automatically builds the form for content editing.

Here's how the columns section of the home page template looks:

<div class="callout left">
<%= @page.content("Left Column", :rows => 20) %>
</div>

<div class="callout middle">
<%= @page.content("Middle Column", :rows => 20) %>
</div>

<div class="callout right">
<%= @page.content("Right Column", :rows => 20) %>
</div>

I'm using ERB in these examples but Haml is also supported (and is highly recommended).

The name and options passed to @page.content provide hints to Wheelhouse as to how to render the editing controls. Wheelhouse provides options to customize the field label, editor size, default value, help notice as well as the CSS used by the editor.

In the interior page template we do something similar but accept the default values:

<div id="content">
<%= @page.content %>
</div>

 These examples produce WYSIWYG editor controls such as those in the screenshot below:

Screenshot of content editing forms

For short single-lines of text (e.g. a section title), we can use the @page.text content method to generate simple text fields, complete with a default value and a note for the content creator.

<h2>
<%= @page.text "Section Title",
:note => "Short explanatory notice.",
:default => "Default Title" %>
</h2>

which creates the following field in the form:

Screenshot of single line text control

Images and looped content

Just like text content, images also receive first-class treatment in Wheelhouse CMS. Although images can be added to normal text content using the WYSIWYG editor, there are times when you as a template developer will want more control over how images are positioned and sized.

Wheelhouse provides the @page.image content method to place an image at any point within the template, allowing the content creator to choose the image from the Media Library. The width and/or height can also be specified in the template and the image will be resized accordingly.

The banner image for the Rooftop Media home page can be defined in the template as:

<div id="banner">
<%= @page.image "Banner", :width => 830 %>
</div>

This provides an image selector in the editing form that looks like this:

Screenshot of Wheelhouse image selector

The final template content construct in Wheelhouse is the loop, which is used to create repeating items with a common structure, such as the portfolio pieces and featured projects in the Rooftop Media portfolio. It's also fantastic for creating simple slideshows and galleries, without the need for any additional plugins.

Any of the content, text or image methods described above can be used inside a loop. To illustrate, here's roughly how the featured projects are done:

<% @page.loop("Featured Projects") do |project| %>
<div class="project">
<%= project.image :width => 212, :height => 141 %>

<div class="content">
<%= project.content :rows => 10 %>
</div>
</div>
<% end %>

And here's how it looks within the editing form, with two items already added:

Screenshot of looped items in Wheelhouse

All of these template methods enable you to create easy-to-use editing forms (no matter how complex your templates get) that are far less prone to user error. You can say goodbye to panicked calls from clients saying they've mucked up the layout.

What's more, these template methods aren't limited to normal pages but can also be used on blog posts, forms and your own custom resource types.

So when will it be ready?

The final finishing touches are currently being added, including updating Wheelhouse to support Rails 3.1 (and the brand new asset pipeline). I'm also hard at work writing documentation for administrators and developers (include all the details for everything we covered in this post and much more), with the Site Administrator's Guide coming early next week.

There's no hard release date set (it'll be ready when it's ready) but there's definitely not long to go now.

Showcase: Horvath Homes

Posted on May 6th, 2011

Author: Sam Pohlenz

Horvath Homes' New Web SiteThis week saw the launch of Horvath Homes' new web site, built using Wheelhouse CMS.

Horvath Homes are a premier home builder based in Napier, New Zealand and needed a web site that could show off their show homes, home & land packages, and various home plans. They also needed a way to easily update their ever-changing selection of available homes, as well as their other web site content.

Designer Kristin Baylis was able to use Wheelhouse CMS to produce a rich, interactive web site, easily integrating slideshows, galleries and contact forms using Wheelhouse plugins and templates. A custom plugin was built to enable searching of home plans by various criteria including home size, number of bedrooms, bathrooms, garages and storeys.

Wheelhouse CMS lets Horvath Homes control every aspect of their web site. Every piece of content and every image is editable via the easy-to-use admin interface.

Visit Horvath Homes to see what Wheelhouse CMS can do for your business.

Screencast #1: Template Images

Posted on March 25th, 2011

Author: Sam Pohlenz

In this first screencast, I present an overview of the template image capabilities of Wheelhouse, which is fast becoming one of my favourite Wheelhouse features.

The Road to 1.0

Posted on March 16th, 2011

Author: Sam Pohlenz

Welcome to the web site and blog of Wheelhouse, a brand new Ruby on Rails CMS that I'm hoping will change the lives of web designers and developers for the better.

I started building Wheelhouse primarily to scratch my own itch. I found the current crop of content management systems leave a huge amount to be desired - either they're immensely painful to build web sites with, or they're difficult for ordinary clients (as well as myself) to use.

Wheelhouse was born out of this frustration, and I've found I'm not the only one to have this problem - the seemingly impossible quest to find a CMS that is both powerful and enjoyable to develop with, and which will empower my clients to manage their sites with minimal help and guidance.

After many months in development, Wheelhouse has finally matured to the point where it achieves exactly this. Thanks to the companies participating in the Wheelhouse beta, Wheelhouse is now powering 11 production sites, with at least 5 more to be released soon.

In just a few months time, Wheelhouse will also be able to power your web site and those of your clients. Keep checking this blog or subscribe to be notified of updates.

I'll also be posting up some screencasts and tips for existing Wheelhouse users, so stay tuned.