I think WP is great and the platform has tons of neat plugins. However, even though people try to use WP as a general purpose CMS, it still has its roots in blogging.
You may well be right, but I think you should have disclosed your status in the concrete5 community and the fact that you've contributed code to concrete5 and created the blog app.
Mostly because as a first-time poster, no-one knows you here and it would be good to see some impartiality or at least a critical argument about what sets concrete5 apart in respect to addressing the concerns of the article.
buro9, I guess I should have, but i merely stated that a CMS that i know and actively develop for vs. one that the OP is apparently unhappy with. I'm not a bot trying to funnel people into concrete5, I merely intended to provide an alternative without jumping down OP's throat with a canned "critical argument" because I am not a concrete5 evangelist or anything of that sort.
WordPress can be installed on hosted Web server space under a user account with no admin access. Plone needs admin rights and runs a daemon. Note: I'm not suggesting that the author's organisation did use WP that way.
I agree with others above that the author could have mentioned alternatives.
I suggest Drupal for huge projects but in many case Drupal is so advanced for creating a medium-sized project. For the beginning it may be hard but when you created your CMS or a CMS framework (I would prefer calling CMS framework for such a system), you will found it's incredibly flexible and easy (in many cases) to setup a new project as Drupal or any other CMS.
Disclaimer: i've used Drupal for a couple of projects and I like it for its easyness for noncoder, this is just about the cons:
Drupal is very good and powerful (i think the best part is the ability to create custom contents with CCK - now included in core in D7), surely more "CMS" than WP, but it's far from being perfect. As someone wrote in another comment, sometimes it's a nightmare (theming or just finding the right module and hoping it wont give you problems with other modules).
There are also people saying it has become more and more overbloated
http://www.unleashedmind.com/en/blog/sun/the-drupal-crisis
others stating that it's better to move to more developing oriented framework:
http://erickennedy.org/Drupal-7-Reasons-to-Switch
and big consulting company that has worked with Drupal and is now moving to other:
http://drupalradar.com/breaking-development-seed-quits-drupa...
I think every single CMS/platform/framework can be criticized or even demonized if you search well.
Our aim is to get close to the power of something like Drupal with a simple and usable interface that's a joy to use. All fully hosted, requiring no maintenance.
We're the only hosted system that is also truly extendible (you can build extensions in server-side javascript) and we're seeing both tiny one-pages and large content driven pages being built with our product by now.
A lot of us would love to be able to chime in on EE, I'm sure. Not having a downloadable demo or some way of checking out without paying $200 makes it way lower down the list when you're looking for alternatives.
I would love to check it out; but if I don't like it or it won't work for my clients it's a total hassle.
Not having a demo available is beyond ridiculous. I asked about it in their forums and was told to email sales. I went ahead with the purchase anyway.
It would not take much for them to setup a personal sandbox demo just like spree commerce does ( http://spreecommerce.com/demo )
It can't be that they don't want people to think the product is too complicated before purchase, as their after purchase help docs are limited and they have no personal follow up or checkin.
I am developing a site in Expression Engine at the moment. First time with it and first time using php in a major project. (At the moment I identify myself as a Rails guy with no php experience)
EE is pretty powerful in enabling you to get a site with multiple customized CRUD data up and running quick. Though the makers of EE need to do some serious work on documentation, as it took me about a week to fully understand how all the parts fit together (Our designer is having major issues wrapping her head around it). As with most any other CMS, when you hit the limit of EE, it is a hassle to add that one small item you need.
There is an active 3rd party plugin community. With quite a few being paid plugins.
The overall license charge and additional plugins are just a drop for any major project. It is exciting to know there are a few 3rd party folks making some good money on small EE plugins. I may just write a few of my own.
I have experience with the old version of EE in which the docs were quite good, so I'm surprised to hear there are now problems with it.
In general the plugins / addons create much less problems than the Drupal equivalents. Also, from what I heard is that it's now easier to hack EE through its CodeIgniter base.
Prce is an issue, but really, what is 200USD if you're billing thousands for the whole project? Lack of a demo, no excuse for that if it really is the case.
I recently released the first version of Wheelhouse CMS - https://www.wheelhousecms.com, which is a Rails-based CMS including WYSIWYG editing, template-based form generation, media library, plugins and a decent UI.
It's not free software but from my biased perspective its by far the best CMS I've ever used and my clients love it.
Good post. Curious, though, about what alternatives they're testing. Wish this would have read less like a eulogy and more like suggestions for potential fixes.
Wait so he's complaining that a free piece of software that is designed to "create a beautiful website or blog" (from Wordpress.org) doesn't cut it as a high powered CMS?
I think if we're honest, wordpress is a blogging platform and if you try to deform it into your own little niche needs, you need to accept the inherent risks.
The post mentions that the issues extend into WordPress' regular redesigns of the admin interface, and their consistent lack of solid testing:
"This would actually be a much smaller issue if it wasn’t for the WordPress’ update schedule. I am 100% for constant updating of software, but the current desire to redesign the AdminUI 2-3 times a year creates a huge amount of friction from both clients and developers."
"Kev, they released a BETA version that they didn’t even load on Windows. The MENU didn’t work. Not some advanced feature throwing a bug, the fucking MENU didn’t work. I can’t test our themes and software against that. Lets be honest mate, how did it get past their tester and release procedure? Oh, thats right, they dont have a Tester. They just load it on their MacBooks and presume it works for the other 95% of the world. It’s a fucking shambles, and clearly they’ve learnt nothing since the 3.0 fuck-up."
I work with WordPress a lot, and have regularly had similar issues. Even as a blogging platform, WordPress is increasingly difficult to manage.
That portion of the post is the opposite of what I'd pick out to illustrate that it has a point. It's just dripping with misplaced rage and entitlement and doesn't even point out a bug in any shipping version of WordPress. It strongly emphasizes the word "BETA" and then goes on to literally curse them out for the fact that it had major bugs. Like, yeah, that's what that means. Do you go grabbing a cook's half-done risotto and tell them to quit because the consistency is terrible?
I agree that WordPress's issues multiply in proportion to how much you want it to do, but the fact that prerelease software has bugs is not one of them.
"... the fact that it had major bugs. Like, yeah, that's what that means."
No, that's not what beta means. I expect core functionality to work properly in a beta. I expect there to be intermittent issues, and I expect advanced/fringe features to maybe sometimes not work. I expect there to be workarounds for most (but not all) issues that crop up. But the freakin' main menu didn't work. How is that beta-quality? I'd hesitate to call it alpha-quality.
And yes, I know, it's open source, it's free, you shouldn't feel entitled. I know. I wrote and maintained open source software for 5 years. But c'mon, from the perspective of the developer, have enough pride in your work to at least do a little testing before throwing a release over the fence.
1. I know definitions are a little hazy, but your definition of a "beta" is not really the traditional meaning. In a beta, core functionality should mostly be there, but it's expected to be buggy. Beta is the point at which most bugs are expected to be worked out, because that's the point when the software is mostly feature-complete. That's why people who use the beta are called "beta testers." I mean, you're welcome to your definitions, but it seems unfair to curse out free software developers for not adopting your personal jargon. (Here's a handy reference for the anonymous downvoter: http://en.wikipedia.org/wiki/Software_release_life_cycle#Bet... ) At any rate, it is certainly not meant to be an end-user release, so if that's the worst accusation you can find to throw at them before you start swearnig, you're really being unfair.
2. The article is a bit vague (which doesn't help its case), but if the bug is the one I'm thinking of, saying that "the main menu didn't work" is a bit of an exaggeration. I believe the actual issue was that the main menu didn't work in Explorer. Broken Explorer support is very common among beta software unless they're specifically targeting Explorer specially.
> your definition of a "beta" is not really the traditional meaning. In a beta, core functionality should mostly be there, but it's expected to be buggy.
I expect bugs, yes, but the "traditional" meaning of beta is that core functionality is done and it's passed through QA and some form of alpha stage with internal and some trusted external testers to catch, at a minimum, glaringly obvious stupidity.
I'll excuse a beta release with some significant but not absolutely critical feature clearly walled off and labelled "this bit doesn't work yet". I'll not excuse one where critical functionality becomes clearly unusable just by virtue of running on a supported platform. That's so beyond the pale for what is -- even if in a twisted/attenuated sense -- a commercial product as to reflect nothing less than utter incompetence.
What disturbed me about this article is the lack of testing. For a major piece of software like Wordpress, ANY release (alpha, beta, whatever) should include a test phase that stalls the release if it doesn't pass.
If Wordpress was mission critical for my business, after reading this article I'd be investigating their build process very carefully. If it turns out that they don't have an effective test phase, I'd be migrating my customers to an alternative as fast as I could.
Exactly. I don't keep up with Wordpress too much, but my perception is that you should go with something like Drupal (or other proprietary options) if you want a platform fully capable of being a CMS.
That said, any CMS will struggle with the challenges that he lists. It's not some sort of magical entity where you turn it on and it's perfect.
Except that Drupal is, interface-wise, even worse than Wordpress; and management of the damn thing is difficult even for the developers among us. It's hard to recommend it when you know clients/users will struggle with it.
Handing a Drupal website over to a client was always hard. No wysiwyg, no automatic updating, built-in dependency hell (that the client can see in /modules), _constant_ warnings about module updates and security updates and core updates and updates of every other kind, make Drupal an extremely tough sell.
Drupal does have wysiwyg implemented as a module http://drupal.org/project/wysiwyg (actually several competing editors are possible),
Drupal also can do automated updates, though I wouldn't advise it. Drush works for it, http://drupal.org/project/drush and a lot of people use it with great success. You would want a carefully vetted rollback plan though. The better road is to forgo updates other than security until scheduled maintenance or a MUST have feature is present. The GUI /update process is actually quite nice if you've set everything up properly.
The thing about Drupal is doing everything doesn't have to be painful, but if you've approached it in a "non-Drupal" way it can get bad quickly. Drupal is complex and the hand off to a customer is never easy with complex software. Have you tried the same with Plone?
>and management of the damn thing is difficult even for the developers among us.
Understatement of the year so far.
I love Drupal, but since there's no bright line separating configuration and content, rolling features up from a dev environment to staging to live can sometimes be a nightmare, particularly if the Features and Strongarm modules don't have you covered.
Agreed. Drupal has an incredibly steep learning curve. I was told to learn PHP BEFORE using Drupal and it's been a huge advantage. I can't imagine a non-developer trying to change some content or add a feature themselves.
Drupal is extremely powerful, but would be a nightmare for users used to the WP platform.
I have been presented with relatively straightforward CMS site concepts and come to the conclusion that they would be better done in Rails or Django than Drupal because a) it would be easier to present a usable interface, and b) those would actually be less likely turn out looking like a tower of paperclips and bubblegum.
This may just be my lack of experience in Drupal talking (I've got plenty of experience in PHP, just not Drupal), but I put a pretty decent amount of thought into the matter and even mocked up simple prototypes just to see if there was something I was missing.
The big difference is that in Drupal it's possible to get pretty far without ever writing a single line of code, even templates. For some use cases that's very powerful, especially an environment where you have trainable, reasonably technical people who aren't programmers.
But for the talented developers and/or programmers on the team, it's a complete productivity and sanity drain. Moreso if you're, say, part of HN's target audience, because you'll know all the modern web development techniques, and you'll be able to use none of them.
I have had an absolutely terrible experience with it, which sadly isn't unique amongst these big PHP projects.
It's not bad once you get your head around it. Sure, it's not buzzword compliant (MVC, TDD, ORM OH MY!) but for what it is, it can be pretty compelling.
My primary job for the last 2 years has been developing a Drupal site for a group of daily newspapers with monthly page views in the low 8 figures.
We were in a situation where we had to get a site up quickly (Our small group was bought off from a much larger conglomerate, so the huge $$$$ Java system we had been using
went away). Drupal allows us to get a tolerable site up in about 3 months, and a much better site up about 6 months later. Have there been pain points? Sure. But if we'd used anything else there's no way we would have been on our feet nearly as quickly.
Are we investigating other options? Of course, if I wasn't I wouldn't be doing my job. There's a part of me that would love to rewrite the whole thing in Rails or Django. That would be a huge undertaking though.
I really don't doubt that for many people it has its place, as evidenced by your experience, but the moment you want any semblance of interactivity (at which point you can argue that a CMS is the wrong tool for the job) or efficiency/optimisation, you're screwed.
We've had different experiences, but I wouldn't touch it with a 10' bargepole, not any more. And I'm glad I've been managing to encourage my boss to start moving away from it. The only positive thing I've been able to take from it is a list of things never to do in my own code.
Like I say, it's not just Drupal. It's a side-effect of over-complication in the name of simplicity, and trying to run in parallel a system that makes it easy for non-devs to use. It's a recipe for disaster if you want lean, maintainable code.
Depends. We serve ~40 PHP requests a second (and that's NOT counting stuff that hits the cache) on reasonable hardware - an 8G webserver VM, and a 4G DB VM, both with 4 cores allocated, and hot copies of each for failover. Our site is pretty interactive, and even the stuff that's cached is short (5 minutes or less) timeouts.
Yep when we had to do work on drupal sites all the junior staff where frightened to even change add a small piece of content as the interface was so bad an the sites where prone to breaking if you made innocuous changes.
My first inclination is to agree with you. The OP should never have used WordPress as a multi-tenant CMS in the first place. OTOH, he does raise some issues that affect WP use even in its original blogging context. I use WP, I like it, I don't have immediate plans to change, but if I ever personally hit a "this was obviously never tested" case like he did I'd probably change my mind pretty quickly.
I think the author's problem, and the problem of nearly every frustrated WordPress user, is that the alternatives aren't nearly as enjoyable to work with as WordPress. It has a nice, understandable, and flexible API, and even though its greatest strengths are really only in blogging, the friendliness of the environment naturally invites stretching its use.
For these people, I would strongly recommend a look at ProcessWire. It's kind of like a radically simplified Drupal that is at least as easy to use as WordPress, if not more so, and has a similar attention to design and detail. I've been using it for a few months now across two very different projects, and I'm wishing I'd found it earlier.
An alternative that is not as well known is ExpressionEngine. FWIW, we've done a slew of EE installs and a few WordPress intalls and clients that have made the switch from EE to WP have loved it. The admin UI is attractive for end users, and when it comes to theming, designers love the flexibility of the layout variations and front-end developers can actually implement said designs without hacking the EE theming system. This is definitely not the case with WordPress.
As someone who's done his fair share of ExpressionEngine development, the template system is a source of endless frustration as soon as you need to do anything remotely complex on the page or deal with user input. It is a great choice for blogging sites where a group of editors publish content to a site in predefined channels, but really falls down if you push it too hard.
Template processing is slow, processing order is wonky, and it's very easy to create N+1 query loops that can only be avoided by writing custom SQL queries/php. They also made some poor database structure choices in certain areas.
Mostly though it just boggles the mind why they put so much effort into creating a regex-based templating system when the app is already just PHP.
Still, probably the best CMS I've used and it certainly has its uses. I just wouldn't use it to develop anything complicated ever again.
Sorry for the confusion - I meant to say "from WordPress to ExpressionEngine" on the first line... I don't know how to edit a post, so I'm just replying here.
This is the first I've heard of it, but a quick glance at its website suggests that ProcessWire may be very promising. Do you have any additional thoughts on it, having worked with it before?
What took a little while to click with me, and really hit it home for me once it did, is how simple ProcessWire's approach to content and data actually is. Its primary admin UI looks like it's for editing a straightforward site hierarchy, and it certainly can be, but the key is that its "pages" don't have to be web pages. A combination of some simple PHP and some quick setup in the admin lets you build all sorts of things.
At its core, ProcessWire just gives you an extensible, hierarchical (and relational when you need it) model to build upon, and then gives you a really slick jQuery-style syntax by which to access it. You build templates in PHP, but the selector syntax is so easy to work with, it brings to mind WordPress theming.
One of its founding principles is that it is markup-agnostic. I'm using it right now for an XML source that feeds a site (and possibly later a mobile site, an app, or anything), with the XML being a ProcessWire template.
I recently went through the process of selecting a CMS for a client. ProcessWire, was the ONLY one I looked at and thought, "ok, now this makes sense." In the end, I couldn't use it because it doesn't yet support repeatable content sections in the admin. Sadly, had to go with Wordpress.
In addition to repeatable fields, they're planning a versioning system, staging states, and even a forms builder. Not exactly earth-shaking for a normal CMS, but these will open up all sorts of possibilities for ProcessWire.
In order to be deformable and retain its function, you have to build the program in ways that allow it to deform. You have to decouple the various functions. That's why I love Plone so much. Sure, it's alien technology for most, but it's so great I can't stand most CMSs I see being used and marketed as "professional tools".
Wordpress isn't a CMS, SilverStripe is, and it has a full MVC framework that it's built on too - makes coding extensions MUCH nicer than both WP and Drupal (ughhh).
For me it's rails for the complex stuff, SilverStripe for the simple sites. Keeps me and clients happy.
I suspect a lot of people become expert in a "CMS" like WordPress or Drupal, because it seems easier than learning to work with a proper framework like Rails, and then find themselves stuck inside the platform.
Like project management systems, CMS is destined to be reinvented by everyone, every day of the week.
It's very hard to convince people of going with a proprietary, custom solution. Many people have been burnt here, and it's a tough sell to upper management.
All CMS is necessarily a "proprietary, custom solution". All CMS (like all software) exists somewhere on the spectrum of "easy to use" vs "extensible and customizable".
If management chooses to rely on a vendor to set the roadmap, then they are fools, and there's not much you can do to help foolish management.
Here's another vote for SilverStripe. I've run it in production for a year and a half and been very happy with it's performance and caching options. (You can do partial caching all the way up to a full but automated static export.) The MVC framework borrows a bit from rails and makes it one of the nicest PHP CMSes to develop for. It's much more fun than managing WP custom post types and the interfaces I can create for end users are better. Downsides? Documentation could be better and not as many off-the-shelf modules available. Both LibreOffice.org and OpenStack.org are powered by SilverStripe.
For me personally, I'm moving away from Wordpress as well in favor of either hand-written static pages or just rolling quick Sinatra/Rails apps.
Now of course I don't expect that either of these is as user-friendly to many (and they don't solve many of the ailments that he cites without effort), but what I'm trying to escape from are the things that are just 'broken' about Wordpress. I hate the 'loop' that they use. I don't like PHP one bit compared to Ruby. No automated tests. I really dislike the way theming works generally. The layout of the entire application is just wrong to me. I like the ease of deployment, but I've got enough experience that deploying a Sinatra app takes me only seconds.
For me, what Wordpress once did for me quickly is no longer an asset generally. With my personal skills and experience I can much more quickly get a Rails/Sinatra blog off the ground than I can reskin a Wordpress one and beat it into submission.
yes, he is complaining that a blog software is not good enough for his clients corporate sites , for his clients like American Express , BP, MTV , BBC etc.
complaining that a passanger plane is not good enough to travel to outer space ...
This guy seems to be arguing that Wordpress should turn into a Drupal-like app, which it was never designed to do. Although I am also guilty of using WP for CMS on some simple sites, this is mostly due to convenience of installation and (mostly) ease of use for clients. I don't think most developers who use WordPress seriously consider it a "professional" CMS solution.
On the other hand, the alternatives kind of suck. This author doesn't even recommend one, which is odd considering he purports to have recommended WP to everyone for the last 4 years. Most other CMS solutions I've used over the last years have either been vastly overkill and overly cumbersome, or still severely lacking the features he describes as lacking in WP. It usually turned out almost as easy to develop your own skeleton CMS depending on the site's needs.
For some reason the site is trying to fill my entire monitor even though I have my window using only half the screen (Chrome, OSX). The font size I'm seeing is 25px for the body text...
Until now I haven't really been able to encapsulate my feelings towards Wordpress, but this hits most of the big points. One can really only do so much with custom post types and custom fields before the question has to be asked if it would better to build a new CMS.
Rolling a custom CMS every time a client needs something isn't really a good, flexible solution. There are other options out there, like CMSes built on top of existing frameworks (e.g. Diem or Sympal, which are built on Symfony), but I'm not really sure how viable those are. I am curious if anyone else has other ideas...
While I disagree with the author, he acknowledges that WP is good for blogging. He's arguing that it's not suitable as a general purpose CMS (for his clients).
Time and again, people want to use a hacked up blogging engine as a CMS and lament that it is not working.
Use a CMS that's been around for more than decade which has all the features you want in a proper CMS (single sign on, WYSIWGY, multi-lingual support, a huge community of developers and service providers).
The problem with CMSes that have "all the features you want" is that they have so many features that the average user who just needs to plonk some content down on a page and periodically edit it can't wade through all the features to figure out how to do that.
(I don't say this to pick on Plone -- I'm a big fan of the TYPO3[1] CMS, for instance, which does lots of the things that he mentions very well, but the downside to that power is that it's insanely hard for normal people to pick up and use.)
A few years ago i recommended website baker as a nice simple CMS, which is also hackable if necessary. That was three years ago. Maybe the situation has changed, but i would never recommend a complexity-monster like Typo3. Typo3 is "enterprisy" in the negative sense.
Don't be too hard on TYPO3, it has its virtues. For instance, it has the most elegant handling of multilingual content I've ever found in fifteen years of working with CMSes. But for a small single-language site (i.e. 99% of the sites people develop) it's definitely overkill.
For as complex as it is, TYPO3 is pretty usable. I built a site on TYPO3 before I ever messed with WordPress some 6 years ago. Now that I think of it, I'd probably opt for TYPO3 before Drupal.
Selecting and using a CMS requires time, preparation and mostly importantly a budget. If you haven't considered the any of these, then you can't really afford a CMS.
Zope is just a datastore that happens to be well suited for storing documents. Bad things happened because people did too much magic with zope. "With power comes responsibility" etc.,
After about 10 minutes with Plone, a few months with Joomla, about 2 years with Drupal, and finally 3 years with WordPress, I think WordPress is still a brilliant solution for lots of problems.
The closest competitor, Drupal, is an absolute nightmare. For designers, developers and certainly for the end user. It still doesn't even ship with a wysiwyg editor—hard to disagree that this is precisely what the end user wants.
In Drupal, developing themes is a nightmare, theming Views output is an absolute disaster, and upgrading modules/core will almost certainly result in a whitescreen.
I don't see an alternative to WordPress at the moment. If you want to give you clients a reasonable admin interface I don't see another way around it. And I don't find that clients mind it changing 2-3 times a year—they all say it gets better each time.
Though it certainly is blog-oriented, and you will have to twist and bend it to act as a CMS, having to do this is a lot more fun than trying to wrangle a Views template file.
Agreed. Before Automattic hired an in-house ui/ux person the admin interface was pretty rough and not pleasant to look at and reasonably okay to use. Moving forward from 3.0 the admin interface should still about the same with incremental refinements.
Drupal is halfway between an application framework (like Ruby) and a CMS (like Wordpress). For complex, content-driven sites there's nothing out there that comes close to providing the functionality that it does.
It's definitely overkill for a simple Wordpress style use case, where you have a user who wants to post to a blog. But it provides a lot of the functionality that the OP listed as missing from Wordpress.
There are plenty of cases where you would not need a WYSIWYG editor on a website - for example, when it's simply providing a web services API to another application, when it's just a front-end aggregating content from another source or when it's being used for mobile. All of which you can do with Drupal.
It's certainly not perfect, but it's definitely got it's uses.
It's safe to say that you didn't have a great Drupal experience, but did you really spend two years working with it and not see its advantages? I would have moved on long before that.
Drupal does have a steep learning curve, and it is certainly not for everyone. Out of the box, it's extremely easy to install... but you end up with nothing more than Wordpress until you extend it. The goal with any project though should be to find the tool that works best for the situation. For me, Drupal is (or at least can be) the answer the majority of the time.
Once you get Drupal, understand where everything is, comprehend nodes, can appreciate the beauty of blocks, and can recall which module you need for the specific situation - Drupal goes from being a nightmare to a dream. Projects that would normally take days to code in PHP or Rails end up taking hours with Drupal. You never have to think about validation, mobile compliance, or site speed if you know how to customize Drupal. To me, the best part is the community. Time and money is saved thanks to the huge number of modules and themes to choose from.
If you end up giving it another shot, check out the lynda training videos or grab a book from Amazon.
I already posted about this in a different sub-thread, but it's applicable here as well: Take a look at ProcessWire. It might very well cover 80% of Drupal's use cases, it's vastly easier to set up, extend, and maintain, and the admin UI is exquisitely minimal. I've used it on two projects so far, and with its roadmap, it's looking like my go-to CMS for years to come.
The fact that modules break, etc. imho is a Good Thing - in following the rule of "failing fast". Since, you dont need to change/hack the drupal core to do anything complex, if a module is breaking it is typically highlighting incompatibilities with other modules (99.99% of the time). Giving a white screen on module install is exactly the right time to have it happen, rather than 1 month later, when it goes live.
I completely agree with you on the admin UI part - I had just two main peeves with Drupal 6: Postgres support, which got fixed in Drupal 7 and admin UI, which is not yet done.
I also wish that they provide a couple of starter "installation profiles" - blog, wiki, corporate, etc. - enabling a quick start for 99% of the population.
"""After about 10 minutes with Plone, a few months with Joomla, about 2 years with Drupal, and finally 3 years with WordPress, I think WordPress is still a brilliant solution for lots of problems."""
I agree. And I think this says a lot of the sorry state of Open Source (actually, even proprietary) CMS engines.
Wordpress is kinda nice, but it too breaks down.
For sites after a certain level of complexity, instead of CMS like Drupal etc, what would be useful would be a CMS lib, to build your own solution around.
Don't have my work in your idiotic constraints, just give me something like (fake language):
I've used Wordpress on a number of sites for small businesses & restaurants lately. In every case it has fit the bill.
Other CMSs I've looked at are way overkill, and while I've toyed with the idea of building my own custom CMS, the fact is I can get everything I need in a 5-minute WordPress installation and 30 minutes of plugin configuration. Theme development is straight-forward and relatively well-documented.
The investment in rolling your own is a mite more than 35 minutes. Even the act of walling off or hiding portions of Drupal is more involved than that.
In the OP: they dont have a Tester. They just load it on their MacBooks and presume it works for the other 95% of the world
Really, wordpress.org users are the testers, wordpress.com users are the customers. I'd love to hear what the OP now recommends though, that would provide some good perspective.
Tons of free software projects have ESTABLISHED testing procedures. Have some of your developers/project members sit and check it is OK before shipping it.
Even more so, if you have a huge company and PAID developers on the project (Automatic).
WordPress core is not trying to be all things to all people. But can he tell me a CMS that makes it simpler to build out the requirements for a vast majority of the websites in the world?
If you are looking for a custom feature set on a project that you claim WordPress doesn't meet your needs, then build a custom CMS for the job and charge appropriately. WordPress allows organizations and individuals to have massive power in their website for a fraction of the cost of a custom CMS. And in comparison to a custom CMS, it gets a great deal of testing.
WordPress is always looking for new contributors, and if your solution isn't something that works for core and the WordPress core philosophy, then you can extend your idea via a plugin.
And in the author's list of things WordPress "has either no, or severely limited" support for, he is way off the boat. There are a slew of highly talented developers that either having working solutions for or are working on almost all of those things, and more.
These are the growing pains a lot of WP developers face at some point.
The problem is that WordPress is really, really good at basic things. Things which involve end users and ease of functionality, this covers quite a bit of actual work.
The problem arises when you need to extend that functionality outside the box, you're used to working with something great, you're taking it for granted that it can do anything.
Well it can't, some very basic functions like say a forms API or media API which you consider essential , does not even exist.
I think there has been a strain lately that the core team, especially with J. Wells leadership, has concentrated WAY to much on UI and Design. Developers are starting to look elsewhere for actual functionality that keeps up, the problem is so far there is not much out there that is easy to use.
This piece is not particularly constructive. While it's not required for an opinion piece to present the perfect alternative in order to rant against the status quo...to say "Wordpress sucks" and say nothing about the alternatives...? What good does that do?
I can think of lots of alternatives for the OP but all of them have certain costs/tradeoffs that are prohibitive in many scenarios. The OP goes into great detail describe how WP doesn't meet his needs...I'm really fascinated to know what alternative he's considered that does meet his clients need and that is realistically doable?
The author does not understand that if a theme is designed properly, an admin can mark comment as spam without editing the post. In addition, just about every single thing he thinks core Wordpress lacks can be added easily with a plug-in.
Consider this: in defense of WP, you're suggesting that the OP work around broken ACLs by installing a theme which allows users to circumvent the security model.
You need the CAPABILITY to be able to edit posts to be able to mark comments as spam. Many of my clients want to be able to delegate SPAM marking, but not have that person be able to edit any content on the website.
WordPress has hardcoded these two CAPABILITIES together for the last 13 releases.
Personally, I would create my own fork with this capability
and try to convince Wordpress to incorporate my changes.
How certain are you that you're going to find software that won't have similar problems? One of the reasons I like open source is that I have control and can make changes when necessary.
edit - also, you basically have customers that are saying they have a pain point, please solve it. I would tell them that Wordpress is designed for the majority and there may be edge cases that don't cover their particular usage. If they would like a customized solution, you can do it for them but it will cost x amount of dollars.
I find it hard to criticize the author for his obvious misunderstanding of the purpose of a certain piece of software and its inability to be anything other than what it is, as many people have tried and continue to try and convert their particular flavor of blogging software into the mess that is CMS and god forbid, an app.
It serves neither purpose well and someone who who claims to have been working on the internets ever since their immaculate inception should know better than to recommend [hosted] Wordpress to anyone other than the random dreamer who still thinks that they need a website from which to pontificate. In good conscience, I no longer even do that, as I find it to be a cruel exercise to inflict on someone who's otherwise harmless.
Generally speaking software tends to either start powerful and try to work its way towards usability, or start usable and try to work its way towards power. The latter approach almost always beats the former.
A simple but usable product attracts new users, those new users eventually start demanding features, the features eventually get added, the new features make the product attractive to more people, some of those people become new users, they demand even more features, etc. It's a virtuous circle.
The powerful but complicated product, on the other hand, doesn't attract new users, and its existing users learn to live with its idiosyncrasies, either because they want to or because their boss orders them to. So there's never enough real pressure on the developers to make it truly usable, which means it doesn't attract new users, which means there's no pressure to make it more usable, etc. It's a vicious circle.
WordPress has been pursuing the start-simple-and-get-powerful model, and they've made a lot more progress in that direction over the last couple of years than the start-powerful-and-get-usable (Drupal, Plone, TYPO3, etc.) have at making themselves more usable.
I do know nothing about Plone and TYPO3, but I had quite a lot of experience with Wordpress and Drupal. Do not be tricked by default Drupal installation UI. Drupal is very configurable by downloading right modules. (obviously you need to have experience with Drupal to know that).
> Do not be tricked by default Drupal installation UI
Defaults are extremely powerful things. For most users they are all of your product they will ever experience.
If your default settings are off-putting, people will feel that your software is off-putting. The defaults are the welcome mat. If the welcome mat is studded with titanium spikes coated with blowfish toxin, you shouldn't be surprised if people aren't eager to walk through the door.
I'm surprised there's no mention of the vulnerabilities in Wordpress or its plugins. I've had nothing but virus infestations on nearly every Wordpress install I've set up. I'm sure the problem lies more with the random plugins, but Wordpress itself sure makes it easy to find and install plugins with no kind of security audit.
Not sure how this is a problem with Wordpress. I'm sure a critical analysis of, say, the Firefox and Chrome plugins sites would turn up some quantity of malware as well.
The trick is to not download random plugins; stick to things with lots of reviews and lots of downloads. Installing some security plugins will help (WebsiteDefender, both the plugin and the service, is a good example), as will putting your site behind a protective CDN like CloudFlare (and since they're free, there's really no good reason not to do this..)
• If you are looking for an All-in-one Content Management System, I doubt WordPress or any other competitors would satisfy you.
• WordPress comes with an attitude and a path. And as long as you are in this same attitude and path, you are fine. Otherwise it's best to part ways...and stop complaining...
• You should have spent more time building plugins to complement the WordPress System. You waited for others to deliver to you... (which is a bad call for a developer of your stature)
I've found WordPress to be perfect for small-medium sized things. Blog posts/news, static pages, image galleries, easy Youtube, dead simple social addons, etc, etc.
I'd argue that WordPress is extremely solid and mature for these uses.
This is exactly the correct response to this article. He is looking for features this platform is not intended for. Developers have mutated this system by building a ton of plugins that extend WP to match a full featured CMS, and to be honest that's what most people look for, an easy solution to extend a website and connectivity with the popular API's like twitter, dropbox, flickr, crm's , etc. But you should be aware of its limitations.
I'd like to respond to some things a number of people have commented on HN here...
1) Wordpress might seem like just a blogging engine, but this is not how the WP developers see it -- on the Wordpress .org About page, it's described as "[Wordpress] has evolved to be used as full content management system" (sic). So they expect people to use it as a CMS.
2) Plone, unless you have a lot of technical chops, is a nightmare to use and maintain. My SO had one set up for her non-profit less than a year ago and they've had so many problems with memory, weird WYSIWIG bugs/behavior (stripping all sorts of tags, including nobr, for one), confusing configuration, costly and/or poor quality plugins, frequent need to modify source, etc that they're looking to move off it ASAP. So I wouldn't recommend it if you're setting up an instance for non-technical folk.
And they appear to facilitate that. But, it tellingly IMO, doesn't say that WP was designed as a CMS or even that it was modified to become a CMS just that it has grown to be used as a CMS.
why have a tester work on a beta version? It's free software labelled Beta , it doesn't load on IE x , this happens. If it was released as stable, then there's a reason. You wouldn't be deploying the beta version to your clients anyway. But here is the point. You are running a for profit business, use a tool that fits the needs of your clients and the skill set of your staff. Have it built. WordPress doesn't have the features you need, things you want are not on the roadmap, and it's buggy. Why didn't you switch away earlier ?
WordPress wasn't ever in the building. Or at least it wasn't in the building the author wanted it to be.
Lots of folks have tried to force Wordpress to be more than a blog platform. I've always seen these efforts in the same light as when guys dumps tons of money and time squeezing horsepower of a Honda Civic: end of the day, it's still a Civic that get its lunch eaten by a stock 'Vette.
Look, you just don't get power and flexibility in the same package as intuitive and simple. The best you can do is cut one to boost another. Take iOS. Intuitive as hell. Flexible as a piece of rebar.
Drupal's been mentioned in other comments. It's crazy powerful and very flexible... it's the Corvette to the hopped up Civic that is Wordpress. It's also hard to learn, the interface can be...challenging and the plumbing is complex.
Edit: Downvote me if you must but at least communicate why...did you build a 11 second Civic or something? ;)
as I've viewed when guys dumps tons of money and time squeezing horsepower of a Honda Civic
Exactly. It's still a fucking Honda, and for the time/money spent on it you should have bought a Lexus. Similarly you can tweak wordpress all day long, in the end it's a blogging software.
FWIW, 92% of WordPress users we surveyed are using it as a CMS. People seem to like to say "it's just blogging software" to put us in a box, but people are using it for so much more, and most much happier than the OP.
How did you define CMS? I've learned (the hard way) that the acronym does not have a uniform definition.
Wordpress is the PHP of web publishing platforms. The barrier to entry is low, you can get decent results quickly, and it provides a great deal of power to the unskilled user. There are lots of things that it's good for; I'd say, in fact that in most cases it's all a company needs.
But it's really easy for it to become the only tool in the box, and pretty soon someone is in over his head trying to brute force it into being the solution to a problem that it was never designed to solve.
I d rather have wordpress be the best blogging software then a Swiss army knife that isn't great at anything. Btw I have used wp to do just about anything, but the only times it was great was for blogging.
Even in the best case- dropping an imported B18 into a stripped CRX HF- even though you'll beat many corvettes it's STILL a Honda. A stripped Honda at that.
Now on the other hand, if you started with a British Mini...
222 comments
[ 3.5 ms ] story [ 264 ms ] threadMostly because as a first-time poster, no-one knows you here and it would be good to see some impartiality or at least a critical argument about what sets concrete5 apart in respect to addressing the concerns of the article.
I agree with others above that the author could have mentioned alternatives.
Ease of install and being able to run on a $3/mo hosting plan is not the game CMSes play.
PS: I was thinking more £30 to £100/month with someone else handling the platform...
(Although it has it share of cons too, it can do many of the items on the list. Some require coercing, but doable.)
edit, in progress:
- Document management- No, not Word, Excel files etc. but can do revisions/diffs on site content, and manage files to some degree.
- Workflow management- http://drupal.org/project/workflow
- Digital asset management- http://drupal.org/project/media
- Link management - http://drupal.org/project/pathauto and others... not sure what you need here.
- User management - Default may do what you need, can do more.
- ESI Caching / CDN ability. - (no esi in drupal 7) / http://drupal.org/project/cdn
- WYSIWYG editing- Many options but sometimes flaky.
- Single Sign-on- http://drupal.org/project/bakery
- Multi-side Admin - Not sure. Different user groups can have different access.
- Publishing options - Quite a few. what do you need?
- Access Management - http://drupal.org/project/acl and more.
- Application - ?
- Multi-lingual - http://drupal.org/project/i18n
- n-to-n content sharing- user to user sharing?
- Reporting - what kind?
Disclaimer: I've used it for a few projects; More experience than word-press or joomla.
I think every single CMS/platform/framework can be criticized or even demonized if you search well.
Our aim is to get close to the power of something like Drupal with a simple and usable interface that's a joy to use. All fully hosted, requiring no maintenance.
We're the only hosted system that is also truly extendible (you can build extensions in server-side javascript) and we're seeing both tiny one-pages and large content driven pages being built with our product by now.
I would love to check it out; but if I don't like it or it won't work for my clients it's a total hassle.
It would not take much for them to setup a personal sandbox demo just like spree commerce does ( http://spreecommerce.com/demo )
It can't be that they don't want people to think the product is too complicated before purchase, as their after purchase help docs are limited and they have no personal follow up or checkin.
EE is pretty powerful in enabling you to get a site with multiple customized CRUD data up and running quick. Though the makers of EE need to do some serious work on documentation, as it took me about a week to fully understand how all the parts fit together (Our designer is having major issues wrapping her head around it). As with most any other CMS, when you hit the limit of EE, it is a hassle to add that one small item you need.
There is an active 3rd party plugin community. With quite a few being paid plugins.
The overall license charge and additional plugins are just a drop for any major project. It is exciting to know there are a few 3rd party folks making some good money on small EE plugins. I may just write a few of my own.
In general the plugins / addons create much less problems than the Drupal equivalents. Also, from what I heard is that it's now easier to hack EE through its CodeIgniter base.
Prce is an issue, but really, what is 200USD if you're billing thousands for the whole project? Lack of a demo, no excuse for that if it really is the case.
It's not free software but from my biased perspective its by far the best CMS I've ever used and my clients love it.
Demo here: http://demo.wheelhousecms.com
I think if we're honest, wordpress is a blogging platform and if you try to deform it into your own little niche needs, you need to accept the inherent risks.
"This would actually be a much smaller issue if it wasn’t for the WordPress’ update schedule. I am 100% for constant updating of software, but the current desire to redesign the AdminUI 2-3 times a year creates a huge amount of friction from both clients and developers."
"Kev, they released a BETA version that they didn’t even load on Windows. The MENU didn’t work. Not some advanced feature throwing a bug, the fucking MENU didn’t work. I can’t test our themes and software against that. Lets be honest mate, how did it get past their tester and release procedure? Oh, thats right, they dont have a Tester. They just load it on their MacBooks and presume it works for the other 95% of the world. It’s a fucking shambles, and clearly they’ve learnt nothing since the 3.0 fuck-up."
I work with WordPress a lot, and have regularly had similar issues. Even as a blogging platform, WordPress is increasingly difficult to manage.
I agree that WordPress's issues multiply in proportion to how much you want it to do, but the fact that prerelease software has bugs is not one of them.
No, that's not what beta means. I expect core functionality to work properly in a beta. I expect there to be intermittent issues, and I expect advanced/fringe features to maybe sometimes not work. I expect there to be workarounds for most (but not all) issues that crop up. But the freakin' main menu didn't work. How is that beta-quality? I'd hesitate to call it alpha-quality.
And yes, I know, it's open source, it's free, you shouldn't feel entitled. I know. I wrote and maintained open source software for 5 years. But c'mon, from the perspective of the developer, have enough pride in your work to at least do a little testing before throwing a release over the fence.
2. The article is a bit vague (which doesn't help its case), but if the bug is the one I'm thinking of, saying that "the main menu didn't work" is a bit of an exaggeration. I believe the actual issue was that the main menu didn't work in Explorer. Broken Explorer support is very common among beta software unless they're specifically targeting Explorer specially.
I expect bugs, yes, but the "traditional" meaning of beta is that core functionality is done and it's passed through QA and some form of alpha stage with internal and some trusted external testers to catch, at a minimum, glaringly obvious stupidity.
I'll excuse a beta release with some significant but not absolutely critical feature clearly walled off and labelled "this bit doesn't work yet". I'll not excuse one where critical functionality becomes clearly unusable just by virtue of running on a supported platform. That's so beyond the pale for what is -- even if in a twisted/attenuated sense -- a commercial product as to reflect nothing less than utter incompetence.
If Wordpress was mission critical for my business, after reading this article I'd be investigating their build process very carefully. If it turns out that they don't have an effective test phase, I'd be migrating my customers to an alternative as fast as I could.
That said, any CMS will struggle with the challenges that he lists. It's not some sort of magical entity where you turn it on and it's perfect.
I feel bad for his clients...
Drupal does have wysiwyg implemented as a module http://drupal.org/project/wysiwyg (actually several competing editors are possible),
Drupal also can do automated updates, though I wouldn't advise it. Drush works for it, http://drupal.org/project/drush and a lot of people use it with great success. You would want a carefully vetted rollback plan though. The better road is to forgo updates other than security until scheduled maintenance or a MUST have feature is present. The GUI /update process is actually quite nice if you've set everything up properly.
The thing about Drupal is doing everything doesn't have to be painful, but if you've approached it in a "non-Drupal" way it can get bad quickly. Drupal is complex and the hand off to a customer is never easy with complex software. Have you tried the same with Plone?
Understatement of the year so far.
I love Drupal, but since there's no bright line separating configuration and content, rolling features up from a dev environment to staging to live can sometimes be a nightmare, particularly if the Features and Strongarm modules don't have you covered.
Drupal is extremely powerful, but would be a nightmare for users used to the WP platform.
This may just be my lack of experience in Drupal talking (I've got plenty of experience in PHP, just not Drupal), but I put a pretty decent amount of thought into the matter and even mocked up simple prototypes just to see if there was something I was missing.
I have had an absolutely terrible experience with it, which sadly isn't unique amongst these big PHP projects.
My primary job for the last 2 years has been developing a Drupal site for a group of daily newspapers with monthly page views in the low 8 figures.
We were in a situation where we had to get a site up quickly (Our small group was bought off from a much larger conglomerate, so the huge $$$$ Java system we had been using went away). Drupal allows us to get a tolerable site up in about 3 months, and a much better site up about 6 months later. Have there been pain points? Sure. But if we'd used anything else there's no way we would have been on our feet nearly as quickly.
Are we investigating other options? Of course, if I wasn't I wouldn't be doing my job. There's a part of me that would love to rewrite the whole thing in Rails or Django. That would be a huge undertaking though.
We've had different experiences, but I wouldn't touch it with a 10' bargepole, not any more. And I'm glad I've been managing to encourage my boss to start moving away from it. The only positive thing I've been able to take from it is a list of things never to do in my own code.
Like I say, it's not just Drupal. It's a side-effect of over-complication in the name of simplicity, and trying to run in parallel a system that makes it easy for non-devs to use. It's a recipe for disaster if you want lean, maintainable code.
Oh, and it causes performance problems too.
For these people, I would strongly recommend a look at ProcessWire. It's kind of like a radically simplified Drupal that is at least as easy to use as WordPress, if not more so, and has a similar attention to design and detail. I've been using it for a few months now across two very different projects, and I'm wishing I'd found it earlier.
Here is a great blog post about the transition from WP to EE written by one of our designers - http://www.viget.com/inspire/wordpress-to-expressionengine/
and here is another unique EE site that shows the flexibility of its native theming system -
www.teamviget.com
Might want to revise that to "from WP to EE."
Template processing is slow, processing order is wonky, and it's very easy to create N+1 query loops that can only be avoided by writing custom SQL queries/php. They also made some poor database structure choices in certain areas.
Mostly though it just boggles the mind why they put so much effort into creating a regex-based templating system when the app is already just PHP.
Still, probably the best CMS I've used and it certainly has its uses. I just wouldn't use it to develop anything complicated ever again.
At its core, ProcessWire just gives you an extensible, hierarchical (and relational when you need it) model to build upon, and then gives you a really slick jQuery-style syntax by which to access it. You build templates in PHP, but the selector syntax is so easy to work with, it brings to mind WordPress theming.
One of its founding principles is that it is markup-agnostic. I'm using it right now for an XML source that feeds a site (and possibly later a mobile site, an app, or anything), with the XML being a ProcessWire template.
In addition to repeatable fields, they're planning a versioning system, staging states, and even a forms builder. Not exactly earth-shaking for a normal CMS, but these will open up all sorts of possibilities for ProcessWire.
For me it's rails for the complex stuff, SilverStripe for the simple sites. Keeps me and clients happy.
Still the best open source CMS I have used.
Like project management systems, CMS is destined to be reinvented by everyone, every day of the week.
If management chooses to rely on a vendor to set the roadmap, then they are fools, and there's not much you can do to help foolish management.
Now of course I don't expect that either of these is as user-friendly to many (and they don't solve many of the ailments that he cites without effort), but what I'm trying to escape from are the things that are just 'broken' about Wordpress. I hate the 'loop' that they use. I don't like PHP one bit compared to Ruby. No automated tests. I really dislike the way theming works generally. The layout of the entire application is just wrong to me. I like the ease of deployment, but I've got enough experience that deploying a Sinatra app takes me only seconds.
For me, what Wordpress once did for me quickly is no longer an asset generally. With my personal skills and experience I can much more quickly get a Rails/Sinatra blog off the ground than I can reskin a Wordpress one and beat it into submission.
complaining that a passanger plane is not good enough to travel to outer space ...
On the other hand, the alternatives kind of suck. This author doesn't even recommend one, which is odd considering he purports to have recommended WP to everyone for the last 4 years. Most other CMS solutions I've used over the last years have either been vastly overkill and overly cumbersome, or still severely lacking the features he describes as lacking in WP. It usually turned out almost as easy to develop your own skeleton CMS depending on the site's needs.
Also, why is the font on the site so large?
Another error I caught: softwre
I guess he needs spell check on top of WYSIWYG, too?
Rolling a custom CMS every time a client needs something isn't really a good, flexible solution. There are other options out there, like CMSes built on top of existing frameworks (e.g. Diem or Sympal, which are built on Symfony), but I'm not really sure how viable those are. I am curious if anyone else has other ideas...
Who's hating?
So presumably this is hyperbole and you'd still recommend it, only for a more limited range of sites.
The big question, as others have said I think, is what do you now recommend?
Use a CMS that's been around for more than decade which has all the features you want in a proper CMS (single sign on, WYSIWGY, multi-lingual support, a huge community of developers and service providers).
ie., Plone -- http://plone.org
(I don't say this to pick on Plone -- I'm a big fan of the TYPO3[1] CMS, for instance, which does lots of the things that he mentions very well, but the downside to that power is that it's insanely hard for normal people to pick up and use.)
[1] http://typo3.org
http://www.websitebaker2.org
Selecting and using a CMS requires time, preparation and mostly importantly a budget. If you haven't considered the any of these, then you can't really afford a CMS.
Also, Zope based. I worked with Zope building large portals from 2000-2004. Worked, but not a very pleasant experience.
Zope is just a datastore that happens to be well suited for storing documents. Bad things happened because people did too much magic with zope. "With power comes responsibility" etc.,
The closest competitor, Drupal, is an absolute nightmare. For designers, developers and certainly for the end user. It still doesn't even ship with a wysiwyg editor—hard to disagree that this is precisely what the end user wants.
In Drupal, developing themes is a nightmare, theming Views output is an absolute disaster, and upgrading modules/core will almost certainly result in a whitescreen.
I don't see an alternative to WordPress at the moment. If you want to give you clients a reasonable admin interface I don't see another way around it. And I don't find that clients mind it changing 2-3 times a year—they all say it gets better each time.
Though it certainly is blog-oriented, and you will have to twist and bend it to act as a CMS, having to do this is a lot more fun than trying to wrangle a Views template file.
It's definitely overkill for a simple Wordpress style use case, where you have a user who wants to post to a blog. But it provides a lot of the functionality that the OP listed as missing from Wordpress.
There are plenty of cases where you would not need a WYSIWYG editor on a website - for example, when it's simply providing a web services API to another application, when it's just a front-end aggregating content from another source or when it's being used for mobile. All of which you can do with Drupal.
It's certainly not perfect, but it's definitely got it's uses.
Drupal does have a steep learning curve, and it is certainly not for everyone. Out of the box, it's extremely easy to install... but you end up with nothing more than Wordpress until you extend it. The goal with any project though should be to find the tool that works best for the situation. For me, Drupal is (or at least can be) the answer the majority of the time.
Once you get Drupal, understand where everything is, comprehend nodes, can appreciate the beauty of blocks, and can recall which module you need for the specific situation - Drupal goes from being a nightmare to a dream. Projects that would normally take days to code in PHP or Rails end up taking hours with Drupal. You never have to think about validation, mobile compliance, or site speed if you know how to customize Drupal. To me, the best part is the community. Time and money is saved thanks to the huge number of modules and themes to choose from.
If you end up giving it another shot, check out the lynda training videos or grab a book from Amazon.
The fact that modules break, etc. imho is a Good Thing - in following the rule of "failing fast". Since, you dont need to change/hack the drupal core to do anything complex, if a module is breaking it is typically highlighting incompatibilities with other modules (99.99% of the time). Giving a white screen on module install is exactly the right time to have it happen, rather than 1 month later, when it goes live.
I completely agree with you on the admin UI part - I had just two main peeves with Drupal 6: Postgres support, which got fixed in Drupal 7 and admin UI, which is not yet done. I also wish that they provide a couple of starter "installation profiles" - blog, wiki, corporate, etc. - enabling a quick start for 99% of the population.
I agree. And I think this says a lot of the sorry state of Open Source (actually, even proprietary) CMS engines.
Wordpress is kinda nice, but it too breaks down.
For sites after a certain level of complexity, instead of CMS like Drupal etc, what would be useful would be a CMS lib, to build your own solution around.
Don't have my work in your idiotic constraints, just give me something like (fake language):
front_page_articles = get("type"=>"article", "limit"=>5, "published"=>true, "order"=>"DESC");
search_results = search("query"=>$query, "limit"=>100, "order"=>"RELEVANCE", "range"=>[10,20]);
add_document("body"=>$body, "title"=>$title, "createdBy"=>getCurrentUser().id. ...);
The thing that Apache Jackrabbit could be, but isn't exactly/yet.
Other CMSs I've looked at are way overkill, and while I've toyed with the idea of building my own custom CMS, the fact is I can get everything I need in a 5-minute WordPress installation and 30 minutes of plugin configuration. Theme development is straight-forward and relatively well-documented.
The investment in rolling your own is a mite more than 35 minutes. Even the act of walling off or hiding portions of Drupal is more involved than that.
Really, wordpress.org users are the testers, wordpress.com users are the customers. I'd love to hear what the OP now recommends though, that would provide some good perspective.
Tons of free software projects have ESTABLISHED testing procedures. Have some of your developers/project members sit and check it is OK before shipping it.
Even more so, if you have a huge company and PAID developers on the project (Automatic).
If you are looking for a custom feature set on a project that you claim WordPress doesn't meet your needs, then build a custom CMS for the job and charge appropriately. WordPress allows organizations and individuals to have massive power in their website for a fraction of the cost of a custom CMS. And in comparison to a custom CMS, it gets a great deal of testing.
WordPress is always looking for new contributors, and if your solution isn't something that works for core and the WordPress core philosophy, then you can extend your idea via a plugin.
And in the author's list of things WordPress "has either no, or severely limited" support for, he is way off the boat. There are a slew of highly talented developers that either having working solutions for or are working on almost all of those things, and more.
The problem is that WordPress is really, really good at basic things. Things which involve end users and ease of functionality, this covers quite a bit of actual work.
The problem arises when you need to extend that functionality outside the box, you're used to working with something great, you're taking it for granted that it can do anything.
Well it can't, some very basic functions like say a forms API or media API which you consider essential , does not even exist.
I think there has been a strain lately that the core team, especially with J. Wells leadership, has concentrated WAY to much on UI and Design. Developers are starting to look elsewhere for actual functionality that keeps up, the problem is so far there is not much out there that is easy to use.
I can think of lots of alternatives for the OP but all of them have certain costs/tradeoffs that are prohibitive in many scenarios. The OP goes into great detail describe how WP doesn't meet his needs...I'm really fascinated to know what alternative he's considered that does meet his clients need and that is realistically doable?
The author does not understand that if a theme is designed properly, an admin can mark comment as spam without editing the post. In addition, just about every single thing he thinks core Wordpress lacks can be added easily with a plug-in.
You need the CAPABILITY to be able to edit posts to be able to mark comments as spam. Many of my clients want to be able to delegate SPAM marking, but not have that person be able to edit any content on the website.
WordPress has hardcoded these two CAPABILITIES together for the last 13 releases.
<1% of spam gets through by using spam filters.
How certain are you that you're going to find software that won't have similar problems? One of the reasons I like open source is that I have control and can make changes when necessary.
edit - also, you basically have customers that are saying they have a pain point, please solve it. I would tell them that Wordpress is designed for the majority and there may be edge cases that don't cover their particular usage. If they would like a customized solution, you can do it for them but it will cost x amount of dollars.
http://webcache.googleusercontent.com/search?q=cache:http://...
It serves neither purpose well and someone who who claims to have been working on the internets ever since their immaculate inception should know better than to recommend [hosted] Wordpress to anyone other than the random dreamer who still thinks that they need a website from which to pontificate. In good conscience, I no longer even do that, as I find it to be a cruel exercise to inflict on someone who's otherwise harmless.
A simple but usable product attracts new users, those new users eventually start demanding features, the features eventually get added, the new features make the product attractive to more people, some of those people become new users, they demand even more features, etc. It's a virtuous circle.
The powerful but complicated product, on the other hand, doesn't attract new users, and its existing users learn to live with its idiosyncrasies, either because they want to or because their boss orders them to. So there's never enough real pressure on the developers to make it truly usable, which means it doesn't attract new users, which means there's no pressure to make it more usable, etc. It's a vicious circle.
WordPress has been pursuing the start-simple-and-get-powerful model, and they've made a lot more progress in that direction over the last couple of years than the start-powerful-and-get-usable (Drupal, Plone, TYPO3, etc.) have at making themselves more usable.
And I am not talking about code side...
Defaults are extremely powerful things. For most users they are all of your product they will ever experience.
If your default settings are off-putting, people will feel that your software is off-putting. The defaults are the welcome mat. If the welcome mat is studded with titanium spikes coated with blowfish toxin, you shouldn't be surprised if people aren't eager to walk through the door.
Op is _developer_.
The trick is to not download random plugins; stick to things with lots of reviews and lots of downloads. Installing some security plugins will help (WebsiteDefender, both the plugin and the service, is a good example), as will putting your site behind a protective CDN like CloudFlare (and since they're free, there's really no good reason not to do this..)
• WordPress comes with an attitude and a path. And as long as you are in this same attitude and path, you are fine. Otherwise it's best to part ways...and stop complaining...
• You should have spent more time building plugins to complement the WordPress System. You waited for others to deliver to you... (which is a bad call for a developer of your stature)
I'd argue that WordPress is extremely solid and mature for these uses.
1) Wordpress might seem like just a blogging engine, but this is not how the WP developers see it -- on the Wordpress .org About page, it's described as "[Wordpress] has evolved to be used as full content management system" (sic). So they expect people to use it as a CMS. 2) Plone, unless you have a lot of technical chops, is a nightmare to use and maintain. My SO had one set up for her non-profit less than a year ago and they've had so many problems with memory, weird WYSIWIG bugs/behavior (stripping all sorts of tags, including nobr, for one), confusing configuration, costly and/or poor quality plugins, frequent need to modify source, etc that they're looking to move off it ASAP. So I wouldn't recommend it if you're setting up an instance for non-technical folk.
And they appear to facilitate that. But, it tellingly IMO, doesn't say that WP was designed as a CMS or even that it was modified to become a CMS just that it has grown to be used as a CMS.
Lots of folks have tried to force Wordpress to be more than a blog platform. I've always seen these efforts in the same light as when guys dumps tons of money and time squeezing horsepower of a Honda Civic: end of the day, it's still a Civic that get its lunch eaten by a stock 'Vette.
Look, you just don't get power and flexibility in the same package as intuitive and simple. The best you can do is cut one to boost another. Take iOS. Intuitive as hell. Flexible as a piece of rebar.
Drupal's been mentioned in other comments. It's crazy powerful and very flexible... it's the Corvette to the hopped up Civic that is Wordpress. It's also hard to learn, the interface can be...challenging and the plumbing is complex.
Edit: Downvote me if you must but at least communicate why...did you build a 11 second Civic or something? ;)
Exactly. It's still a fucking Honda, and for the time/money spent on it you should have bought a Lexus. Similarly you can tweak wordpress all day long, in the end it's a blogging software.
Wordpress is the PHP of web publishing platforms. The barrier to entry is low, you can get decent results quickly, and it provides a great deal of power to the unskilled user. There are lots of things that it's good for; I'd say, in fact that in most cases it's all a company needs.
But it's really easy for it to become the only tool in the box, and pretty soon someone is in over his head trying to brute force it into being the solution to a problem that it was never designed to solve.
Now on the other hand, if you started with a British Mini...
At the risk of being pedantic, I think you mean Acura (http://en.wikipedia.org/wiki/Acura).