A spontaneous flash fire burst into flames this past weekend surrounding content management. Scratch that; it focused on WordPress. Like many of these debates, it was sparked by a seemingly unrelated Tweet, this time by Nathan Smith. My personal reaction to the post was to let it be. I appreciate knowing that a designer knows how to work with WordPress, not so much Dreamweaver, but can understand referencing WordPress as a skill, albeit an outlying skill. Could the designer list PHP as a skill? Sure, but when a lead comes through asking for Drupal development, the designer is worse off and faced with a dead end.
I’m going to infer that what resulted was not Nathan’s intention, but a small powder keg went up in flames. He was hit with instant recoil from the massive troll population plaguing both our community and the rest of the Internet. Without taking the time to find out his true intention, people instantly felt Nathan was bashing both WordPress and Dreamweaver, and felt the need to express a targeted response. I’m all for debate, but there are certain ways of going about it. The odd part about this occurrence, however, was that people on both sides of the fence were being quite overzealous about their home turf.
The philosophy of content management
I think a major talking point throughout this conversation needs to be the premise of content management itself. How is content management defined? To me, a content management system is something that manages content. It can be “enterprise level” content management (whatever that may mean), blogging, or the one page site your aunt asked you to put together for her.
Much of the support “in favor” of Nathan’s opinion surrounded the stigma WordPress has as a blogging platform. Nate Klaiber made a great point throughout the back and forth; that custom fields != CMS. That’s more than true. I absolutely 100% agree with that sentiment. It was at this point I learned that what we’re dealing with is again the mass adoption issue with WordPress. More on that later.
WordPress has its roots in blogging, that is the founding purpose without a doubt. The continuation of the story, however, is that WordPress has essentially conquered blogging. WordPress moved beyond blogging on the order of years ago. Since then, WordPress has begun to accommodate a nearly endless combination of site types it can handle. Not to toot any horns, and not that it’s the end all be all, but over the past years WordPress has worked its way up the Open Source CMS Award rankings to take it home this year.
How WordPress fits in
Nathan’s primary argument regarding WordPress was the fact that to him, while it makes a decent blogging platform, to call WP a proper content management system would be pigeonholing. Many rejoiced, many took offense. Surprising to me, a number of designers I’ve come to respect went so far as to say that if you use WordPress as a CMS you’re doing your client a disservice. That was tough to hear, not because I’m defensive of WordPress, but because that’s quite a dig to take at a large population of what I feel are talented people.
I’m a huge fan of WordPress. I use it for 98% of my projects and it’s worked out swimmingly. I’m not dumping dozens of custom fields into every Post and Page though, I’m using a set of plugins I’ve come to know, trust, and work with for an extensive amount of time that helps me provide terrific content management platforms for my clients.
That’s where a light bulb went off for me through this back and forth amongst my peers. The people supporting WordPress know it on a higher level than those who were bashing it. I then continued to process the discussion by justifying some comments by realigning them to target an out of the box installation of WordPress, sans plugins. But then I went on to think about some of the content management systems suggested as alternatives to WordPress. The primary of which being ExpressionEngine and Drupal.
That’s where it got interesting to me, and where I felt zealotry was taking over a bit. I respect both ExpressionEngine and Drupal, and although I’ve never used either beyond a basic installation and run through, I can see that lots of time and effort has gone into both. I also know and respect the large, talented, and knowledgeable communities surrounding both platforms, but I also know that I’m turned off by both systems for daily use. I’m not here to start another flame war, but my trials with both ExpressionEngine and Drupal have shown that they’re not the system for me, not at this time. I say ‘at this time’ because I fully intend to explore both systems in full detail for an extended amount of time before officially signing either off as incompatible with the way I want to present a CMS to my client. Drupal also won big this year in the unofficial CMS Awards; it took home the Hall of Fame Award, and has a long standing streak of winning Best Overall Open Source CMS in past years.
I continued on with my thought process to realize that many of the people who know and love ExpressionEngine and Drupal also have their secret weapons in the form of plugins or mods that make the CMS work the way they want. For example, I can’t count the number of times I’ve heard people say that they’d never build an EE site without Structure. I’ve also heard that Structure completely changes the way you work with EE. I use Pods for every WordPress project I build. It completely changes the way you work with WordPress.
What does that say about each respective platform? What does that say about the plugin architecture? What does it say about the people using the systems?
My final remarks on the issue
As I mentioned previously, I feel that a major aspect of the WordPress vs. “CMS” ordeal is mass adoption. As with PHP in general, people do lots of stupid crap with WordPress. I admit that fully. When it’s so readily accessible and open, it’s an impossible thing to avoid. There are also, however, people doing some amazing things with WordPress, and it’s got nothing to do with shoehorning or pigeonholing.
I also feel that the minor aspect of the debate is (for lack of a better term) ignorance tied in with a touch of overzealousness. It’s hard to become intimately involved with every CMS in an effort to find a fully encompassing opinion on it. That takes quite a bit of time and even more effort, a resource everyone in the world ran out of long ago. If your initial experience with a CMS didn’t work out in the way you had hoped, you’re going to move on to the next until you find something that does. Once that project goes smoothly and you’ve covered the basics, you’re going to learn even more on the next project, so on and so forth. Before you know it, even considering the original CMS was a laughing matter as you’ve become so accustomed to what worked for you. Why, if that original experience was so lacking, would you keep up with development, keep up with new plugins, or even bother reading up on the system at all? You’ve got work to do and you want to get it done with the system you know to be effective.
In the end, I’d just like to conclude this opinionated piece by reminding everyone that it’s not always the tools you use to get the job done, it’s the end product itself. While content management is a unique case in that your client will see the tool you’ve chosen, it’s about education. Instead of talking bad about one system or another, how about we build some websites? Let’s tout the good things we’ve come to know and love about our choice content management system, and leave the rest to the wayside.
Comments
I agree with your thoughts in a lot of ways. The fact is that there is no perfect CMS solution out there, and I would challenge anyone to find one that didn’t require knowledge of how to extend it and truly use it on a most of their projects.
If the argument is that wordpress is a blogging platform first and needs to be extended into a CMS the same could be said for drupal, EE or joomla.
Find one Drupal CMS site that doesn’t have the CCK or Views module.
I used to dislike wordpress as a CMS, I felt that it was inadequate and difficult for a client to use and learn. However recent enhancements to the UI and some excellent plug-ins latter (like pods, flutter or custom write panels) and it can handle anything from small sites to large corporate sites.
Just like any other CMS or software platform it does require specific skills and knowledge to learn and makes sense to list as a skill. Yes knowing wordpress is valuable, knowing Joomla, EE or Drupal is valuable too and it is a skill.
Great article Jon.
I don’t think there is a CMS that can exist without plugins. There will always be plugins that we rely on to do things whether we write them or someone else does. There is no such thing as a CMS that has every single thing every developer wants. That reason, along with the comfortable factor, are why one CMS is no better than another.
[…] This post was mentioned on Twitter by Jake Przespo, suffolksoftware. suffolksoftware said: great post from @jchristopher: The Underlying Meaning of Content Management Systems (http://bit.ly/7NRIRZ) […]
It’s hard to provide context in 140 characters and the trolls definitely over-reacted to Nathans tweet.
Most of the websites I build end up needing a custom CMS as they are usually pretty unique, but I see the value of WordPress, EE and the other CMSes, especially with the plugins that extend their functionality beyond their core focus.
Thanks for the breakdown, Jonathan. CMS means different things to different people. I have always been a proponent that WP is not a CMS, because I went through the pains of trying to extend it. My personal experience was with posting Book Reviews. I wanted something that understood the context of books, not just a blog entry amidst a list of other blog entries. Books are a specific model, and carry with them associations that simply couldn’t be made through WP. This was also the brief example I gave in a response on Twitter.
————————-
A book has a title, ISBN (10/13), Page count, Hard/Soft cover, Price, Description.
A book also has classifications. This is a specific hierarchy of classification, not just a random category assignment. So, a book could be classified inside of many different ‘buckets’.
A book has 1 or many roles (author, technical reviewer, etc), and the roles could respectively have many other books associated to them. A book author also has their own specific model. First Name, Last Name, Biography, Links, etc.
May times a book also has extra resources found online: downloadable chapters, downloadable code, or a full site dedicated to the book.
In my context, I had reviews. A review is it’s own distinct model as well. I have the title, the review, the rating, the date it was reviewed, and other metadata. This review then gets attached to a book.
————————-
I used to try and manage this process through WP. It was a logistical nightmare, and you simply couldn’t make the necessary associations that make this up, and this is just a small sampling. So I built my own.
While WP is great for a blogging engine, I have many qualms with the code underneath – this includes both the PHP and the Database – where there are so many inconsistencies. It’s not a clean architecture design, but it gets the job done for 99% of the people. I am in the 1% where I don’t like the architecture decisions being made (PHP/Database Schema).
I plan on writing more of a response, but my frustration is when people take WP, and then try and shoehorn a client’s needs into THEIR model – not the proper model for the client’s business. That’s the main reason I stated it was a disservice. It wasn’t meant as a jab to any designers out there, but if all you know is WP – then when a client comes to you, you are going to find a way to fit their model into yours to make it work. That’s not right.
Look forward to some more discussion around this.
What a terrific piece Jonathan,
One can never discount one platform over another – or the need to constantly be learning. They all have unique strengths and weaknesses. It’s amazing how much all of these platforms have changed – there’s no place for complacency.
I find a lot of designers who use their mad-skills to put together sites on “higher-end” CMSes (not WP) are doing their clients a disservice.
I generally work with clients who want to update and add their own content to their site, instead of paying someone (me?) hourly to do that for the rest of forever. We can set up a WP install and teach them how to do that incredibly easily:
“Oh- I just type in here? Wow- thanks Adam!”
If they forget what they’re doing, or want to do a little bit more, and don’t want to pay me again, they can Google “WordPress” and find easy tutorials on everything.
WordPress as a CMS has liberated my clients from obnoxious webmasters and given them control over their own sites.
Will it work for everything? Of course not. WP is especially good at websites that primarily deliver informational content (which is what my firm specializes in). If you’re doing something more complicated, you might need to use something else. But the vast (VAST) majority of potential web design clients can be well served with WP.
It’s easy to forget how many individuals and small businesses are out there that just need good solid design and straightforward content delivery.
Thanks for this write-up, Jonathan. I recently decided to focus on EE because I want my clients to have support when they need it, and I’m no EE guru. Nonetheless, if it wasn’t for that fact, it’d be WP FTW.
I agree. Pods is the deal–breaker as it removes the need for lots of awkward custom fields. Add that to the huge range of plugins and wp is pretty flexible.
I find that potential clients have often heard of WordPress, so listing it as something one does isn’t necessarily a bad thing.
My main issue (I design sites for small businesses/one–person operations) is foisting a CMS on someone who just needs to change a bit of content on their site. I’ve started to use Unify for simpler stuff.
I love learning about new techniques, practices and the like from php geeks who install wordpress as a quick way to communicate with others.
I personally use my own cms though, benefits are that because people do not know the directory structure behind it and where core files are kept its in theory less obvious to hackers who like taking down lots of wp blogs at once.
It also encourages you to learn more and develop your skills. I dont think anyone should learn php by playing with wordpress. That to me is like learning to play guitar by completing “sweet home alabama” on guitar hero. Its fun but you wouldn’t then put on your cv your a skilled musician then would you!
…would you???
Well said Jonathan.
I’ve never understood how anyone can claim that wordpress is not a CMS. wordpress manages blogs. blogs are a type content. therefore wordpress is a content management system. it may not be an all-encompassing CMS, but a CMS it is.
Great concluding thoughts, Jonathan. For me, I was less concerned about whether WP is a CMS than the (seemingly) disparaging remarks by both sides. That’s what worries me. Was it necessary to make people who have WP on their resumes feel bad? Was it really necessary to convince someone of the superiority of WP when it’s obvious they are of a different opinion? Do the clients really care what you use as long as it meets their needs? They probably have other things to worry about, and that’s why they hired you.
It would be unfortunate (and ironic, obviously) if the equalizing power of the internet actually made us web geeks elitists.
Food for thought. What if WordPress suddenly went away? There are an awful lot of people that wouldn’t be able to run a website without it. I know that I messed with Joomla quite a bit before finally choosing WordPress for it’s ease of use. My opinion is it is rapidly becoming a good CMS, And the price is right.
Thanks so much for the great conversation so far, guys!
@Ross Johnson: That’s a great point; nothing is perfect. It’s also very interesting to read your notes about Drupal, EE, and Joomla! as I haven’t had nearly as much face time with any. I absolutely agree, the latest UI changes have really stepped up WordPress’ game, and the plugins coming out are taking it that much further.
@Jake: Definitely. Most of the time the plugins make the system, and that’s what I’ve found to be true with WordPress. I’m sure that’s the case for lots of other developers as well (e.g. EE users and Structure)
@Mubashar Iqbal: It’s definitely a bit hard to have in-depth conversations in 140 character increments, haha. When you mention a custom CMS, are you building systems for clients on a per-case basis from the ground up? Nothing out there acts as a proper platform from which to work?
@Nate Klaiber: You bring up an awesome use case. I can only imagine the people who have had the same problems you did when first taking a look at WordPress. Unfortunately it will probably be one of the ‘too little too late’ stories, but Pods is the perfect solution for something like that. Pods lets you structure both data fields as well as relationships in a way unlike WordPress Custom Fields ever could on their own. I plan on doing a few walkthroughs and tutorials starring Pods over the next few months so I’m hoping you’ll have a few minutes to take a look! Thanks so much for the detailed response.
@Meredith: Thanks! I agree — the teams behind each system available are extraordinarily talented and their hard work is making our lives easier on a daily basis.
@Adam Wood: That’s a great point. WordPress is extremely popular, almost to a fault. While clients can potentially “solve” their own problems due to WordPress’ presence, it probably leaves a few doors open for them to break quite a bit as well. It’s great to hear that you’ve had such success liberating your clients (I like that wording) and it’s great that you recognize the strengths WordPress possesses. Thanks for the notes!
@Jesse: In what way(s) does EE offer support where WordPress doesn’t? Do you mean from EllisLab?
@Leon: Pods absolutely changed the game for me. I switched back and forth between it and Pods and I’m glad I was burned by Flutter early in the game and committed to Pods. The developers behind it are some of the nicest guys I’ve met and they truly believe in Pods. I’m a huge fan of Unify as well. I’ve used it on a number of projects that simply don’t call for something on the level of WordPress and it’s worked out great. You’re right, it’s all about choosing the right tool for the job most of the time.
@Matthew Fedak: The great thing about WordPress comes with the benefits of open source. With thousands of eyes keeping up with everything, security holes are much more likely to be flushed out. While there have been some recent security notices surrounding WordPress, it’s more often than not just a case of remaining updated. You make another stellar point; if you don’t know PHP you shouldn’t start with WordPress. Absolutely not. Unfortunately, as is the case with PHP most of the time, people will end up working with an application instead of learning the language itself due to it’s availability.
@Chris: I sympathize with the frustration, but I can also see the argument that lumping WordPress into the CMS category with larger, extremely elaborate systems can be awkward. On top of that, in a way I’d prefer WordPress to not be lumped with some of the legacy bloated content management systems in use today. I do agree, though, WordPress is a CMS.
@David Sutoyo: Well said. I was also surprised by much of the back and forth that went on by that group. In part, it’s great to have a strong reliance on your chosen system, but to actively broadcast some of the generic blanket statements that popped up was definitely surprising.
@Matt Kline: You definitely can’t argue with the price, that’s for sure. I’m in the same boat, I played with some other systems along the way but found much of the process clunky. Of course that can be attributed to my comfort level with WordPress, but I truly plan to give other systems a proper run though on a consistent basis in an effort to remain educated on the subject.
I usually end up having to integrate with some kind of enterprise system that the company already uses, and doing that with a off the shelf CMSes **usually** presents more problems than it solves.
All the sites are built on a Framework of some kind (RoR, KohanaPHP, etc) , which provide a lot of platform for building what we need. I guess building from “scratch” doesn’t really exist any more, or at least shouldn’t.
@Jonathan
This is where I struggle with this stuff. Pods doesn’t solve the problem I had, it only hides it. I saw their example of ‘books’ and ‘authors’ – then checked out how they organize a relationship like this. If you look at http://pods.uproot.us/codex/database_diagram – you can see that I can’t create true relationships in a database. It’s setup with their pseudo-relationship structure, which is more robust than custom fields – but it’s the same premise. I want true DB relationships. Having a true DB relationship allows me to:
1. Index fields based on needs
2. Add proper foreign key constraints to specific fields – deleting or cascading as necessary. Integrity of the data is important to me.
3. Add proper validations to ensure the uniqueness of my data in given contexts. This can’t be done with this architecture as it stands now.
These are just a few – but are very big reasons for me as I expand data sets and want to keep the DB layer clean.
I would agree that this is a better solution than custom fields, though – but it doesn’t come close to building exactly for needs. Couple this with implementing a robust search index and other implicit/explicit relationships at the core – and you will easily see how this type of DB structure wouldn’t work for that.
I think this is a lot of what Nathan was trying to say with his original post – that a DB structure like this misses out on some very key components to making the connections in the UI. The derived relationships from organized data at the core is extremely valuable.
Anyway, just a few more notes on the topic 🙂
@Mubashar Iqbal: Ah ha — got it. Thanks for the info! Definitely right, with the frameworks out there the concept of ‘from scratch’ is definitely different haha.
@Nate Klaiber: Wow, awesome points. It goes without saying that you’ve taken more time to check out WP under the hood than the vast majority of WordPress users and you’ve definitely made a (more than) educated decision not to use it. If you don’t mind my asking, what system are you using which facilitates the standards you’ve set? Thanks so much for following up, it contributes so much to the article.
@Nate Klaiber: Maybe it’s just me, but your requirements seem to be way past what I would consider content management. I haven’t taken a look at EE, but I have with Drupal and I don’t see the ability to do this without some sort of Custom Module. CKK may come close, but even there I see limits.
@Jonathan Christopher: Never heard of Pods before. ThanX for that. I’ve been struggling with Flutter myself.
@All:
There are advantages and disadvantages to all platforms.
Wordpress:
I like the simplicity of it all. It’s widely known and supported. Is the structure horrendous, yeah, but it gets the job done 90% of the time.
Drupal: Although I just started, there are some things I’m in love with. I like the built in minifying of CSS and JS files. I like “regions”, I like the fact that you can customize the “admin” section to look as complicated or simple as the client needs (Admin templates FTW….That’s the next step WP team, 😛 )
But at the end of the day, it’s whether the clients are happy and choosing the right tool for the job.
WordPress is a great way to dip a toe in the water, however the issue I have with lumping it in with other CMS products it the ‘management’ part of the acronym.
To manage content, you need to be able to control it – scheduled publishing, rollback, audit trails, versioning etc… all common place in any good CMS.
Without the true ‘management’ functionality, you are little more than operating a glorified page editor.
We’ve been using Infomaxim now for several years and found, despite being relatively unknown, it has many great features, a nice admin interface that uses AJAX extensively, is responsive and easy to use.
My favorite feature is the ability to point it at an existing database, regardless of the field structure and be publishing content from it within an hour or so. Nice…
One aspect of WordPress that interests me is the fact that every new release puts it closer to more “CMS-y” platforms like Drupal. Plugins such as Flutter and Pods imitate core features of most CMSs
I consider myself quite a skilled web designer but when it came to getting the website developed was where I always fell down. I’m just not a good enough programmer. I messed around with asp and asp.net and waisted countless hours of my life that would have been better spent designing – what I’m really cut out for and where my true skills lye.
Then I discovered JQuery and WordPress and I was liberated. I found I could now not only design a brilliant website but also develop it and get it online with more ease than I ever thought possible – for someone like me it was a truly defining moment in my life.
I’m now running a successful web design business in Dorset UK and offering all my customers some subtle JQuery in carousels, image galleries, logins etc and WordPress as a CMS.
What I’ve found is that customers really don’t care what runs their site, as long as it works , they can use it easily and update the content on their site – adding pages and posts. This is what wordpress does extremely well.
Of course the other great thing about WordPress is that it’s constantly being improved and it’s highly customisable with the amount of plugins continually growing – unlike many other CMS’s offered by most Web Companies!