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.
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 -
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.
Might want to revise that to "from WP to EE."
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.
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.
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...
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.
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.
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?
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.
For me it's rails for the complex stuff, SilverStripe for the simple sites. Keeps me and clients happy.
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.
Still the best open source CMS I have used.