jgarber / radiant-chronicle-extension

Provides history, diffs, and dev-only drafts to Radiant CMS
Other
42 stars 17 forks source link

h1. Chronicle

In an enterprise production environment, it's critical that content editors, designers, and developers be able to edit pages and preview their changes without affecting the live version and that site administrators be able to see who changed what and roll back if necessary.

This extension adds versioning to pages, snippets, and layouts and uses their status to determine its visibility. The most recent published or hidden version is visible in live mode and the most recent version, a.k.a. the "current version," is visible in dev mode regardless of its status. Thus, you can work on a draft in dev mode, preview exactly how it will look, and then make it live when you are ready by changing its status to published.

h2. An example

Look at the revision history of the home page of example.com:

...22  23  24  25
---*---*---*---@
           ^   ^
   Published   Draft
  (live mode)  (dev mode)

If you went to example.com/ you would see version 24. If you went to dev.example.com/ you would see version 25.

Many people overlook the dev mode feature of Radiant. If you don't know about it, see "How to Setup Dev Mode":http://wiki.radiantcms.org/How_To_Setup_Dev_Mode on the Radiant wiki. You can also set a live.host configuration option if you don't access Radiant admin at the live host.

Some terminology used in the specs:

h2. Features:

Someday/maybe:

h2. Installation

./script/extension install chronicle

(from the radiant application root)

git clone git://github.com/jgarber/radiant-chronicle-extension.git vendor/extensions/chronicle
cd vendor/extensions/chronicle
git submodule init
git submodule update
cd ../../..
rake RAILS_ENV=production radiant:extensions:chronicle:migrate
rake RAILS_ENV=production radiant:extensions:chronicle:update

h2. Acknowledgements

Written by Jason Garber for Eastern Mennonite University Thanks to Anton Astashov and Brenton Cheng for the PageVersioning extension, which provided some inspiration for Chronicle