The next level in CMS

Posted by Roan Lavery on Dec 27

For the past year or so I’ve been using Textpattern and I’ve got nothing but good things to say about this Content Management System. It’s come on leaps and bounds since I first started using it, and for blogs and small scale sites it’s ideal. Creating blogs is very simple, the templating system is intuitive and it can even be used for more powerful content management purposes.

So why am I ditching it in favour of something else? Read on.

New Challenges

Choosing a CMS is all about horses for courses. You really need to first of all understand the fundamental requirements of the website, its administrators and the CMS. Some questions to ask might be:

  • Who will be updating the website? One person? An entire department?
  • What is the technical level of the people using the CMS?
  • How big is the website and how much of it needs to be updateable?
  • What does the CMS have to do? Is it manage an entire website or is it just add news stories?
  • What information are we dealing with, and how do the users interact with it?
  • How often will the site be updated?

Only be answering these questions, and more, can you get a good idea for what CMS will suit you.

Most blogs run on a small set of popular “blogging engines”: Wordpress, Textpattern and Movable Type being some of the most common. Use of these CMS doesn’t just stop with blogs though, as they lend themselves easily to News Sections, Articles or Tutorials. For smaller sites, or those that only require updates to news stories or blog posts, blogging engines do an admiral job.

With varying degrees of difficulty, it’s also possible to bend these blogging engines to your will, in order to tackle entire site management and many designers do just this. This is where the problems start however. If you’ve done this yourself, you’ll be familar with the feeling that you’ve hacking a CMS into something it strictly isn’t. It gets the job done but it’s not always pretty.

While it might be possible to manage a large website with numerous sections and data types, with a blogging engine, doing so is neither simple nor advisable. But why do we do it?

The Comfort Zone

The energy and time needed to immerse yourself and understand the inner workings of any CMS is such that it breeds inertia. It took me a good few months, working with Textpattern over a number of projects, before I really began to feel comfortable, and started getting quicker with development.

After that, when a new project came along my instant reaction was to reach for Textpattern, because that’s what I knew best. This is fine in some instances but a content management system should fit the project and not the designer.

It’s a situation that leaves us in a bit of a pickle. Does it mean we take the time to learn a new CMS every few months or is there some other option?

The problems with data

It was after reading a great post by Jeff Croft on Personal Content Management , and the subsequent discussion, that I really got thinking about one of the issues with using blogging engines for content management.

Blogging CMS are designed to do one thing: create blog posts. They’re not there to create flexible and meaningful data structures. You write some content and it becomes an article, even if it was actually a course outline or a directory of staff contacts. It all gets flattened in the wash to become a blog post. Most blogging engines allow us to attach categories to our articles but this can’t accurate describe the many possible forms our data might take. Textpattern takes you a bit further and has the ability to create custom fields, but this is icing and definitely not cake.

While this might not seem like an issue most of the time, it does limit us in terms of what we can do with the information on our websites.

Imagine you’ve got the following company site:

  • Home page
  • News Page
  • Multiple Staff pages (with contact info and photo)
  • Contact Us

It would be relatively straightforward to create this site with Textpattern. The News section fits the blog model fairly well, and all the other “static” pages could be created as posts too, with every staff member having his or her own page.

This might be fine until we wanted to display a page with only staff members from a certain department, or list only the email addresses for all staff, or create a photo gallery of all staff. If it was created as a blog post there’s not a lot you can do with that data later on. It’s a big limitation.

Like I say, go read the Jeff Croft discussion , it sums it up better than I could here.

Size matters

More problems arise when the site grows. Once you start getting hundreds of “static” pages mixed in with blog posts, organisation and management becomes cumbersome in most blogging engines I’ve used. They’re specifically designed to chronologically display lists of articles, perfect for the blogging format but probably not what’s need when dealing with a list of staff pages or products for example. Again most blogging engines do allow some flexibility here, but it’s not their strong point.

I’m not criticizing Textpattern or Wordpress or any other CMS here. They’re brilliant at what they do. If you’re creating a blog or a news section for a website then by all means, use your favourite blogging engine, but if you’re shoe horning it into a situation where it doesn’t belong then stop for a moment and consider the alternatives.

Framework Vs CMS

Ultimately, it seems like we’ve got 2 choices: either find a CMS specifically catered for the needs of the website, or create one from scratch.

If you’re a developer, then it’s probably a no brainer. No out of the box CMS will afford you the flexibility and scalability as something you create specifically for a particular set of requirements. That’s great, if you’re a developer, but I’m not.

Frameworks like Ruby on Rails, CakePHP or Django allow for the rapid development of custom made content managed sites, but they require a level of technical knowledge that many designers, myself included, don’t have.

On the flipside, I don’t particularly want to have to learn a new CMS every time I start a new project. It takes me long enough to learn one, so to find a CMS specifically designed for a particular set of information management requirements and then learn how to use probably isn’t going to be practical.

There’s got to be some middle ground for us designers.

Enter the Content Management Framework

Luckily, it seems a new breed of CMS/Frameworks are emerging that are user friendly enough for designers to use while extensible and powerful enough to develop into some much more powerful.

Expression Engine seems to be getting a lot of good press but the one I’m currently experimenting with is MODx , which describes itself as:

“ a Content Management Framework (“CMF”): equal parts custom web app builder and Content Management System (“CMS”). “

