It is no secret that there are dozens of options when choosing a Content Management System (CMS) to build your website with. Wordpress has garnered the most attention and user adoption for its convenience for both rookie web designers and seasoned developers looking to scale up websites under short project deadlines. There are, of course, advantages and disadvantages to every CMS on the market. Here's why we love developing using MODX...
1. We're looking for ultimate control
MODX comes as a blank canvas. You don't have to undo any features you don't like, and you build from the ground up almost every piece of functionality. Both MODX and Wordpress have third-party plugins (both free and paid of course), however, for the most part with MODX, you are left to design everything yourself. Every website project we develop is a point of pride because of this fact. Our designers run into problems and bugs like any developers do, however, we are quicker to solve these bugs (of our own making of course - they are no fault of MODX) because we have personally hand-coded each project at every step of the development process.
We're not looking for convenience (all though that helps of course), we are simply looking for ultimate customization. MODX gives us just enough structure to reinforce best coding practices, while not too much to make it difficult to make your vision become a reality. As a company looking to define and differentiate itself with a unique customer proposition, we needed a CMS that allows us the same amount of flexibility. We don't want to approach the web design business in the same way everyone else is, and MODX gives us the freedom to do that.
2. Sometimes being popular sucks
Wordpress can be congratulated for the widespread adoption of its CMS across a large cross-section of the market. They have done a great job of making their platform convenient, accessible, and user-friendly. As far as security goes, this becomes a problem. On a past project working for a restaurant client, after launching our finished product for the client, we set up a quick and dirty email notification system to let us know about any 404 errors when visitors tried to access pages that were not found. This was of course thanks to the Notify404 plugin, developed by Mark Hamstra (markhamstra.com ).
What we found was that we would get hundreds of these email notifications every single day, all because of a small sub-set of URLs that users were trying to access unsuccessfully. It quickly became clear that this was the work of bots trolling the internet for vulnerable Wordpress sites because the one URL that dominated these 404 error notifications was
../wp-login.php which we didn't have because, again, we don't use Wordpress. It was evident that if we had a Wordpress site for this client, and had we not done a perfect job with shoring up security for their site, we would have been vulnerable to a hack - something no client or developer wants to deal with.
Just as with the Mac vs PC debate, you'll often find fewer security problems with Macs, simply because they are not as widely-adopted as PCs, thus the majority of hackers flock to PC programming for their nefarious activities because it is more likely that their victim uses a PC rather than a Mac. In the end, even if Wordpress continues forever to be the most widely-adopted CMS on the market, we'll continue to use MODX for that same reason - hackers bug somebody else, we're busy at the moment.
3. With great customization, comes great responsibility
Of course, in a highly customizable environment, being able to manage the constantly changing path structure of each project is endlessly cumbersome. Though it seems like a daunting proposition, MODX yet again comes through for us courtesy of Sterc (sterc.com ) and their SEOTab plugin. The fantastic thing about this plugin is that once installed, you can change the directory structure all you like; move containers around, put resources into and take resources out of collections, and SEOTab takes notice. SEOTab keeps track of past URLs and automatically creates 301 redirects for each one, so even if a user clicks on an old link to a file that has been moved, the user always gets redirected to the current URL for that resource.
The majority of our client base comes to our company because we don't try to fit their brand in a box. We as a company can only truly match a brand up with a stunning website if our CMS allows us ultimate control. As experienced programmers, knowledge barriers don't bother us, so MODX perfectly fits within our skillset.
4. We love being inspired by amazing programmers
The MODX platform has an inspiring base of developers, and it would be incredibly hard to talk about MODX without mentioning at least a few. Admittedly, there are way more than I could mention in my blog, but the ones I come across that inspire some of the work we do here at Keddy & Associates are going to find themselves being mentioned here at some point or another. When I first started developing with MODX, I found that there were only a few resources out there that truly do a great job of helping novice developers. In this case, quality prevails over quantity, because you probably only need one or two. This brings me to two stand-out champions of helping novice MODX developers succeed: Bob Ray (bobsguides.com ) and Susan Ottwell (sottwell.com ). Both these MODX veterans have developed expansive knowledgebases for novice MODX developers to tap into, and exemplify why MODX is so easy to use - because the MODX community makes it easy.
If you're looking to try your hand at developing a website using MODX, it's hard not to recommend Bob Ray's "MODX: The Official Guide" (bobsguides.com). It is what every one of our designers used to familiarize themselves with MODX, and it is an invaluable tool when first starting out using MODX. The MODX website is great, but it has it's limitations as far as conveying complex concepts to novice developers, and that's where this guide shines.
5. Don't reinvent the wheel
MODX makes compartmentalization and templating very simple. Have a page structure that is always the same? That's a Template. Use a piece of HTML over and over again throughout your website? That's a Chunk. Constantly using the same PHP code to process a piece of data? That's a Snippet. Background processes? That's where Plugins come in. Everything else you create in MODX is essentially just derivations of those core object structures. It just all makes a lot of sense.