I (heart) Rails
I hadn’t expected my first substantial Ruby on Rails project to be for someone else, but that’s how it turned out. For the last couple of months I have been working on a Rails-based update of The Gadgeteer (note: if the site you see is blue and white with small fonts and table-based layout, the DNS change hasn’t propagated yet; try this link instead, but please don’t bookmark anything using that URL) and it rolled out tonight. Full disclosure: I didn’t do the visual stuff, because I’m not really very good at that; another designer created the new look, and I converted it to templates in my Rails application. More full disclosure: it’s not really done, and any rough edges will be smoothed in the next week or so.
This is an interesting project for me, because it is essentially a custom-built content management system which is a little bit like a “real” CMS, a little bit like a blog, and a little bit like nothing else. The original Gadgeteer site was managed with custom PHP which has, over the years it has been running, accumulated a lot of cruft. At the same time, the data model and features of the site, and the way its owners are used to working, have grown in ways that don’t quite fit the usual CMS or weblog models. This redesign is an opportunity to start from scratch, with the benefit of all of that accumulated knowledge.
Based on the time I have spent developing the new site so far, I think I can safely say that it was easier to code a custom CMS in Rails, in this case, than it would have been to hammer a prepackaged CMS into shape to do things the same way. I am not prepared to claim that this has any larger meaning at all, of course — this project was made easier by the fact that the public face of the site is not interactive and the back end will only ever be used by two specific people. But I wonder how many other site ideas fall in the nebulous space wherein a weblog application isn’t enough, but a full CMS is too much — it is so easy to develop in Rails that, in cases like this, there may not be any point in trying to mash an idea into the mold provided by existing software.
In the long run, this means more knowledge of Rails for me and better support for Rails on NYIP, both of which mean I’ll probably start programming for pleasure again. First up: a custom CMS-ish thing for online writing, hopefully ready in time for NaNoWriMo 2005. Or maybe a meta-journal/writing app/blog client/personal information repository. Or an AJAX-based web app for tracking my video game collection. Hmm, perhaps I better decide where to start…
Recent Comments