Like many others, I started working with Content Management Systems when the concept was still being thought out and defined. With painful memories, I remember using b2evolution, Drupal, GeekLog, Joomla, Mambo, Mediawiki, PHP-Nuke, Plone, Serendipity, WordPress, Xoops, and others which do not deserve to be remembered or named.
My requirements are simple. The "System":
- must be able to facilitate expanding skills of developers
- must allow skills to develop organically
- should stay out of the way
- should separate content from structure from style
- should provide a foundation to build upon
- be forward thinking
- never force me to feel as if I need to "start over"
What I found in many of these systems were single-process path solutions, a rigid and sometimes fragile code base, or an overly simplistic means to accomplish a specific task. I found myself spending countless hours trying to discover whether to snip the red wire or blue wire on the "bombs" built into these frameworks as hacking and kludging became the de facto standard. Is it really all that difficult to add Adobe Flash and switch the doctype? And what about the copyright notice, does it really have to stay linked to the developer? After all, it is my content.
Sadly, for many of these systems, the software wasn't the last death rattle - the user communities were. In one situation, they were actually flaming forum posts for help with fights over which Pokemon would make the best... Even worse than the communities were those developers who had a way of hammering the last nail into the coffin of any desire to build a web site.
Finally, a solution
Near the end of 2004, I began to hear of MODX Evolution and decided to give it a try. It didn't take very long until I began to notice how refreshing the system was and continued using it for a number of years. For efficiently building websites I had never used a better thought out or extensive product, but when it came to developing streamlined applications I felt as if I had again begun hitting the exterior walls of an otherwise excellent product.
This became very apparent when a not-for-profit organization asked us to build a social networking platform. Essentially, two years went into the development and made it to 95% completion before the project was scrapped. The purpose of the site was to allow users to add information while allowing others to track, watch, respond, or simply ignore posts. The uniqueness of this platform was geographical and user-defined targeting. The project had been valued at $25 million, though it never saw the light of day.
During the summer of 2008, nearly four years after my initial forays into MODX Evolution, I began using MODX Revolution during its early Alpha 2 days. Even with all of its bugs and rough edges, it was easy to see where this would quickly become a very powerful and effective platform on which to build. I began to notice the object-oriented nature and decided I had better quickly finished my nine degrees and jump head first into OOP programming in PHP. Fortunately, I had previously developed applications with .NET, C, and C++, but quickly discovered it was easy to overthink PHP and even more so - MODX Revolution.
I began to learn xPDO, thereby PDO and decided to rebuild the Social Networking platform under MODX Revolution. Three months later and at 25% of the original code base size, version 2.0 was born. I found I could now create in days, what had previously taken weeks or months.
Much of this discovery process become the primary motivation for, which is essentially geared to take people through the process of learning each aspect of MODX Revolution.
Is MODX Revolution the best platform available? I have no idea.
How I ever needed to find out? Not in the slightest.
To date it is the only platform which meets all of my requirements and the needs of my clients.