Hacker News new | past | comments | ask | show | jobs | submit login

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.

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 -


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.

> ...that have made the switch from EE to WP have loved it.

Might want to revise that to "from WP to EE."

Yeah, that confused my balls.

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.

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.

The roadmap for 2012 is actually pretty exciting: http://processwire.com/about/roadmap/

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.

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.

Just my 2 cents about XML. Don't use it as a feed for data. It's better to use JSON. Specially for mobile applications.

At least with ProcessWire, it would be pretty straightforward to re-template it to output JSON instead of XML (or keep both).

If you play it that way: At least WordPress is user friendly ;)

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact