One of the coolest features in WordPress is the ability to track document changes and compare documents from one revision to another.  If you haven't played with this yet, go and do it now.

I'll wait.

The Luster Has Faded

As cool as the new revisions feature might be, the luster of the shiney new feature has begun to fade.  In short, there's a lot it doesn't do, and a lot it should.

Consider this client story:

Stacey has hired you to build a new theme for her WordPress site.  You work night and day to create the most stunning design imaginable and come in on-schedule and under-budget.  Stacey is thrilled and starts using the theme immediately.

A week later, Stacey is presenting a new product at a trade show and calls to put you on retainer to fix any immediate issues that crop up.  You agree, and start watching your inbox to make sure you can fix any issues immediately - a happy client means ongoing business.

On Friday, you get a cryptic email from Stacey, "everything has been find so far. Well, except for an image that broke the layout yesterday. I took a screenshot of the page so you can see what broke. For now, I've removed the image because it's my most highly-visited page and I can't leave the broken page up. Can you fix it?"

Thanks to post revisions, you can go back in time and see the markup that Stacey was using.  You can see exactly where the image was placed and how it was wrapped with content.

It would be really easy to copy that markup, paste it into your local environment, and hack away to fix the bug, right?

Except it won't work.

The Fix

Right now, the post revisions page gives you a neat side-by-side comparison of each paragraph.  Due to the way the markup is built, though, you can't copy the old revision with the mouse - you have to copy each paragraph individually.  Moving content from a revision to a staging environment to debug live issues is ... time-consuming.

The smallest fix here would be to change the markup - but that's not what I'm proposing.

Instead, I think editors should be able to restore a revision as a draft on the site (rather than rolling back the live post to the revision).  This would allow content editing, exports, etc without affecting the state of the live post.

This is a change to core - the ability to somehow export a specific revision - that would have drastically affected my editorial workflow over the past two weeks.