I just went live with my first MODx site at www.contactual.com
I thought my personal post-project review might contain some points of general interest so I’ve included it here.
26-May-06, started project
20-Jul-06, chose MODx
12-Sep-06, went live with new site
After examining the requirements for the new website I felt that basing it on a content management system would be best for my client, so I started the search for an open source CMS that would work for this project. I studied numerous CMSes, and installed and gave test runs to several: Xoops, Drupal, Mambo, Joomla, simpleCMS, and maybe a few others. In all cases I found it difficult or impossible to implement the kinds of navigational and page layout structures I wanted.
Eventually I found Etomite, then shortly thereafter MODx, and the more I studied MODx the more I liked it. So I installed it, gave it a test run, and committed the project to it.
I think that I caught the MODx wave at just the right time -- Shortly after the release of version .9.2.1 and the appearance of a number of snippets that proved essential: Wayfinder, which I use to generate up to six menus on a single page, GetField and FirstChildRedirect being the most important.
There was quite a learning curve with MODx, but each new feature I learned about was useful:
• My main template is in the filesystem rather than the database.
• It uses about 11 template variables.
• The site has gone live with about 150 web pages in use, but I’m up to document ID 380 -- so there’s been a lot of experimentation along the way, and there are some pages waiting in the wings for future expansion.
• We have two Manager user roles ("developer" and "author") and two web user roles ("registered" and "customer").
• We use several snippets written by the MODx community, plus a few that were written for us by a consultant. And I myself wrote my first four PHP scripts ever (as snippets).
• We use about 38 chunks.
• We use a snippet (passGets) that MODx forum member TobyL very kindly wrote in answer to one of my forum questions.
• We use the modules modbak and menuindex.
• And we’re producing rounded rectagles with the JavaScript libararies Ruzee.Borders and CSSQuery.
In MODx, as with any system, some things are easy and fast while other things are slow and hard. For example I love the flexibility and control I get with the template and tag model for building pages, but after two days of study I still can’t figure out the user registration/login/logout system. And as with many open source projects the documentation is spotty (for example, I still have little idea of what Ditto does, or how to use it, despite how prominently it’s featured). Fortunately there was enough to get me started and there’s an excellent forum community -- although it still got slow and arduous as I pushed out of the suburbs and into the rural areas of MODx.
I think that in retrospect the only technical decision that didn’t work out the way I’d hoped was using Ruzee.borders to generate rounded-rectangles and drop shadows. It’s a wonderfully fast way to prototype and experiment with different visual appearances, but with the number of rounded-rects and drop shadows I’m using on the site I’m finding it’s slow to render on Windows, and excruciatingly slow on MacOS -- so we’ll have to replace it with something faster now that we’ve finalized the appearance the client wants.
For what it’s worth, I think that MODx is most appropriate for do-it-yourselfers. These are people who, like home handymen and women, love to roll up their sleeves and do a little bit of everything. If you’re willing to do a little coding in HTML, CSS, PHP, and JavaScript, if you’re willing to copy a snippet and modify it for your needs, then this is a great system that provides a huge and well-constructed playground in which to tinker and build. But it’s definitely not for the point and click crowd. Just my two cents.
Anyway I hope this retrospective is helpful to someone. Thank you to the friendly and supportive MODx team and community for all your help. I look forward to my next project with MODx!