The Artistic Outlaw

mathiasaurus

May 10th 2008 / shared

The Problem with Content Management

Content Management Systems are all the rage. They let you build a dynamic web-site with little to no web development knowledge, which is awesome! Right? Well yeah, sometimes, but I think these ease of use systems are fundamentally broken. I have an opinion on content management systems in general, that I’d like to share. I’d also like to provide an idea that might help make a content management system better.

Every CMS I’ve ever used—which is everyone of them—makes assumptions about how you will use the system. Some even go so far as to force you to use certain language, structure or presentation for building a web-site with their system. I don’t like to be told what to do, or how to do it. And that is exactly what these systems are doing.

To me, this is the major drawback to using a pre-built CMS; having to adapt to someone else’s idea of work flow or web-site construction.

How can we solve this problem?

Simple, stop making assumptions about how an end user will use the system.

For instance, just because I like to use HTML to write templates doesn’t mean another person might not prefer XSLT or some sort of PHP hybrid.

A CMS shouldn’t be trying to guess at how I want to structure content, or how I want to present that content. A CMS should just give me a place to store and manage my content with a few tools to help me build out the front end like a flexible loop and easy access to data variables for use in templates.

In a perfect CMS, we wouldn’t have anything in the database except the raw content and it’s meta data. No templates, no settings or configuration.

Templates should always be flat file based and stored on the server, never in the database.

Settings and configuration files have zero business being stored in a database, it only causes problems. They should be stored as flat files on the server, better if they are secured in some way. A MySQL query to grab configuration settings that boil down to a simple string or a yes/no scenario is unnecessary overhead.

I’m sure there is a flaw or two in my opinion, but that is the beauty of opinions, they don’t have to be right.

photo of James“The Problem with Content Management” was written by James Mathias on May 10th 2008

A writer, artist and outlaw. Living, working and playing in Tennessee. James writes TAO in a vain effort to teach, learn and share with the industry he loves.

feedback, comments & opinions

10 comments

Brandon Bowers

05/10/08 6:20 pm

I liked what you wrote. It goes to show you that not all things, no matter how bad or good, they are not for everyone. I have read a good deal of businesses use CMS. I am sure that not all of them do. I first learn about CMS from a computer technician of a local church. Twitter is a new thing these days in online communications for business and personal use. I cannot wait to see what comes up next.

jmathias

05/10/08 7:37 pm

Hi Brandon, thank you for commenting. I’m not 100% certain what you are trying to say, but I don’t consider twitter a content management system. However, I do agree that it’s an interesting service and I’m also curious to see what comes next.

David Sissitka

05/10/08 7:53 pm

In my opinion…

In a perfect world what you’ve described would be called a “Content Management System” but every CMS that I’m aware of is too opinionated to meet your requirements. I’m sure that there are a number of “Frameworks” that’ll either meet or come close to meeting your requirements though, if you’re not limited to PHP I can think of a few. Even if you’re limited to PHP there must be something.

P.S.: I was hoping that Pixelmator’s PSD support would be good enough to bring my design to life but that just isn’t the case. I’m currently waiting for Photoshop to arrive. For whatever reason Adobe insisted on replacing my downloaded version of Photoshop with a boxed version and it seems they’ve chosen a ridiculously slow courier to deliver it. Pony Express, where art thou?

jmathias

05/10/08 7:58 pm

Hi David, yes I agree. I’m sure there is something out there that could be cobbled together to make a CMS the way I desire it to be, unfortunately for now though it looks like building my own is just a necessary evil and a time saver (oddly enough).

I thought I was going to end up using Expression Engine for mathiasaurus but then I discovered a few things about it that forced me into a specific way of working that just didn’t work for what I have planned. Boo.

But, those issues are what prompted this post, which in turn led to the current redesign, so EE’s not all bad.

David Martin

05/12/08 8:37 am

I agree with with your sentiments for the advanced user. An intermediate or novice designer/content developer likely welcomes the restrictions and rules with open arms. However guys like us, we like to tweak the deck to perfection… none of these prebuilt things. I’m starting to lean towards growing my own CMS for future sites I do as well. The web development frameworks available to us are robust and feature rich enough that developing and deploying a custom solution for each site is almost as time consuming as trying to force said site into an existing CMS system.

jmathias

05/12/08 9:01 am

Hi David,

Yes my idea benefits the advanced user a great deal, but I submit that it would also help the novice user just as much.

A novice user would still be able to upload and activate a new custom or prebuilt theme to the perfect CMS. Which I think would be the main point of contention for a novice user.

Really if you think about it even the most novice user would require some sort of web savvy, in order to just put data into the system to be stored.

All current content systems require the end user to at least know how to upload files to a server, and for those people that hire someone to do that for them, there isn’t the novice issue anymore.

Paul

05/12/08 9:51 am

I always tell clients that a CMS is merely a means for them to write and update their words without a hassle (and I build one to their needs; nothing out of the box, because not everyone’s content is the same). Today’s CMS seems to assume that a developer is unneeded — and for blogs, or really really simple sites, I can see that; but its like buying a “1-2-3 Electrician” boxed solution and wiring an entire office complex with it — most likely you’ll call and electrician because you’ll get stuck … I really don’t know where I’m going, other than to say; you’re completely right.

jmathias

05/12/08 10:01 am

Hi Paul,

Yeah I agree, and I do the same.

I’ve done both custom and pre-built solutions but the end result is quite commonly the same. Me maintaining the site and upgrading and fixing bugs, all of which I get paid for.

Pre-built or custom or perfect solutions aside, some clients just need a bit more attention paid to them.

J. Bradford Dillon

05/12/08 7:14 pm

Must agree with you. I’m so tired of getting CMSs to jump through the hoops I want them to. By the time I’ve got what I want, I could have written it myself.

So why do I do it? Why don’t I create my own CMS? I think this is a good argument for application frameworks like CakePHP or Ruby on Rails, like Mr. Sissitka was referencing. Instead of building everything from scratch, they can aid you in simply putting the pieces you need together.

The reason I think most people (myself included) use prebuilt CMSs and just tweak them into submission is because having to design and style a backend for a client means double the work. That’s not necessarily a bad thing, but if it doubles your cost, you might not get the job.

It’s a dilemma, though, because while I don’t want to reinvent the wheel, I end up with a tractor wheel instead of a bicycle. Wait… What?

It would be awesome if there was one CMS to rule them all, and I know there are a lot that want to be, but I don’t think we’ve seen the end of new CMSs trying to solve new problems, creating new ones.

jmathias

05/12/08 7:17 pm

Agreed, on all counts. Oh that’s a first I think.

Archive, older stuff

Enjoy my stuff? here is more.

2008 Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec

2007 Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec

2006 Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec

2005 Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec

Categories, taxonomy?

I don't need no stinkin' hierarchal organization