MODx Content Management System review

Posted by Roan Lavery on Jan 13

In my previous article I talked briefly about MODx, a relatively new CMS, which I’ve been test driving for the last few months. Now I’ve had the time to use it in anger, I thought I’d review it properly now for anyone interested in this promising content management framework.

MODx content management system

Download and Installation

First port of call will probably be the MODx website. Personally, I don’t think the website does a good job of representing the product, not because of the way it looks, but because of the rather glib attempts at humour and language which give a first impression that the whole thing is a bit of an inside, techy joke.

“MODx is 100% buzzword compliant….It empowers its users to build engaging “Web 2.0” sites today”

Fine if you’re a geek, and get it’s not meant to be totally serious, but not exactly the first impression I’d want for people seriously evaluating my CMS.

From the downloads page you’ll probably notice the version of MODx (currently 0.9.5). The fact that it’s not even hit RC 1 will clearly be a deterrent for some people, and it does have some pretty big downsides that I’ll come to later, but if you’re feeling adventurous then go for it.

Installing MODx is a breeze. Like so many open source CMS, it’s a PHP based app that interfaces with MySQL. Have your database set up, upload the application files and run set up. It should be as simple as that, and in my experience, it was.

Updating is pretty simple too, although it essentially involves re-installing the application, and I’d much prefer a system like Textpattern where you literally just click “Update” at the bottom of the admin interface and it goes off and does it for you automatically. Maybe something for the future.

The building blocks

As I eluded to in a previous article, CMS are all about horses for courses. I’ve used blog engines to create “static sites”, but it always feels like you’re hacking it. MODx is the complete opposite. Creating a static website is a breeze, thanks to the simple templating system. Creating a blog is possible, but it’s a lot less intuitive and it involves a bit more work using Snippets, which I’ll come to later. Like I say, horses for courses.

Overall though, you’ve got a lot of flexibility and power, and this is largely down to the building blocks and how they ineract.

Templating

I know a lot of people who’ve found getting to grips with Textpattern initially difficult due to confusion over Sections, Pages and Forms. Not so with MODx, the language and templating is very intuitive and is without doubt one the systems biggest strengths.

It touts itself as a CMS that

”...makes child’s play of building content managed sites with validating, accessible CSS layouts”

And this is completely true in as much as it’s true for any static HTML/CSS site that you might build.

A standard method for creating a MODx content managed site, would be to design traditional HTML/CSS templates, upload them into the template system, and replace the “content bits” with MODx tags that call content, images or documents.

The following example shows a standard method for dropping page content into a page:

<div id="main">
<h1>[*pagetitle*]</h1>
[*content*] 
</div>

If you’re familiar with other CMS like Textpattern you’ve probably come across this concept of proprietary “tags” placed inside standard HTML templates. It’s such a simple system, and allows for such flexible layouts, that it makes me wonder why any CMS would try something different. I shudder to think about the hoops you have to jump through to customise your site in other content management systems.

Put it this way, if you had completed HTML/CSS templates you could build a 10 page, fully managed, static site in about 5 minutes with MODx. Pretty nifty huh?

Building blocks

The content tags above are an example of one of the building blocks in MODx, know as template variables. Template variables are often just page content but it could also be an image, file or even a database query displaying data on a page. Coupling this with a system that lets you drop them into content templates and instantly you’ve got a flexible framework to customise the CMS almost limitlessly. It also means you can lock down which areas are editable, so careless users don’t screw up your lovely design.

Template variables aren’t the only building block though. You’ve got Chunks, which are essentially reusable blocks of code for things like a footer or banner, and Snippets which are dynamic code designed to extend the functionality of the system.

Snippets are potentially one of the most useful tools for designers as they allow you access to possibly complex functionality that would normally require some programming knowledge. MODx comes out of the box with a bunch of Snippets pre installed or you can download new ones from the Resources Repository on the MODx site. The Ditto snippet is what you’ll need if you want to use MODx as a blog for exmple. If you’ve got PHP skills you can even dive right in and start writing your own.

It’s the attention to detail here that constantly impressed me here.

Take the WayFinder snippet for example, a handy function which creates a dynamic menu based on your site pages. Create a new page and your nav bar automatically updates, even supporting multiple levels of navigation. Obviously a useful function but take a look at the code it produces

