Concurrent Draft

The ConcurrentDraft extension enables draft versions of pages, snippets and layouts, which can be scheduled for promotion to Production. Every such artifact (page, snippet or layout) can have a concurrent draft version, which will be displayed in development mode, and a promoted live version, which will be displayed in production mode.

Created by: Andrew vonderLuft and Sean Cribbs, August 2008, in Portland Oregon

Version History

  • 1.0.0 – Compatible with Blade UI – 0.9 and above
  • 0.8.0 – Compatible with Radiant 0.8.0 and above
  • 0.7.1 – Compatible with Radiant 0.7.1

Requirements

  • Radiant 0.7 or greater

Installation

With the Radiant Extensions registry:

  • From your Radiant root run:
script/extension install concurrent_draft
rake radiant:extensions:concurrent_draft:migrate
rake radiant:extensions:concurrent_draft:update  
  • Restart your radiant app, and you should be good to go.

Using the gem

  • Install the gem
gem install radiant-concurrent_draft-extension
  • Update your Radiant config: add to environment.rb with other gem.configs
config.gem 'radiant-concurrent_draft-extension', :lib => false

Caveats

Scheduled times are dependent on the ActiveRecord time setting. If you want to use local time, add this to your environment.rb:

config.active_record.default_timezone = :local

Acknowledgments

  • Andrew conceived of the ideas for this extension and its initial design, and did model changes, migrations, and initial code for pages.
  • Sean collaborated on its expansion and refactoring to include snippets and layouts, and produced most of the final code, including all of the UI.
  • Andrew refactored the UI for Radiant 0.9 and higher, added i18n, and gemified the extension.
  • After some discussion, they rightly identified the mystery piece as a Haydn Cello concerto.