Software

Book review: MODx Web Development offers a real-world perspective

If you're interested in setting up a basic site using the open source CMS MODx, Justin James recommends reading Packt Publishing's MODx Web Development.

 

One of my favorite applications is the open source CMS MODx. After learning about MODx from a TechRepublic member, I wrote a glowing review of it in October 2006. Despite its high quality, MODx's user base growth has not been as quick as say, Drupal's, and as a result, there are few resources out there for it. Well, that's changed, thanks to Packt Publishing's new title, MODx Web Development by Antano Solar John, which I had the opportunity to read and review. (Read a sample book chapter, which covers authentication and authorization.)

This book provides an excellent introduction for someone who is interested in setting up a basic site using MODx. It also goes into some detail for someone who wants to write PHP code to extend the system. Even though I am already familiar with much of what was covered, I did learn some new things; "snippet" development, in particular, was new to me.

At just under 250 pages (not including the index), the author chose not to go particularly in-depth into any topic and not to replicate reference material that can be found online. Keeping the author's purpose in mind, I think he meets his goals admirably, stumbling only in a few minor spots.

Oddly, its clumsiest chapter is the first one, which introduces MODx. In particular, the author probably should have skipped the discussion of three-tier architecture; it felt out of place and contained a few things that were rather confusing and unnecessary. Chapter 2, which focuses on deployment, skipped a discussion on deploying over FTP, which is the most common deployment method (like it is for all PHP apps). Luckily, this is remedied later on, as Chapter 2 is merely to get you up and running in a demonstration environment.

From there, the book really gains momentum, taking the reader through creating templates, editing content, making use of snippets, chunks, placeholders, and other MODx items, and so on. In fact, my notes for most of the chapters are the same: "very good introduction to this topic!" Chapter 11 is a look at writing your own snippets, which are the heart of providing your own custom MODx functionality. This was one of two chapters where I really wish the author had gone into more detail or possibly provided basic reference material. Chapter 12 felt a bit diluted, and its information on SEO probably should have focused a bit more on the fact that MODx is flexible enough to allow your SEO people to do what they need, rather than try to give actual SEO information, which is always changing. Chapter 13, which was about plug-ins and modules, also could have used some beefing up.

Overall, I think this book is a very good read for someone who is just starting with MODx. It has good material for deployment as well as customization.

This is the second book that I have reviewed from Packt Publishing (the first was on the ADO.NET Entity Framework). Both times, I was struck by the fact that the books were clearly written by people who had to wrestle with the system (as opposed to the person who wrote the system). As a result, the authors did a good job of addressing the common "pain points" that developers would encounter. The authors also did not get bogged down in technical specs that the product documentation could probably give you. I commend Packt Publishing for filling this niche in the technical book world.

J.Ja

Disclosure of Justin's industry affiliations: Justin James has a working arrangement with Microsoft to write an article for MSDN Magazine. He also has a contract with Spiceworks to write product buying guides.

---------------------------------------------------------------------------------------

Get weekly development tips in your inbox Keep your developer skills sharp by signing up for TechRepublic's free Web Developer newsletter, delivered each Tuesday. Automatically subscribe today!

About

Justin James is the Lead Architect for Conigent.

11 comments
chris
chris

Why use a CMS? You're having people who have no idea how to write and organize for the web doing the work. It's a setup for failure. I've seen too many ultra-wordy sites that have crazy navigation everywhere "because" they could. It's kinda like using Smarty. Why have PHP parse something else just to create HTML?

Justin James
Justin James

That's interesting, I never really thought of it that way, but I've seen exactly what you mean. For me, I like CMS's because I know what I am doing in general, and it saves me a ton of time, particularly in terms of changing a site's layout. But you're right, once you hand it off to the non-Web savvy folks, it can quickly become a trainwreck. J.Ja

chris
chris

maybe just limit the number of characters they can actually enter :-) I've been reading "Dont make me think" and he puts out a rule of thumb to take the content, cut it in half, then cut it in half again! We tell our clients, the website is not for you, it's for your customers; What do they want/need?

Justin James
Justin James

Jakon Neilsen says a lot of similar things. Basically, people don't read what's on the screen, they scan. When things get wordy, your customers get lost. Too many clients/bosses want things that make sense to them, but are complete mysteries to a true user or customer. Usability is the "killer feature"; I've seen numbers that show things like a nearly 300% increase in sales after a usability session on a Web site. It's one of the best possibile investments in terms of ROI. J.Ja

Justin James
Justin James

Have you worked with MODx? If so, what are your thoughts on it? J.Ja

OldGuru
OldGuru

A few months ago, I started looking for an open source CMS to create a website. My main criteria were basic functionality (such as good user access control) as well as easy extensibility. After looking around for a couple of weeks, I chose Modx. It provides a framework to build on without restricting what you want to do. You can use what it gives you and easily add what it doesn't. If you are a developer and you need a framework to take care of some donkey work for you while you concentrate on the specific features of your application, then Modx is for you. However, Modx has a serious shortcoming when it comes to its API documentation. It's incomplete and it seems that no significant addition has been made to it for ages.

Wave_Sailor
Wave_Sailor

No but how does it compare to say Drupal?

Justin James
Justin James

I wrote a review of it a few years ago (http://articles.techrepublic.com.com/5100-10878_11-6125372.html). Now, it's been some time since I gave Drupal, Joomla, Mambo, Typo3, WordPress, WebGUI, etc. a run. I know that MODx has not changed significantly over that period of time (a huge new version is coming soon though), which is a good thing in my opinion, since I like it "as is". My general take on it, is that while it has a lighter feater set than many other systems, it is much, MUCH more usable, and that is really important to me. Particularly when working with the templates. It just has a really clean feeling to working with it, there aren't struggles with learning things. J.Ja

Justin James
Justin James

I like that it tells you exactly which directories need what permissions when something isn't 100% right. Reminds me, I need to upgrade to the newest version, it's been on my "To Do" list for some time now. It would also be good if I got around to changing my template up a bit. But on my priority list, my personal Web site with old college papers on it is really on the bottom. J.Ja

OldGuru
OldGuru

Everyone can install it in breeze.

Realvdude
Realvdude

I started up a website using Joomla and have yet to put it in the "users" hands because it is cumbersome to control where publications appear and a tiny bit quirky editing html. From just a quick look at MODx, the organization looks much better. As for why it may not have gained much user base, it's not in Fantastico on either of the hosts I use.