<ul>
<li class="active"><a href="/index/">Home</a></li> 
<li><a href="/about/">About</a></li>
<li class="last"><a href="/contact/">Contact</a></li> 
</ul>

First off, it’s nice a semantic list, but check out the <li class="last"> ! Now you might not think that’s a big deal, but how many times do you have to specify a class="last" on a list item. Having a CMS with this level of attention to detail is a breath of fresh air. This is stuff clearly created by web developers who actually do this stuff day in day out.

The user interface

Again, MODx performs very well in this department. Although a bit slow, the UI is well designed and easy to navigate. Adding content is done by means of a Rich Text Editor and that has all the usual dodgy mark up problems associated with it, but you can choose from a couple of different RTEs or remove it altogether. It’s a difficult dilemma to tackle, and one with no perfect solution, but clients will always want a simple means of adding and styling content.

MODx content management system

You can also manage resource and upload files and images which can then be called from within the main editor. The manager even gives you some basic web stats so clients can easily measure traffic.

All in all, it’s pretty client friendly and I haven’t had many problems with them breaking it so far.

Beyond the CMS

MODx does a great job as a full featured CMS, but it’s true potential lies in it’s ability as a application framework. I’ll hold my hand up and admit this is the aspect of MODx that I know least about, but developers can effectively create new applications which run within the MODx interface, and use a flexible API and event model which allow for the system to be expanding in any direction.

In a recent project, our developer had to significantly extend the functionality of the system, in a way that would have been impossible with normal a CMS. In other systems, this functionality would have been separated from the content management, but in MODx everything can be built and managed from the single interface.

I can’t really rate this against other frameworks like Rails, Django or CakePHP, but it worked pretty well for us, although you can expect the teething problems associated with learning any new framework.

Designer and developer working in harmony

In an ideal world, designers and developer should be able to concentrate on what they do best without straying into the others territory. In this respect I found MODx did an admiral job.

Designers are able to create complex, fully content managed sites, whereas developers can concentrate on creating the business logic for the site with snippets and modules, without interfering with the front end. Snippets are abstracted in the MODx interface and can easily be dropped into the necessary site sections. Implementing back-end functionality is so easy that designers can do it, leaving them to make the judgement about how page layout and design should work.

It is this balance between content management system and application framework that is undoubtedly MODx’s USP.

Enough praise, what’s not so good

Interface woes

To be completely honest, MODx is a very promising CMS/framework but it does have its problems, almost all of them related to the immaturity of the product admittedly.

The user interface uses Javascript and AJAX heavily, which allows you to do some pretty cool things like edit pages as you browse with a feature called QuickEdit. This is all very fine and well, but it has the side effect of really slowing down navigation around the management interface. I’m used to zipping about Textpattern adding/editing/deleting at a blistering pace, but the MODx interface is really slow, and using it for any length of time can be frustrating. My recommendation would be to cut back on much of the unnecessary AJAX gimmickry within the manager.

In the version I used, it was also quite buggy. I had to save the same article multiple times before a certain template variable would be saved the way I wanted. There was no apparent reason to this, it just seemed very temperamental. I’m sure these are issues related to the version of the CMS and they’ve probably even been fixed in the latest releases.

Documentation

There’s no nice way of saying this but the documentation for MODx truly sucks. The website gives you the absolute minimum information you need and there’s an even more sparsely populated wiki.

Most people seem to use the forums, and the online community seems very nice and supportive, but they’re a small bunch and seem primarily focused on improving features and pushing development forward rather than documenting what already exists.

Who is it for

If you’re looking for a well documented and supported CMS then MODx probably isn’t for you yet.

If you’re a designer who wants a CMS a step above blogging engines like Wordpress or Textpattern then MODx is certainly worth a look. If you’re involved with larger projects with more complex CMS requirements then MODx has all the flexibility you’ll need.

If you’re a developer looking for a promising PHP application framework, then MODx might be for you too.

If you a small team with both designers and developers looking for a coherent way to build complex, scalable and feature rich sites and then you should definitely check out MODx. The separation of business logic and presentation creates a harmonious relationship between design and back-end, with both parties able to focus on what they do best.

I’m very interested in MODx, I hope the development can keep pushing forward as it could be a real contender in the near future. I’d also hope the developers don’t forget about all the designers out there too, and start putting more effort into documenting the system, as it’s a bit of a barrier for adoption as it stands.

If anyone else has had experience of using MODx, whether your a designer or a developer, I’d love to hear your experiences.

