Why Boxed CMSs Can Suck

By Deane Barker on November 22, 2006

I’ve Never Met a Boxed CMS I Like: SitePoint has a brutally accurate post about CMSs and making them run actual Web sites.

The first issue is that the very nature of a CMS is not easily boxable, without creating an application that tries to do everything for everyone and fails at doing most things particularly well. The tasks required for content management are generic, but every organization has a far different focus when it comes to how that content should be managed and how it thinks about that content.

This is all so true. I’ve often thought that the “best” CMS in the world would actually just be a really well-executed API that solved the “major” CM problems, since everything in a CMS is so custom anyway. We’ve had good luck with eZ publish, but there are times when your information architecture and grand plans get plowed under by the limitations of any CMS.

Let me say this for the record: the CMS that will best fit your needs is always going to be a custom, hand-built, one-off CMS...provided you have unlimited time, skill, and budget to create it. And that bit on the end is the only reason we used boxed systems: because a lot of the problems with content management are solved problems, and we don’t want to go about solving them again.

I’m reminded of a number of things here that relate —

There was a funny piece a few years ago: Content Management as Relationships. The source is offline right now, but here was the part we quoted:

There comes a point in your life when you feel that you really should be in one. [...] They’re expensive up front, and you never stop paying for them. [...] After a few months of excitement you realize that you’re basically doing everything that you were doing before.

Also, we’ve talked about how Ruby on Rails may be the uber content management system, in that it gets really close to an amazing API that can manage content fairly well. I think to solidify this, they should build a versioning option into ActiveRecord, so that when you write back to the datastore, you’re writing a new record, and the ActiveRecord object itself gives API access to all the old versions.

The SitePoint comments about CMSs being so custom reminds me of the comments I made about shopping carts a few weeks ago. I wrote my own cart – re-solved a solved problem – just because every store I’ve ever found is such a one-off deal. Content management is not quite this bad, but it’s close.

Finally, we had a mildly tense comment thread in the post about Big Medium from the other day. Someone chimed in with an endorsement of Typo3 as the “do all” content management system, and he got a little pounced on.

I tend to think – as this guy did – that my chosen system will do everything, but that’s not true: if you’re using a pre-written system, any plan you ever make for your Web site gets weighed against its limitations, whether you’re aware of it or not. There’s a lot of subconscious compromising we do with our plans to make sure they can fit in our chosen system.

This link is via a reference on the wonderful CMS Report. I was on a panel discussion about “Web 2.0” the other day. This guy walked up to me afterward ad introduced himself as Bryan – the guy behind CMS Report. You could have knocked me over with a feather. I had no idea he was local. What are the odds?

Comments (2)

Fernando Silva says:

Just one word: Drupal!

Michael says:

Hehe... I had to look up “pounced on” in the dictionary. So that’s how you see it? Well.. if it makes you happy.

“I tend to think ? as this guy did ? that my chosen system will do everything”

Actually that’s not what I stipulated. I had twice in my CMS career deliberately chosen a system, which proved not even not to do everything, but as it turned out in one case not even do the job properly for which it was designed.

“if you?re using a pre-written system”

This is exactly the reason that I switched from commercial closed-source CMS to open-source systems. And maybe this point was not clear in my initial comments: even for Typo3 I had to develop components myself. The key issue here is that it was developed with exactly this in mind: Typo3 has an incredible powerful API, allowing you not only to create extensions to the system, but providing hooks to even alter core-functions, without the need to actually patch the core. So you can still benefit from “mainstream” developments of the core and the extensions, while still maintaining your own extensions to both the core and 3rd party extensions.

If I would ever come again in a situation where I had to invest thousands of dollars into a commercial CMS, I would make it a point that they had to include these hooks for me. That’s a lesson learned the hard way.

The “CMS Report” link gives a 404. I’ve seen a similar report in German and would love to compare them.

Greetings from Hasslehoff country!