Published on May 23, 2006
Many people want a quick overview of MODx. This post provides a historical perspective and small peek at the future.
Do we really need another open source PHP Content Management System?
I think we do. I also think MODx is truly disruptive technology. It's a compelling Content Management Framework that non-hard-core-coders can actually use and understand.
I looked for years for an open source PHP-based CMS that could output exactly what I wanted: really tight, accessible XHTML/CSS layouts. I also wanted a framework for building custom applications that could be deployed on just about any shared server.
Nothing really fit the bill.
So the founding team decided to build it with a few guiding principles:
- Enable it to output super clean code (or table-tag-soup if you wish),
- Make it flexible and let devs work in a way that's comfortable,
- Really listen to and encourage outside input, and
- No YAPS: Yet Another Portal System.
MODx makes it easy to build CSS sites and custom web applications. There's no complex template system to learn, and has a laudable API. Its next release should continue to make it more flexible and simple, and one of the best platform for out of the box Ajax-enhanced, accessible, XHTML/CSS sites.
The Unblog/Anti-YAPS Paradigm Shift
Blogs are big these days. The way I see it, a blog is just another bit of content, usually with commenting attached to the end. It could just as easily be a series of press releases, articles, software downloads, FAQ questions, songs, podcasts or ... you get the point.
I perceive a few problems with most solutions, and others tell me they agree. While there's lots of good blogging platforms, there's some limitations that crop up quickly. It's easy to get stuck with a certain "look" or structure. You're also frequently out of luck if you want to deviate much from blog-site functionality ... unless you want to start hacking away at the core code.
MODx's "unblog" tool is called Ditto: it simply summarizes and serializes other pages found elsewhere on the site. Our commenting tool is another little "snippet" of code, that appends the comments as a child page of the original source. They're both easy to customize and extend.
Similarly, the whole YAPS syndrome is out of control. They're wonderful for your local Quake clan (or whatever the FPS-of-the-moment is), but have fun sorting out a site that doesn't fit into their blocks/channels/portal/"insert lingo here" paradigm.
I'm not the only one that finds these things (and more) questionable; Jeff Veen does a better job of going over the not-so-subtle-nuances of what's broken with so many Open Source CMSes. Are they all fixed in MODx? Heck no, but they're all on the radar and under the knife so to speak. Jeff, I hope we make you proud.
MODx gives you total freedom to build sites like you want, and there's typically 3-4 ways to get to the same end result. It's embraces flexibility and bucks conventional website management software patterns.
Ultimately, it boils down to thinking differently about online problems and our philosophy of embracing flexibility and simplicity.
The Abbreviated History
MODx begain with Raymond Irving and Ryan Thrash in 2004 as a mash-up of John Guerra's DocVars for Etomite and Raymond's web user add-on. We ultimately found ourselves in the position of having to choose between forking the project or abandoning over a thousand hours of work. We chose dinnerware, and Jason Coward joined shortly thereafter.
We wanted MODx to accomplish several goals:
- Help quickly build custom web applications,
- Offer a sensible, robust and extendable API,
- Avoid the tortuous or extended learning curves found in other robust solutions, and
- Work just as well for simple marketing-site CMS applications.
Since its inception, we significantly enhanced MODx's API, recruited great development and support teams, augmented the user system, and rewrote much of the application. Our 1.0 release will launch as a ground-up rewrite from scratch. As of May 2006, Ryan, Jason and Raymond continue to guide MODx. It's approaching the 10th release and 40,000th download.
We think MODx is a dream come true for coders and CSS developers. It's a platform that enables people to make a living from building sites.
So who makes MODx tick?
That's simple: the community.
At any given time, there's 30 or more people actively engaged with MODx's "management". Not all are coders. In fact, many are "MODx Ambassadors". We have 2-3 bilingual users per native language community serving as conduits for non-English speaking users. With quite a few vibrant and growing international communities already, we expect significant growth when we roll out our true i18n/l10n (internationalization/localization) solutions in the near future.
Early on we theorized that by focusing on the Framework aspect of MODx – vs. trying to be a be-all-end-all solution for even novice web users – that we'd attract talented developers. Now it seems there's not a day that goes by that a "normal" user doesn't come out with something that's just plain cool and deserving of inclusion in the core distribution.
What's the ultimate MODx user profile?
Advanced users or designers. Being a serious coder is a major plus. MODx is a killer tool for advanced CSS designers; if you really "get" selectors, the cascade and how to take advantage of the document flow, then MODx should be quick learn for you.
The reason we don't pitch MODx as being the ultimate end-user system is a simple matter of bandwidth. We can't be your total support solution for helping you figure out how to style your navigation system, or teach you how to create databases, or figure out why your $7/month shared server is not working right. This is a purely volunteer effort, by techies for techies for now.
That's not to say we won't get there. But we ask for your patience during the transition.
If you don't quite fit the above profile you're still quite welcome to be an active participant in the MODx Community, but again, please be patient. Start learning a tiny bit of PHP, enough at least to dig through comments in our code snippets to try figure out what those parameters mean. Realize that we really do have end users in mind, but we rely on advanced developers selling services around MODx or on a volunteer basis to provide first-level support.
We have to give our advanced and multi-national users the appropriate tools, before we can dedicate our spare cycles to providing the proper attention a less experienced audience deserves. We want to do it right when the time is right. And we will.
Given that, more than one end user has started out knowing zero PHP and in the course of a few short months used MODx as a learning tool. In fact, several community members that started out as PHP newbies now actively make valuable contributions to the community.
What really makes MODx different?
A combination of many things, including:
- Simple templates – build a page and replace the content parts with some simple tags. No complex template system required, and XHTML/CSS sites are dead simple. Converting existing sites is typically very fast, too, taking 10-15 minutes for a basic template port thanks to our Template Variables (see below) and some helpful and free code Snippets.
- Unlimited hierarchy – it never made sense to me that you can't build sites as deeply-nested as you want in some system. MODx has no such restrictions. QuickEdit front end editing – log into the manger, surf your site, and click the edit buttons that appear when you want to make changes.
- Template Variables (TVs) – you can have as many custom content fields as you want for your site with TVs. They can also have "widgets" attached to them to create things more easily like data grids, select boxes, pop-up lists and so on. (even questionable things like scrolling marquees as well...). This allows developers to turn complex content scenarios into a simple process of filling out an online form for content editors.
- @bindings – this the USP for MODx, and most powerful aspect of the system. It allows you to bind virtually anything as the input source or the default value to TVs. Can be a logic evaluation, an API call, a flat file uploaded to a specific directory on your web server that's then parsed into a data grid, an RSS feed, a file listing in a directory, or pretty much anything you can dream up... combined with the output transformation widgets this is really powerful.
People also talk a lot about the community. I've been a part of other projects that are run by prima dona control freaks that typically wind up with failing communities, or major bad blood – not fun and really frustrating. I try to keep the MODx community fun and actively solicit feedback and outside contribution; there's no not-invented-here syndrome at MODx ... the "community vibe" is pleasantly different according to virtually every person that's migrated from other projects, which is a daily-growing number.
MODx also doesn't force you to splatter "MODx" all over your site, but we certainly would appreciate it! If you want support, just leave some simple, non-obtrusive credit in the back-end manager. We'll gladly support you for free in the community as best we can. We're working on a commercial support program as well, and that'll roll out when the time is right and it's ready.
The Proof is in the Pudding
Most agree that every major CMS has it's look or application that fits really well (YAPS...). We don't really think that's so with MODx, and here's a few sites that have surfaced in the short time MODx has been around:
Music, Media & Lifestyle
- www.thesoundisinmyhead.com – Weekly Podcast site featuring "songs and bands you might have missed".
- www.swellguys.co.za – Online surfing magazine and community.
- kuzkray.sovintel.ru – Russian newspaper site.
- www.davidgold.co.uk – About the man and his rags-to-riches story in Birmingham, England.
Goods & Real Estate
- aquavision.co.uk – Flatscreen bathroom televisions from England destined to be all over upcoming episodes of MTV's Cribs.
- toglobalperks.com – Overseas travel membership club.
- hunder.ca – Canadian clothing company.
- marquisliving.com – Online apartment living community locater incorporating Yahoo Maps API.
- landplan.net – Master community land developer.
Institutions & Organizations
- bryan.edu – 2,168 pages, 108 manager users and 196 web users authenticating to the school's IMAP server. Custom Forms Module that handled more than 840 submissions its first 2 months. Custom Newsletter Module with over 2000 subscribers.
- vet.ohio-state.edu – 1875 pages for the Ohio State University College of Veterinary Medicine with custom student intranet for roughly 150 Seniors authenticating to shibboleth.
- www.ifagesundheit.de – German therapy hospital.
- www.bwhw.de – German educational site.
- girl33.com – Helping women escape the Thai sex industry.
Sports & Politics
- dhbblog.zendezentrale.com – Official European Championship Microsite for the German Handball Federation complete with podcasts.
- www.quebecsolidaire.net – A new political party in the province of Québec.
- www.denkwerkstaette.net – Archive for documents that are written for a congress of the Austrian Department of Work.
Services, Bits & Bytes
- www.thevirtualhandshake.com – Book promotion site featuring a fluid layout, a lightweight wiki snippet, secure Reader's Guide for book owners, and integration with a WordPress blog.
- www.michelez-notaires.com – French legal firm.
- www.aladna.nl – Translation company site in 4 languages.
- greymatterhosting.com – Web hosting.
In Closing ...
MODx is different in a very good way. It's a great platform today, and it's future looks even better. It's fast, easy and flexible, and can empower you to do things you might otherwise have groaned at attempting. Why not join the community and give it a try?
For companies evaluating whether or not a proposed solution based on MODx is a safe bet, I hope a steadily growing community of thousands of users and sites positively attests to that.