Interview with Shaun McCormick (aka splittingred) – MODx Foundation & Lead UI Developer
In this first of a series of interviews on the Coding Pad, I talked to Shaun McCormick, MODx Foundation and Lead UI Developer.
Hi, I work for Collabpad, the company behind MODx, and work from home in Austin, Texas (the best city in the US). I love my wife Jamie, Jesus, playing any instrument I can get my hands on, audio recording, chess, poker, my church Hope in the City, and fruit snacks. I am also always up for a good game of basketball, even though I will usually lose. Did I mention I love fruit snacks? 🙂
2. What is your development background? When did you start programming, what languages have you worked with?
3. How did you get involved with the MODx project? Have you worked with other CMS/F projects before?
I got involved with MODx after using it at the College of Education at UT to deploy their main website. I had evaluated all of the major CMS systems, and found MODx to simply be the most flexible, extensible system out of all of them. Knowing that the college was going to want a lot of customizations, MODx was an easy choice. From there, I felt I could contribute to MODx development, and from there got involved with the project by bugging Ryan and Jason for commit access to fix bugs. Tackling MODx’s FlySpray (the bugtracker at the time) became a bit of a hobby, and the MODx crew invited me on after that.
Soon after that I got further involved by working with Jason on xPDO and 0.9.7 – or what would become MODx Revolution 2.0. I proposed redoing the admin UI, and incorporating ExtJS to enhance the usability. I soon after left UT and was hired by Collabpad. Since then, I’ve had a blast doing all kinds of xPDO/MODx work, and particularly enjoy working on community developer involvement, writing the official documentation, the Package Management system for Revo, and a pet project of mine: Discuss, a native forum for Revolution.
4. What do you see as the strenghts of MODx on its own and when compared to other CMS/Fs?
Flexibility combined with outright power. MODx’s fundamentals far outshine any of the rest, especially now with the xPDO core in Revolution. I also think most people vastly underestimate the power of Template Variables until they get more familiar with MODx. They simply rock. Plus, for me, the idea of Chunks and Snippets made sense once I familiarized myself with the terminology – it felt more like true MVC for a CMS than other solutions have offered.
The tree-based navigation on the left was a big selling point for me. And templating where I could just plug in HTML and CSS…why other CMS’s hadn’t figured that one out yet boggled me.
5. MODx has often been considered as being not beginner-friendly because it’s not as plug-and-play as other CMSs. Do you agree? Do you view this as a strength or a weakness or both?
I think it depends on what you mean by “plug-and-play”. It’s not a one-stop shop like Joomla or Drupal; however, it offers far more flexibility and ease of use if you want to create a simple non-blog site, such as a marketing site. Customization is far easier in MODx – simple “templated” solutions are easier on other systems. Those type of people – ones who want to install a CMS and barely do any customizing – are not MODx’s target audience.
To answer your question, it’s a strength and/or a weakness. It just depends on who you are to properly define which.
6. One of the other things that I have noticed turns people away from MODx as compared to other systems is the complaint about the documentation not being enough, cohesive, user friendly, etc., even though this is improving immensely with Revolution. How can the community help in this respect, especially as we move to having two branches, Evo and Revo?
Well, glad to hear you ask. 🙂 People can definitely contribute to the documentation – just write some! Put it on your blog. Post it on the forums. If we find a blob of documentation helpful and accurate, odds are we’ll send you a CLA form and get it into the official docs. Also, documenting 3rd Party Addons is sorely needed; usually we choose official documentors from people who’ve been documenting 3rd Party stuff first. We restrict access to the official Revo/Evo docs just to make sure that we get correct information in there (especially since Revo offers inline help within the CMF, that connects to Confluence directly).
Confluence, our documentation wiki, will make documenting quite easy. We’ve already got it pretty built out. We’ve also added a Space for Addons, so that we can finally have all the 3rd Party documentation in one place.
The API docs, such as at api.modxcms.com, will be updated with every release (for Revolution).
7. What do you see as the important and exciting things that the MODx community has to look forward to? What’s coming?
Revolution, I think, will be a groundbreaker for MODx. Developing custom content management-based applications is ridiculously simple in it. xPDO’s DB abstraction layer is powerful and simple to learn; easier, in my opinion, than CodeIgniter or Symfony. The Package Management tool will eventually allow developers to host their own “Providers” – or code repositories – that people can connect to and download plugins from.
You can drag/drop Elements and Resources straight into fields and content. You can drag/drop the navigation tree to rearrange things. You can edit files straight from the Files tree. You can do file-based Resources. You can define custom content types. Inline help from within the manager.
Contexts will allow you to host an infinite number of sites and subsites from one MODx install, or do internationalization with proper URLs fairly easy. Web services can be deployed via a custom context. So can anything else, really. We’ve barely even figured out what all can be done with Contexts.
Property Sets will allow you to quickly change tag calls across a site from one, organized place. The ABAC security model, once we get it tightened and documented, will offer a level of security for the core system (and usable in add-ons) that is unprecedented in CMS/F’s currently. Lexicons will allow easy translations for any MODx release or component. Custom settings will allow you endless flexibility, along with Context and User specific settings.
8. I think for many people who are just getting into MODx, there’s the inevitable question – Revolution or Evolution? Is it worth it for someone to start learning Evo or should they just dig into Revo?
Revolution is in beta, albeit the last beta. RC1, we hope, will be available by early Spring (finances and community involvement dependent, of course). That said, Revolution is still in beta, but it’s pretty stable. The front-end of Revolution has been stable for months now. The back-end has some UI tweaks to do, and a few legacy browser bugs, but it’s definitely usable.
If you are needing a simple site, choose Evolution for now, and upgrade later. If you want to leverage some of Revolution’s new features, and don’t mind getting your hands a bit dirty doing so, check out Revolution. Just remember Revolution is in beta. Simple as that.
9. Will Evolution continue to be fully supported and developed once Revo becomes GA? Or is 1.0.2 the last of the Evo branch?
It will be supported, yes; new features, however, will be few and far between. The core team will be focusing work on Revolution. The community can always contribute to Evolution, should it so choose.
10. If you could give one piece of advice to someone who is just starting out with MODx, what would it be?
Read the docs and know that learning any system takes time. Oh, and remember that it’s Open Source. Which means you get what you give. 🙂
Many thanks to Shaun for making the time out of your busy schedule to answer some questions for us and to share your knowledge, and thank you for the work you do on MODx. You can find Shaun at the MODx forums under the username splittingred, see some of the MODx screencasts he’s made on Vimeo, and follow him on Twitter.
Look for some more interesting interviews in the coming days.