Here we are at the dawn of a new week. Today is tuesday (yesterday was an official day off in Belgium, hence the "no article" article...), and we start the second half of our 10-article series over open-source CMSes. Last week, we've been through Joomla!, Drupal, Typo3, DotClear, TextPattern and Plone. This week, we have 5 more platforms to review, and we'll start by MODx.
What's MODx?
According to the description on its website's homepage, « MODx is an open source PHP Application Framework that helps you take control of your online content. It empowers developers and advanced users to give as much control as desired to whomever they desire for day-to-day website content maintenance chores ». Sounds a little fluffy, right? Well, MODx hasn't the most seamless integration, but it’s definitely a step above several of the "click three times to edit a post" offerings out there. After you spent a little time with it, you mind find confusion similarities with the Typo3 engine, although they're two completely different and distinct products.
MODx claims it's an AJAX-powered CMS. To a certain extent, that's very true. There's AJAX everywhere, with a pre-integrated MooTools library in the navigation and in the admin interface, offering a great user experience. But user experience isn't everything.
What's in MODx?
As for the other members of its brotherhood, MODx comes as a single archive to unpack and upload on a PHP/MySQL-enabled web server. It has a very comprehensive installation wizard, that performs all the setup and configuration tasks transparently. It's a matter of filling some fields, clicking here and there, and your site is up and running.
That's a nice way to start up things. Simple and neat, we love when things go that way. And as usual, it's GNU/GPL'ed… Well, you should know the lyrics by now.
MODx isn't as known as WordPress & Co. It's quite a shame to us, since it has a lot of quality features and functionalities that, in some circumstances, outperform the competition. For instance, it has a very complete security model, allowing the administrator to define several user groups, each having its own set of customized roles and permissions. You can also differentiate back-end users from web users: this adds an extra level of control, since web users are only able to log in to the site but not the back-end while back-end users users are able to log in to the back-end too.
MODx adopts a very modular architecture : through the admin interface, you create pieces of contents (pages, weblinks, images and other types of documents managed through the assets manager) that you assemble later within a template. This modular approach gives you an enormous flexibility, but also obliges you to carefully think your content development process. You're not using a blog, here — it's a bit more than "post it and die". Things are a bit more complex, but unfortunately it has its downsides…
To us, the way everything works is mixed (or should we say messed) up. Let's say you want to add a form on a page: you have to create a page, go to the snippets section (which is in Resources > Manage Resources > Snippets; hard to remember the first couple of times), grab the corresponding code and then paste it in the page you created earlier and add a few variables for configuration. Then, you have to go to the annoying meta-tag input step: in the back-end you have a special section where you define the type of meta-tags and their possible values. This means that when you create a new page that needs a new keyword you first have to go add it to the list. Only then will you be able to assign it to the page.
A word about templating, which MODx uses extensively: if you’re familiar with other CMSes 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 us wonder why any CMS would try something different. For example, a typical page template could look like:
[*header*]
<head>
<title>[*sitename*] | [*pagetitle*]</title>
...
</head>
<body>
<div id="main">
<h1>[*pagetitle*]</h1>
[*content*]
</div>
</body>
[*footer*]
Now that's some serious code optimization, don't you think? The tags above are an example of one of the building blocks in MODx, known 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. Associated with a system that lets you drop these variables into templates, you've got a flexible framework to customize your website almost limitlessly. It also means you can lock down which areas are editable, so careless users don’t screw up your lovely design.
On the admin interface side, MODx performs again very well. Although a bit slow, the UI is well designed and easy to navigate, thanks to its AJAX-powered backend engine. Adding content is done by means of a rich-text editor (that has all the usual dodgy mark up problems associated with it, but you can choose from a couple of different RTEs if you don't like the default one — TinyMCE). You can also manage resource and upload files and images which can then be called from within the main editor. The admin interface also gives you some basic web stats so clients can easily measure traffic, even if it won't replace a full web metrics solution like Google Analytics or W3 Counter.
Finally, MODx can be extended with themes and plug-ins, offers a nice AJAX-powered search engine and in-site editing features, has the ability to import and export static HTML, offers a powerful caching mechanism, benefits from a number of useful extensions and is supported by a friendly and active community.
Main Features
- Strong Web Standards Support
- Web 2.0 Features
- PHP Application Framework
- Works in your favorite browser
- Graphical Installer
- Improved Rich Text Editors
- Better handling of aliases and menu indexes
- Robust CSS Menu Builder
- Improved Meta-tag and keywords controls
- Separate Manager and Web User sessions
- Improved Document Parser and Error handling
- Custom Content Types
- Bug fixes and usability tweaks
- HTML content import
Strengths
- AJAX-enabled API with integrated MooTools framework
- Easy-to-use and well-designed admin user interface
- Modular and flexible architecture
- Search-engine friendly
Weaknesses
- Hectic and incoherent editing process
- Messy documentation
- Still buggy
Final thoughts
MODx is not the Holy Grail of the open-source CMSes, but it has nevertheless an impressive set of features. However, because of its clumsy editing process and the runtime errors you could still encounter here and there, we'd recommend that you carefully analyze your needs and spend some time evaluating the platform before moving anything to production. That said, MODx is certainly an interesting contender, and deserves being in our list.
Links
» Download MODx
» MODx website
» MODx extensions
» MODx documentation
» MODx community
13.05.08 |
CMS |
0 |
del.icio.us
Stumble
Digg
Technorati





RSS/Atom























Comments
No comment. Nada, niente, nothing.
Wanna say something?