Thursday, September 21, 2006

Table Tag; The HTML Pariah

Here’s a piece of news: The table tag isn’t deprecated in XHTML!

OK, “that’s not news” you say. True. It’s not. But it seems to be for some. In fact, it’s amazing the lengths people will go to avoid using tables. You know what I’m talking about.

But, “It’s not semantic”, “It’s not separating content from layout properly”, “It’s soOOoo Web 1.0” or many of the other “reasons” to shun tables are mostly, well, crap.

There’s no way I’ll believe that it’s better to use a dozen div’s and a hundred lines of CSS to accomplish the same as a table. Talk about re-inventing the wheel!

Just because you can do something, doesn’t mean you should.

Listen, if you have tabular data, or need to use some sort of grid, just use tables. Be reasonable, be pragmatic. If you need a hammer, use a hammer, don’t use your forehead instead. Sure, they’ll both drive nails… Probably.

Let me re-emphasize the ‘be reasonable’ part. Remember, it cuts both ways. Too many tables can be a bad thing, and they can be a crutch. The point of this rant is that you shouldn’t avoid using tables, or some other shunned-but-non-deprecated tag, just because it’s popular to.

- end of rant -

Wednesday, September 20, 2006

Comatose 'Compatibility Mode'

OK, so after mentioning it in my last post, I’ve decided to go ahead and implement it. Comatose version 0.7.1 adds a DEFER_COMATOSE_LOAD flag that you can use to, well, defer comatose’s loading. You will have to manually tell it to load in your environment.rb using Comatose.load.

See this devblog post for more.

Normally, I’d only post this on the Comatose development blog, but I wanted to make sure anybody who’s having problems using Comatose with other plugins/applications knows about this. If you have problems or questions, leave a comment here. Thanks!

Tuesday, September 19, 2006

Comatose Version 0.7

This release finally adds support for versioning. It also adds an auto-loader for any comatose customizations you put in a RAILS_ROOT/lib/comatose folder.

See the devblog post for more.

Comatose has been having a few problems co-existing with some kinds of plugins lately. The problems seem to be caused, at least in part, because the comatose controllers extend ApplicationController and therefore requires the application.rb before the rest of the plugins load.

Plus, some plugins seem to take issue with any previous plugins defining an Active Record model before they’re loaded—very picky stuff.

To combat this, I’m thinking of adding a DEFER_LOADING flag in comatose/init.rb. When the plugin initializes, if that flag is true it won’t load the controllers or the models. You’ll then need to add a call to Comatose::Load in your environment.rb that would then load the controllers and models—after the rest of your app had loaded. By default, the flag will be set to false so that it remains backward compatible.

Look for that in the next release.