16 Comments for MODx Content Management System review

Elliott - 13 January 2007

Couldn’t have said it better myself. Not knowing much about PHP or mySQL when I started with MODx, I did find some issues with the lack of documentation for the CMS, however, the support through the forums was amazing. Considering this has only been in development for a few years, I think it has come along way, but I do agree that it has more to go.

Definately worth a look if you know some CMS or PHP/mySQL and need a flexible CMS!

Michael G - 25 January 2007

Interesting review and very constructive too.

Looking at the demo, I believe AJAX has been over used! When building AJAX applications, developers need to be a little more careful – use it where it adds value and not just because you can.

All said, it’s a good showcase for AJAX in applications.

Ryan Thrash - 26 January 2007

Great review (and this is coming from the co-founder of the MODx project); I think you nailed it. From my forum signature:

“MODx is ideal for web professionals that need an easy-to-customize application framework. It allows them to turn over sites to end-users for daily maintenance—without worrying. ... We’ll offer a more “newbie-friendly” release and author better documentation in the future. Our immediate focus is on core improvements.”

MODx is definitely targeted more at folks with some coding experience. There is a learning curve, mostly though I’ve found that to be un-learning ingrained idiosyncrasies from experiences with a more “think inside this box in this very specific way” mentality found in so many open source projects. In MODx there’s multiple ways to solve pretty much any challenge. Being able to extend or change how things work is just baked into MODx.

There’s a ton of changes coming under the hood and our manager is simply currently lipstick on a pig. :) We’re definitely open to assistance on this front, so if anyone is looking to really make a mark on a project, this is a great opportunity. One of the things we always try to do is incorporate feedback even from newcomers, and we won’t hesitate to include contributions or new ideas from “non-team members”. I really think we have a great community, and it’s growing like crazy.

The coming totally rewritten core will make MODx and even more flexible system, lighter and infinitely more robust (and it won’t break your site). Think MODx’s current front-end benefits on top of a robust core that should make even the geekiest of us all smile. Enterprise-level stuff without forcing it front-and-center when it’s not needed.

Clients universally (it seems) love QuickEdit, but in developing sites, I never seem to use it. They’ve never mentioned speed issues, but then again they’re not in the biz so to speak. ;) With that said, though, Quick Edit is due a major overhaul, and it too is part of that “coming soon” bit.

And with that, enough from me. Thanks again for a great, insightful and honest evaluation. :) Please stop by the forums and help us fix our broken bits. :D

Roan Lavery - 27 January 2007

Thanks for popping by Ryan, and I hope you take my comments in the constructive manner they’re intended.

I really think you guys have done a brilliant job with MODx so far, and I’ve no doubt that it’ll be a real contender within the CMS market in the future.

I pitched for the redesign of a large corporate website yesterday, and I think MODx might have clinched it, as the clients were very impressed by its flexible nature (and QuickEdit yes!).

Incidentally, I’ve been lurking on the forums for a while now, but I’ll start being a bit more of an active participant.

pprod - 27 January 2007

Great review. I just made my first simple site with Modx a month ago.
I have to say, it was very difficult to understand what was going on at first. I still don’t understand a lot of features and how to use them.
But once you get the hang of it, Modx is really great especially with the flexibility of its template system.

I have to say, they really need to do something about the documentation.
Just not enough, almost none for newcomers level, about Modx itself and snippets and plugins, etc.

Off topic: Somehow i think your gray background and white characters are very difficult for the eyes. It looks great at first, but my eyes get tired really quickly and can’t seem to focus.

Lee Jorgensen - 13 February 2007

I stumbled on MODx whilst looking for a totally customisable with templates that I’d designed. What made me go with MODx above the Mambos and Joomlas was the ease of customisation and integration with standards based designs. Yes, there’s a pretty steep learning curve with MODx and the documentation is pretty poor, but the forums are particularly useful and well attended by a very helpful bunch of core developers and MODx practitioners. I have asked quite a few newbie type questions and have had a very good response rate. There’s a very enthusiastic and knowledegable community behind MODx that really WANT this system to take off and will try to answer even the most basic questions.

Roan – your review is pretty much spot-on. Good job!

Dave Saunders - 23 February 2007

