The new WordPress (version 3.01 at the time of writing) and the new release of ModX Revolution has become quite the dilemma for me recently. I used WordPress a lot over the years and didn’t care for it because it required a lot of custom coding and plugins to develop a CMS but that has all changed with the new releases for me. Since I was not working with WordPress I discovered ModX and started to love it right from the start. But now that WordPress has come out with WordPress 3.0 (now 3.01) and ModX released ModX Revolution it is really a toss up for what to work with for future projects.
WordPress
I love some of the newly released features in WordPress. I have found that the Custom Post Types have made a world of difference in developing a powerful CMS. What they allow us to do is pretty much repurpose any content that we want. For example in the past you would have static text pages and a blog. For the blog you would add post after post as the blog is frequently updated. But if you wanted to build a portfolio, you would have static text pages for contact, about us, services, etc. Then you would have a blog that is constantly updated but also a portfolio section where you will be constantly adding new pages. In the past you would have to hack your way around this by made “Portfolio” a blog category then hide that category in your blog feed and create numerous conditional statements and custom templates, etc. Needless to say it was a pain. But now Custom Post Types has changed this all.
WordPress Custom Post Types
With Custom Post Types you can create a new section in the admin area that functions much the same as the blog where you continually add content and there is a page on the front end that displays this new data.
So in the previous example you would create a custom post type for “Portfolio” so you can go in and enter the text and images you need for this portfolio item seamlessly then you can create a page on the front end that pulls this information and displays it similarly to a blog. This is a very generic overview of the functionality without getting into the technically nitty gritty but it truly is super simple to set up.
I have recently launched a site using this functionality in many places. The website has a blog and utilizes the WordPress Blog functionality (WordPress is king of blogs). But they also have a Portfolio, Careers, Press Releases and Bios section that will be continually updated. I have created a custom post type for each. So now when someone needs to add a press release then can login to to the press release section and add a press release. Then the templates on the front end pull this information and display it to the end user.
Custom post type input fields
There are some awesome things you can do such as adding custom input fields for these custom post types. So when I enter in a Portfolio item I have it set up so I enter the title, the body copy, the featured image as well as a custom input field for a thumbnail.
Now I have a template that queries this post type and displays all the thumbnails. When you click on a thumbnail it takes you to a new page which displays the title, copy and feature image of the work. This works so awesome and it is so easy to set up and get going I absolutely love it.
Custom taxonomies
Now there is also a feature that has been in WordPress for a while that is custom taxonomies. This allows you to categorize items. This really tops off the custom post types feature. So if you create a portfolio section, you can create custom taxonomy to organize your work adding things like “Web Design”, “Logo Design” so when you create your portfolio piece you check what it is for example Web Design then on the site you can allow people to select that category then display all the results from your Portfolio that are tagged as Web Design. It is awesome!
Conclusion
WordPress also has a huge following and a plethora of plugins to help you do everything under the sun.
One thing off the top of my head that I dislike is when you select text to link to-say on the homepage you want to link to the contact page. You have to enter in the URL whereas in ModX it displays a list of all the pages on the site for you to select from (then uses a page id – so if URLs change, the link still works) which is super handy for clients with little web experience.
ModX
Now almost at the same time I got into ModX I discovered the new WordPress and this is when my dilemma began.
ModX Templating
My most notable draw to ModX is templating. I can literally take my HTML and have it powered by ModX in a matter of 5 – 10 minutes. That is how simple it is to work with ModX. I cannot say this about any other competitor (WordPress, Drupal, Joomla, etc). ModX was built in a way that you work with your HTML rather then making you work around its templating engine. It uses tags that you place in your HTML for specifying where content goes, where page title goes, etc. It is extremely simple and fun to work with.
ModX content editing
The second note I like is the on page editing feature in ModX. If I am logged into the admin panel and browse to the site there is a grey bar on every page that I can click to edit that page. I find this highly valuable for clients as they usually read the website and see something they want to change so if they can make it without leaving the page, it makes me look good!
ModX Security
The new version of ModX Revolution is awesome for security. You have complete control over everything, literally everything. I dove into this knee deep on a recent project when the client has offices all over the world (Canada, US, UK, Australia, etc) and people in each office will be editing different content and they don’t want those people to be able to access anything but that specific content. This is kind of tricky, you do not have this control in WordPress. But in ModX you certainly do.
You have the ability to create groups of users that have specific roles and access. So I can make it so John from the UK can only edit the UK page. When he logs in he will ONLY see the UK page. But when the owner of the company logs in, he can manage everything. Then when Sally from the down under logs in, she is only able to edit the content of the AUS page and not any of the meta data (Page title, description, etc.) I can create a specific set of roles and access so she only sees the AUS page and the only editable box there is the content, she sees nothing else.
So when you are working with large companies with multiple editors this security is extremely important. Also the ability to see who edited what, when, etc is also very important.
Conlusion
ModX is great, I love it. It is super easy to use super quick to set up. One downside is that it is newer and there is not as many plugins/addons for it yet. This will change as more people discover its power.
Please share your thoughts on these two wonderful systems.