Don't Skip This
I'm sure ModX fans will not like this. That's fine, but don't get mad. Get even. Let me know why I'm wrong! Let other users know why I'm wrong. Give us the reasoning behind ModX or what I missed that would have avoided or overcome the obstacles I encountered.
I'm approaching this "cold" and may have missed the obvious. This is a newbie's first look at ModX Revolution. Though I tested ModX Evolution at the 0.9 version, I'm not coming to ModX Revolution as a ModX Evolution user.
The CMS Survey Experiment
I have a couple of projects on the table and it's been a while since I've really gotten out and tried a bunch of CMS and feel a little stuck in the Drupal/Wordpress rut.
I ended up in that rut after testing about 20 CMS some years back and just finding those the best fit for my needs. But the field has advanced a lot. Joomla 1.5 and ModX Revolution are ground-up rewrites of the CMS that I evaluated. Others like SilverStripe didn't exist at all, or at least only very quietly.
I have a couple of projects that need very simple interfaces for hurried, harried and non-techy people to make content updates. My default choice would likely be Wordpress, or possibly to gut and streamline the Drupal interface. I decided to resurvey the landscape.
My first test is ModX Revolution. I've already got Joomla, Concrete5, SilverStripe, SEOToaster and CMS Made Simple in the pipeline. I'm open to other suggestions. The emphasis should be on systems that are easy to run for the target audience I just mentioned and are easy to theme. These sites will not require heavy lifting of custom modules. For that I'd likely stick with Drupal for the foreseeable future.
On to the ModX 2.0 Revolution Test
Anyway, my first test is the beta release of ModX 2.0, code name Revolution, and currently in beta release.
The brief version: Oh my! I can't imagine my target audience ever being able to maintain content using this. Yes, it's beta software, but what I see is not encouraging. To me, this should still be a SVN/CVS distro only. Still the basic form is there, it's beta 5 and as I understand it, RC1 will be out soon.
It makes me feel guilty and kind of slimy to say that about an open source project where developers are pouring their heart and soul into it out of devotion to the community, but this so didn't do it for me.
My test went like this:
Revolution turns out to be pretty restrictive in terms of system requirements. For example, refused to install on the most recent version of WAMP server which is still on client MySQL API 5.0.51a. No go. Okay, so first I have to upgrade MySQL on my test machine. If having tight requirements speeds development, reduces the code base and makes the final product more stable and secure, I'm okay with it. Trying to be everything to everyone and install everywhere leads to incredible bloat.
After that glitch, the install goes smoothly
The admin interface
To me, this design decision alone tells me that this CMS was not designed with usability and accesibility in mind.
For example, I've apparently got a couple of problems with my install and I'm on a page giving me a list of things to fix. Some are obvious (my config file is still writeable) and some are obscure and inscrutable, but seem to indicate that I have yet to publish custom 404 and 403 pages. For one itme, it says to go to System -> System Settings. What I would normally do is keep the status report page open and open the settings page in a new tab. I can't do that because of the JS links.
Now I get to the settings page and it's a dizzying array of settings (85 of them), some with helpful names like "request_param_alias" which is set to "q". Is that good? Since all of these settings don't fit on one page (you can only show 50 at a time), I have to page through them. Of course, since these are fancy schmancy AJAXy links, they page through the settings without changing the URL and, again, I can't have the entire list open in two separate tabs. That in turn means that I must use the Back button, look at the instructions again and find out which parameter it was that I was supposed to change, copy and paste those instructions to a text editor outside of ModX and then coming back to this page and then paging through the settings list.
Again, I'm really getting the feeling that this is not designed with usability in mind.
How do I change the settings?
So anyway, now I've copied and pasted the messages about my config problems into a text editor and gone to the System ->System Settings page where I was told to go in order to change the settings and fix the problems. I see the settings, but supposedly I can *change* them here, or so the alert said. But I can't figure out how to change anything.
Adding a New Page (and Jargon Gone Wild)
Okay, get over it. It's beta software. Not everything will be perfect. Let's just forget the messages and try to do something. Looking at the admin toolbar, I see
Hmmm... I was hoping to add a test page and check out the content add interface. I have no idea which one of those would do such a thing. How will my users figure this out?
I was expecting a "New Page" or "Create Page" link, but let's try "Site", since I do want to add something to the site. Not too bad - New Document is under there. Of course so is New Weblink (which I would expect to be part of each and every page) and New Symlink (which I would expect to only be able to do via the Unix shell) and New Static Resource ("Create a new file-based Static Resource").
I have no clue what any of these might be. Can I hide those from my users? I don't want them to be able to create a new symlink. Whatever that is in the ModX world, if it is analagous to the Unix symlink, it sounds like a management and duplicate content nightmare in the making.
New Static Resource. What do you suppose a "file-based static resource" is? An image? Hmmmm...
I'm feeling at this point that I'm just so deeply into geekdom and jargon that I'm just lost and I'm a geek who knows a fair bit of jargon. On their homepage, they disparage other CMS as being difficult to use due to confusing terminology, but I'm utterly confused.
Alright, let's forget that. Let's just make the damn page. So I click on New Document. But wait, I'm being asked for Resource Alias, Parent Resource, Resource Content and more. I sure am glad they don't use any geeky confusing terms like "node", but what exactly is a resource and how does it relate to the document I'm supposed to be creating?
I also get to set link attributes (rel=X) right from the page entry screen. Again, mostly I want to get rid of those fields for everyone but the siteadmin before some helpful users go in and noindex every page. Certainly I don't want non-developers adding link attributes. I'm assuming there's a way to do this, but I don't know ModX well enough to find it.
And why isn't the "Resource Alias" just called "URL for this page"? or "Web address for this page"? Better yet, do it like Wordpress and just show it right at the top with an "edit" button. I don't even know what they call it in WP because I don't need to. (Okay, it's called a post slug, but really, I have no reason to know that; drupal calls it a "URL alias" and puts it at the bottom by default, though you can easily put it at the top if you want average users to have access to it like in WP).
Now I want to open the home page and see it. Of course, I have to leave the edit page, rather than opening home in a new tab, because even the Home link is JS only.
I open the Home Page and it's a plain text version of my "Resource Content". I guess there is as yet no default template in the beta package. I'm not actually that worried about it, because I don't think the templating system will change much and the templating system in ModX Evolution is very easy to use and one of the CMS strengths. I just wish the beta came packaged with a default.
Add a new user
Last thing. I want to check out user management before I quit. So I go to User and there are only two choices
Hmmm.... It must allow multiple users. A bit of searching and I find it under Security. Really? Adding a user is under Security?
Permissions - a bright spot
Okay, now I see the first thing that I really like. I can create Resource Groups and then I can create Roles and I can create User Groups that consist of sets of users and roles. Then I can assign access controls, give various user groups access to various user groups in either the manager or web context (I assume that means, WRT pages, edit and view privileges or some such). This is considerably more than you get with Wordpress and quite different than you get with Drupal out of the box. I don't think you could say Drupal or ModX is more powerful than the other, because they work in very different ways. Some Drupal functionality is missing, but some functionality that you can only get with add-on modules in Drupal is built in here. I also have the feeling that the ModX permission system is a fair bit more powerful than I saw in my brief look, but it would fit most of my foreseeable needs.
The one thing I like better about the way Drupal does permissions, is it's very simple to turn off permissions for certain modules and, if they control content entry fields (thinking again of the "Link Attributes" field here), those fields will disappear from the edit screen, which is essential for dumbing down the interface enough for less patient/knowledgeable users.
I've seen what I need to see
In sum, there are a couple of nice features, but I'm frustrated with basic usability issues and I mostly don't see any killer feature that would get me to switch. So no ModX in my future I think.
Again, please chime in with
- reasons I'm wrong about ModX Revolution (not ModX Evolution)
- Other CMS I should definitely look at.