hey roan, i’ve used modX a bit now too, also managed to get a few guys in the office checking out. i have to say i’ve pretty much had the same experience with it as you. it ticks all the boxes for me, just it ticks some a bit better than others. I think i’ve pretty much made my decision that its my cms of choice for whenever i do any stuff outside of work. this was the last site i made with it; http://www.bluechiphospitality.com

incidentally that was the first time i got to use its ‘import static site’ feature, which probably saved me about 10 hours of copying and pasting, sweet :)

and yes, the documentation is a bit sucky, lets hope they build on that. see you in the forums!

Roan Lavery - 24 February 2007

Small world Dave!

I’m still using a mixture of Textpattern for the smaller jobs, and MODx for bigger things, but I still wonder how MODx would cope with an “enterprise level” site. I’ve not seen many examples around.

Still not tried the import static site feature yet, but I will have to import a massive db based site some time soon, so that should be fun.

Alex - 28 February 2007

We are using Modx to buid enterprise level, multi-thousand document trees, driving html or flash sites via xml.It’s behaves as expected, won’t crash, won’t fail, and the minor problems we had were resolved with a bit of ingenuity. Plus, the clients are cheering in amazement :)

roan - 1 March 2007

That’s very interesting Alex.

I may well pick your brains about some things if you don’t mind :)

justin - 14 March 2007

Modx looks slick, perhaps a bit too much. However it does draw interest.

offtopic 2
yes, the light grey text on darker grey background = a site to sore eyes.

That kind of color contrast is good for stuff that you arent really reading.. there’s a funny reason why books are printed black on white :)

Dragan - 4 April 2007

modx is seriously the thing I was looking for all the time, but couldn’t find anywhere. No overwhelming restrictions and thinking in rigid “boxes” re: templates. I love the interface, and – to me especially important: I can insert PHP whenever and however I want, via snippets.

It’s true that the documentation is not all that it could be. I wish there were more examples to show you some real-life situations, where it says: “so you’d like to build __, then you’d ideally use TVs here, chunks there and …”.

Seeing how template variables, chunks etc. all interact can be a bit confusing at first. But once you figure it out, it’s a breeze.

I’ve built a multi-language site with automatic navigation (linking directly to the parallel language page) in no time. Other, rather special stuff that the client needed I wrote in PHP and just inserted via snippets that accept parameters. The designer is happy with it, and it’s all nicely separated.

So, to cut a long story short: I’m quite happy with modx, and the fact it’s not yet v. 1.0 doesn’t bother me one bit. The quick edit feature is a very nice touch that doesn’t stop to amaze clients who see it for the first time :)

ionworx web design - 24 January 2008

MODx is superb. I don’t use anything else these days; it allows me to get on with the design work safe in the knowledge that the backend is reliable and easy to customise for ease of use by my clients.

Joomla is more reliable platform - 4 March 2008

1.5 is the next step in a mature cms. Not a ongoing development cms. The forum is ok – but very much a click and a cms snob club. Try and find an addon with ease. Joomla has so many more.
I’m sticking with Joomla.

Rob J - 22 March 2008

OK I tried it after all the hype.

It is in my opinion not ready in anyway for the masses and never will be.

I think I could put it best like this, arrogance!

“We got the best product and you don’t get it.” Does not bode well for this project.

The documentation even a couple years out is the most sorry thing I have ever seen. I picked up the use of oscommerce and PHP faster than reading through the documentation from “hell” that this program has become.

If you are a newbie to Modx just don’t bother. It is an elitist group of script kiddies with zero communication skills.

Don’t believe me, then just follow along with the only “beginners guide” till you get to the part of the first snippet and watch the arrogance kick in to full gear!

If your on someones payroll and can have unlimited time to screw off, then by all means go for it.

Otherwise you can build up a CMS in Mambo and be done in 2 hours.
Sad to say but way to true.

Someone in charge of this project needs to get their head out of their ass!

Roan - 23 March 2008

Thanks for giving your opinion Rob, but I have to disagree with your point of view.

I’ve never encountered any arrogance from the MODx community at all. Yes, the documentation is poor, and it’s definitely not for people who don’t have some decent development experience but it’s an incredibly powerful and flexible system when you master it.

You might not want to commit that amount of time, and take an easier option, and I completely understand that, but MODx is simply capable of so much more than Mambo, or Joomla for that matter.

But it’s not for everyone. That’s not arrogance, it’s simply finding the CMS that’s right for you.

FreeAgent sign-up