Which is brilliant. Designers get all the out of the box CMS features needed to build comprehensive content managed sites, while developers have an environment to extend the functionality into a custom CMS.

At Net Resources we’ve built one site so far using MODx, and while it wasn’t entirely pain free, we immediately saw the benefits. As designer and project manager, I was able to get on with templating, organising and building a large fully content managed site, and our developers were able to use the framework to do the heavy duty stuff that wasn’t possible out of the box. Backend code is completely separate from front end templates, which meant developers create functions and designers implement them into the front end templates.

I see this as a huge plus, because too often backend programmers are forced into the world of front end design, because designers aren’t comfortable working with PHP or ASP. Problems then arise becomes developers are forced to make design decisions best left to designers. Separating the two means that both parties can concentrate on what they’re good at without intruding into the other’s domain.

Having said all that

In actual fact, I’m working on two projects side by side, one of them with Rails, and the other using ModX. It’ll be a really interesting comparison to see how quickly they can be developed and how easy it is for me to work within them. Perhaps it’ll turn out that using a fully fledged framewook like Rails will be the right choice after all. Maybe I’ll even end up doing some proper programming, but we’ll just have to wait and see.

I’m sure I’ll come back to this, with more thoughts, but in the meantime, I’ll be posting a review of MODx and what my impressions are so far.

9 Comments for The next level in CMS

Tigerblade - 28 December 2006

Funny you should post this now. I’m actually in the process of completely re-writing my custom-written CMS. I’ve written the whole thing from scratch from day one of having my site, and I decided it was finally time for a complete overhaul. I’d thought about using someone else’s CMS, but I prefer the challenge of figuring out how to write my own (with PHP & MySQL).

I will have to check out this MODx for future projects though.

duvien - 29 December 2006

Really enjoyed reading your article. Looking for a CMS to do what you need isn’t an easy task as there are 100s out there to choose from but I was surprise you haven’t given Drupal CMS (www.drupal.org) a test drive since it is a very popular and powerful open source CMS. It’s completely UTF-8 ready, valid XHTML Strict out of the box, some WAI-III complaint themes, clean URL’s, multiple sites with one codebase, multi-lingual, advanced flexible user permissions and roles and customizable workflow, flexible hierarchical and non-hierarchical content organization (multi-categories), XML-RPC built-in, distributed login, advanced (and multiple) template systems and if that isn’t enough, totally extensible through third-party modules.

Many high profile sites like spread Firefox, Mozilla, Twit TV, Onion, MTV UK are using Drupal (i think even Second Life website is powered by Drupal). Isn’t that a good selling point for your clients?

In addition, the new upcoming version – Drupal 5, will include profile installs that is tailored to specfic websites so you can choose which type of site you are aiming to develop, ie, community driven site, ecommerce, news site, music and video site, collaborative and/or user-generated contents website.

I’m currently toying around with Drupal just now and i must say there is a bit of a learning curve, however for such an advanced and flexible CMS i think it is worth the efforts as i beleive it will still be around for years to come with such a strong and dedicated community and developers. I think this is also an important deciding factor – whether a project (ie, ModX, Drupal or whatever CMS of your choice) will still be round in couple of years time? we just don’t have the time to learn every CMS out there.

Looking forward to your next article on comparing ModX with RoR.

thanks,

Roan Lavery - 29 December 2006

I’ve heard really good things about Drupal Du Vien, but like you say, there’s never enough time to try all the CMS that are out there. Sometimes you’ve just got to go with your gut and give one a go, stick with it for a while and see how it handles.

The thing which attracted me to modX specifically was it’s hybrid nature. Part CMS, part framework, so theoretically you should get the best of both worlds. Seems to be working so far.

I’m sure I’ll get round to giving Drupal a go sometime, and I’m sure I’ll be in touch around then ;)

Elliott - 5 January 2007

I have also just recently started with MODx. I don’t know much about PHP or mySQL, but I have found the integration of the two with this package to be really simple so far. I have taken a static, 15 page site, and put it completely into MODx. I have also now easily created a secure members area, a tremendous gallery that uses AJAX, and other things that I am rapidly learning about.

I can say that for a newb with no experience with PHP and mySQL, it hasn’t been completely pain free, but it has given me the chance to see quick results with just the basics that this CMS has to offer.

Great article Roan, and best wishes with your projects for the New Year!

Roan - 5 January 2007

Just out of interest Elliot, what gallery module did you use? I’ve still not tackled one with MODx yet.

Elliott Cross - 8 January 2007

For the gallery on my site:

http://016b4fe.netsolhost.com

I used the MaxiGallery and MaxiSolo snippets. It took a little configuration and some learning, but I have it working so far, but need to integrate an easier posting creator, something like NewsEditor into it. This will allow for easier editing and creating of the gallery pages from the front end. Need more info, just email me and I can send you my configs for those and give you some more info on them of what I have learned.

Taff - 6 February 2007

A great read…I used ModX for my site and found it great. It’s like getting a piece of clay (CMF) thats already formed into a vase (CMS) so if I need a handle I just add a little bit.

Roan Lavery - 6 February 2007

That’s a brilliant analogy Taff. I’ll steal that if you don’t mind ;)

Lee Jorgensen - 13 February 2007

MODx; it’s the future (like Garlic Bread)

FreeAgent sign-up