Development

I’ve Got This. Hold My Draft.

Caroline Casals, Developer
#Drupal | Posted

Stop me if you’ve heard this one before.

You’re working on a big, time-sensitive update to a page. Maybe it’s a landing page, or a home page. Whatever it is, stakeholders are involved, and Big Names are giving input. You’ve got 15 versions of this in draft. Your workflows are performing perfectly and launch is ten days away.

Then, disaster strikes.

Someone has noticed a typo—on the published page. You can’t unsee it. Big Names get notified and suddenly the new page isn’t what everyone is talking about. There’s that glaringly obvious typo and it

must

be

fixed.

If you’ve been here before, you know Drupal just isn’t your friend right now. You can’t edit the published version of the page without playing some truly intense revisions hopscotch.

Editors of yesteryear would have played that hopscotch at 10PM hoping no site visitors noticed. That was not a happy thing. That was darkness and despair. Today though, you’ve got options. Today you can confidently stride into typo-aggedon and with bold swagger, place your hand on Big-Name’s shoulder, and loudly proclaim:

“I’ve got this. Hold My Draft.”

Introducing Hold My Draft

We’re happy to announce Hold My Draft, our new workflow module that does one very important thing for typo-aggedons across the Drupal-verse: giving you the ability to edit a published revision when you have forward drafts. Granted, it’s a rather specific problem, but it’s a specific problem you don’t have to worry about anymore.

Here’s how the draft-hold process works:

  • To kick off a draft-hold on a specific page, head to the Revisions tab.

  • Once there, if you have a forward revision ahead of the published one, you’ll be able to “clone and edit”.

  • Hold My Draft will track (hold) the latest draft of the page the instant you do this.

  • You can then make any changes or as many revisions as you’d like to the published page. When you’re done, you can complete or cancel the draft-hold.

Completing a draft-hold will triumphantly place your draft back on top of the revisions pile. Your held draft has been handed back to you after the crisis has been averted. Or you can cancel the draft-hold, leaving the once-held draft behind in the dustbin of the revisions archive.

This module is designed to step lightly on the core revisioning system—there’s never a destructive process so you don’t need to worry about data loss. Hold My Draft simply notes the revision ID of your draft for retrieval later and uses core revision reversion.

No odd revision states.

No custom revision hijinks.

No restrictions on functionality while a draft is held.

[Note: this module requires the Core Content Moderation module but it will work on content that is not moderated. Any revisioned node with forward revisions can utilize Hold My Draft.]

This is an alpha release and at present only works for nodes. We have some more features we’d like to put in, like at-a-glance reporting on in-progress draft-holds, but we’re also excited to share Hold My Draft as is. Got a feature request? Hit us up in the issue queue!

We’re excited to share this module in the hope that we all have one less thing to stress about in this big crazy world of digital experiences. May you never need to play revision hopscotch again; may you always be able to fix that published page; and may Big Names everywhere sleep a little easier. Thanks all, and good luck out there.

PS, like our admin theme? It’s the new Claro admin theme, the refresh of Seven that’s in progress.

Caroline Casals

Caroline Casals

Developer