You can engage with MODx as deeply as you wish. For the novice, MODx provides most of the features you are likely to need for an ambitious website, or it will read an existing website and convert it to a useable MODx site within a few clicks. As an intermediate beginner MODx will clarify how code works, free you from template dependency and make you feel more adventurous, as you understand more you will realise the power that it puts at your fingertips. Experienced website developers can use MODx to move to a level beyond the need for a CMS at all, and use it as the core for their own code. If you are that well experienced then most likely you will already be using it.
The code of MODx has a degree of elegance that marks it out as something special almost the moment that you start delving into it. For a start, designers wont feel like the whole thing was written with programming in mind, it is possible to get complete access to just the aesthetic elements of the site, without messing up any serious functionality. No standards have been compromised to get MODx’s functionality working, so the designer won’t be forced to tweak code at all. Coders seem to appreciate the way that functional elements can be altered or replaced within MODx discretely, without having a knock on effect to the rest of the site. The users have been considered too, all of them, whether developer, designer, content editor, administrator, moderator or just web user. MODx has a back-end that can be completely customised with as many levels of access as you wish, it also has a front-end editor for back-end users with the same access levels, and of course it has front-end that can be configured with permissions for moderation and any level of memberships, etc. This means you can develop an entire website for someone using the full back-end control, hand it over to the client with a less intimidating, fully customised back-end complete with an even more simplified back-end for the less knowledgeable administrative staff who administer the site. Meanwhile the site’s moderators can be given front-end editing permissions, trusted users can be given a bit less control, while the entire site can be viewed by members, unregistered guests can be limited to specified content – or indeed any scheme that you can imagine.
The interface of MODx is entirely browser based, including the initial installation (once it has been uploaded to the server), which is scripted very well with feedback and is well documented. MODx can be installed on even modest shared hosting services where it works well, but of course a dedicated server is always best for high traffic and future upgradeability.
MODx can automaticaly generate easy to configure friendly URLs for Search Engine Optimization (SEO) and has the option to generate Strict SEO URLs. Whatever you need to achieve for your website can probably be achieved by using the plug-in system provided with a basic installation, There are a growing number of third party plug-ins that have been written for MODx, 563 to be precise, many of these are for fairly obscure purposes because the core plug-ins serve most needs, it is also quite straightforward to write your own from existing code used widely on the web.
The following is an incomplete list of some of the capabilities of the basic plug-ins:
- Scriptable css menus from unordered lists, hover zones, accordions etc.
- Automatic menu compilation.
- Rich text editors, TinyMCE, FCKeditor, Textile, Markdown and widgEditors.
- Image management.
- Generation of custom content types such as XML, PDF, Excel or Word documents.
- RSS feeds.
- File management.
The greatest strength of MODx is that you can easily create a new variable for any purpose whatsoever, assign it a MySQL table and use PHP to reference that variable and process it in any way you choose, this means that you could potentially have a different page style for every surname that visits, or pull a relevant twitter feed for every 15th word that someone types in.
As you might be able to gather by now, I am a convert to MODx after many years of experience of the more popular CMS scripts, which, even though I no longer use them, have left a legacy of expecting a CMS to need to be hacked. MODx is the antidote to all that, it allows you to concentrate on the look, feel and functionality of your site, not the tool you use to build it. If I had to make one criticism of MODx it would be with the official documentation, it is sketchy for the beginner, though it gets a little better for developers, but poor documentation is a common problem with most open source applications, it seems that most effort goes into the code, while the documentation suffers, but MODx is not the worst offender by any means. The saving grace with the lack of documentation is that MODx is really well supported by a friendly responsive users forum and many other dedicated websites.
If you haven’t yet heard of MODx, try it out for yourself and you will understand why its popularity is fast growing amongst serious web developers.
MODx is free open source software licensed under the GPL, it does not display any advertising. MODx can be downloaded from the projects website at:
A bit of history
The MODx CMS project began in 2004 as a mashup of DocVars for Etomite and a web user add-on under Raymond Irving and Ryan Thrash.
In 2005 MODx became a fork of Etomite under Raymond Irving and Jason Coward. In 2007, Raymond Irving left the project.
In 2008 Shaun McCormick joined the project leadership team and MODx users created a new logo and branding for the project.
Two versions of MODx exist as of the 4th of September 2009:
The widely distributed 'MODx Evolution 1.0.0' released on: July 31st, 2009
A beta version of the new 'MODx Revolution 2.0.0-beta-3' dated: July 23rd, 2009, which uses new core code.
The release version of 'MODx Revolution 2.0.0-RC-1' is expected to be in late summer 2009.
Supported Operating Systems
- Linux x86, x86-64
- Mac OS X
- Windows XP, Server
Supported Web Servers
- Apache 1.3.x - 2.2.x (uses htaccess for Friendly URLs by default)
- IIS 6.0
- 4.3.11 and above
- Required extensions:
- mod_rewrite (for friendly URLs/.htaccess)
- GD lib (required for captcha and file browser)
- Freetype (required for captcha)
- Safe_mode off
- Register_globals off
- Memory_limit 32MB or more
MySQL Database Requirements
- MySQL 4.1.20 or newer, with the following permissions:
- SELECT, INSERT, UPDATE, DELETE are required for normal operation.
- CREATE, ALTER, INDEX, DROP are required for installation/upgrades and potentially for various add-ons (DROP may not actually be required for upgrades, but it potentially could be used)
- CREATE DATABASE will allow new installs to create the database for you with the proper charset/collation.
- CREATE TEMPORARY TABLES may be used my some 3rd party add-ons
- excludes version 5.0.51
- InnoDB storage engine
- MyISAM storage engine
Supported Browsers for System Management
- Microsoft Internet Explorer 7 and above
- Mozilla Firefox 3.0 and above
- Apple Safari 3.1.2 and above
Thanks to revolution
for further reading ideas.