I visited one of my favorite sites today — A List Apart. I was excited to see an article entitled “Getting Started with Ruby on Rails.” Like the name suggests, it is a solid introduction to Ruby on Rails and programming with the framework. Through Rails has already won many converts, it is still just being picked up by scads of developers… those who thought it best to wait until it was more supported or more mature.
I began experimenting with Rails fairly early due to a coworker’s suggestion. Then I dove in head-first when I started working for a firm specializing in Ruby on Rails development. And I’ve loved every minute of this wild ride. It is more fulfilling than previous frameworks I’ve used — ASP.NET, in particular. This feeling is due in heavy measure to the eloquence of Ruby the language, it’s natural feel, but also to the design considerations of the Rails framework. It is true that constraint can spawn creativity… ask anyone who has written a Sonnet and followed the appropriate conventions including Iambic Pentameter and the rhyme scheme. In this way, Rails allows me greater creativity and flexibility through its constraints.
While reading the article, I was struck askew when I came to the myth-debunking section. The number-one myth was:
Rails is a content management system
I’ve mentioned that Rails makes it super easy to build web applications quickly—that it has a ton of built-in functionality and pre-built components. But what Rails actually gives you—the framework we’re talking about—is code. Rails isn’t a plug-and-play piece of software that you custom-tailor for specific applications, while just integrating some design along the way. You can think of Rails as being an elaborate menu of code that developers can select from, modify, and extend to create a completely customized application.
I just found it strange that people would think this about the framework. Surely, it expedites the efforts in building a content management system, but surely is not a CMS out of the box. Content Management Systems are probably the most widely requested and used application types on the Web today. In fact, most web applications, if they are not an outright CMS, contain a CMS of sorts under the hood. It is just the nature of the beast.
The Information Age is about content — various types of content — and its categorization and dissemination. It is obvious why the management of that information, specifically a human-usable application to manage that content, is the Holy Grail of our time. And Rails makes it a more enjoyable endeavor to unearth that Grail… at least for me and many others.
I’ve dabbled with a lot of open-source CMS projects written in Ruby: RadiantCMS, Mephisto, Typo, Tiny. They all have their strengths and weaknesses. Not a single one is a one-size-fits-all solution, but with a little hacking they all can fit your more specific requirements. I however, have given up using open-source systems or third-party solutions.
Today, using Rails, I have decided that the best CMS is the one rolled for the particular situation — from scratch, or at least using components previously developed that fit the project, but essentially a custom solution. Rails gives me that flexibility and freedom — the elegance and the efficiency — to build that kind of CMS for client’s projects. And it does so without asking much in return.
That, essentially, is why I love Ruby on Rails so much. That is why I am writing a book on programming content management systems using the Ruby on Rails framework. Because I love it. And because I’d rather be doing nothing else.

2 comments ↓
Hey, it’s been a month; got that book done yet?!?
Seriously, I agree that a good CMS using Rails would be a wonderful thing. Even better would be an cookbook on how to build one yourself.
How will you approach it? Me, I’d love to see a progressively rich example. Starting with serve up existing content; then add page features (head, side, foot - each with dynamic content); then add . . . well, you get the idea.
Pointedly, I wouldn’t waste much time on features for building the content. Just serving it up - with style.
Let us know how you progress with this.
Jim Maher
I’m progressing fairly well. The book will take more of the form you suggested, though it was planned that way from the beginning. I wish I could say you inspired it!
The way it looks right now, the manuscript will be completed around December 2008. I will post updates when they are available, possibly sample chapters, with the publisher’s permission. So, stay tuned…
You must log in to post a comment.