[ANN] Radiant 0.7.0 - Intaglio Release


Looks like it’s time for another release of Radiant:


Radiant 0.7.0 “Intaglio” culminates six months of refactoring and bug-
fixing by a dedicated team of contributors. The major milestone crossed
with this release is that the admin controllers have been refactored
toward Rails’ RESTful design. In addition, these changes are of note:

  • A beautiful new database template by Paul du Coudray is included.
  • Rails 2.1.2 is included.
  • Radiant is now compatible with Ruby 1.8.7.
  • The extension installer is more helpful, and more friendly with git.
  • The caching mechanism supports nginx-style X-Accel-Redirect headers
    and ETags.
  • RSpec and RSpec-Rails are no longer included, but use gem
  • Extensions can now use timestamped migration numbers.
  • Updated gems of RedCloth and BlueCloth (RDiscount) will be preferred
    over the pre-packaged versions if installed.

There were over 80 changes to this release! A big thank you goes to all
of the sprint weekend attendees and hack night contributors. Well done!


Radiant is a no-fluff content management system made for designers and
programmers and is ideal for use on small teams. It is similar to
Movable Type or Textpattern, but is much more than a blogging engine.

Radiant features:

  • An elegant user interface
  • The ability to arrange pages in a hierarchy
  • Flexible templating with layouts, snippets, page parts, and a
    custom tagging language (Radius: http://radius.rubyforge.org)
  • A dynamic extension system
  • A simple user management/permissions system
  • Support for Markdown and Textile as well as traditional HTML
    (it’s easy to create other filters)
  • Operates in two modes: dev and production depending on the URL
  • A caching system which expires pages every 5 minutes
  • Built using Ruby on Rails (which means that extending Radiant is
    as easy as any other Rails application)
  • Licensed under the MIT-License
  • And much more…

There’s even a live demo over on the project Web site:



  • Add Roasters template. [Paul du Coudray]
  • Make ResponseCache spec insensitive to key order. [Sean C.]
  • Adjust <r:children:count /> to use same options as <r:children:each
    [Sean C.]
  • Allowing for custom labels and other options in save_model_button.
    [Pat Allan]
  • Ignoring TextMate project files. [Pat Allan]
  • Present a more helpful error message when missing a mailer template.
    [Nikolay Karev]
  • Use ActiveRecord:Base#[] and ActiveRecord:Base#[]= instead of
    read_attribute and write_attribute. [August Lilleas]
  • Make extension installer use git submodules when appropriate. [Sean
  • Ease extension updates by proxying deprecated named routes. [Sean
  • Add support and specs for conditional GETs with ETags. [Sean C.]
  • Initialize and update submodules when freezing edge. [John M.]
  • Add Nginx support to ResponseCache. [Sean C.]
  • Changed (some) permissions examples not to use login_system_matcher.
    [Brandan Lennox]
  • Remove expensive grep of Rails log in spec. [Rick DeNatale]
  • Make markdown filter specs be tolerant of RDiscount. [Sean C.]
  • Be more explicit about vendor libraries, move Textile requirement into
    core. [Sean C.]
  • Add <r:children:each:if/unless_first/last> tags. [Rick DeNatale]
  • Use RDiscount’s smart quotes instead of SmartyPants. [John M.]
  • Update extension generator to use new admin REST routing. [Jeroen
  • Update Admin::ResourceController to overcome respond_to weaknesses by
    choosing HTML format by default. [Sean C.]
  • Add an IE-specific integration spec. [Jeroen J.]
  • Update dataset, spec_integration, and vizres plugins. [Sean C.]
  • Make specs and bootstrap work in instance mode. [Sean C.]
  • Override spec:integration task and rescope some spec task options to
    RADIANT_ROOT. [Sean C.]
  • Improve rspec-1.1.12 compatibility. [Sean C.]
  • Add Ruby 1.8.7 compatibility patch. [Sean C.]
  • Fix upgrade issue from 0.5.x where class_name is expected to be
    [Sean C.]
  • Remove unneeded patch. [Sean C.]
  • Add some inline documentation to resource controller. [Sean C.]
  • Fix some form problems on pages. [Sean C.]
  • Fix form on snippets/remove. [Sean C.]
  • Make sure resourceful responses deeply clone on inheritance. [Sean
  • Fix broken Ajax children callback. [Sean C.]
  • Fix broken URL in snippets/remove. [Sean C.]
  • Correct assume_migrated_upto_version behavior in instance mode. [Sean
  • Correct missing @@configuration variable in initializer. [John M.]
  • Handle SQL special characters in extension names in migrations.
    [Erik Ostrom]
  • Converted extension migrations to use schema_migrations table instead
    of extension_meta. [Nathaniel T., Sean C., Rick DeNatale]
  • Replaced scenarios with dataset. [Nathaniel T., Adam W.,
    Rick DeNatale]
  • Fix RSpec git submodules. [Nathaniel T., Clinton Nixon]
  • Generate and fix gemspec for GitHub. [Sean C.]
  • Add support for newer Textile and Markdown libraries, with fallbacks
    on packaged libraries. [Sean C., Jason G.]
  • Make request parameters available to tags. [Brian Landau]
  • Add URL method helpers to tags. [Brian Landau]
  • Add some database indexes. [Yevgeny Smirnoff]
  • Added notice to install RSpec if a certain database error occurs.
    [Sytse Sijbrandij]
  • Refactor LoginSystem to use filter-skipping instead of controller
    tracking. [Sean C.]
  • Add generator specs and more generators. [Brian Landau]
  • Add initial integration specs. [Adam W., Mark Imbriaco]
  • Refactor admin controllers and views toward RESTful principles.
    [Sean C., Clinton Nixon, Rick DeNatale]
  • Remove RSpec from packaged libraries. [Sean C.]
  • Correct CSS validation errors. [John M.]
  • Add String#to_slug. [Andrew O’Brien]
  • New page parts should have the default filter_id. [Joe Van D.]
  • Show draft children by default on dev host. [Sean C.]
  • Correct db:schema:dump error when in instance mode. [Pat Allan, Sean
  • Simplify set_javascripts_and_stylesheets. [Sean C.]
  • Cleanup boot.rb and allow generators from user-installed plugins.
    [Sean C.]
  • Added regions to user-preferences screen. [Jim G.]
  • Apply Rails redirect sanitization patch. [Sean C.]
  • Updated to Rspec and Rspec-Rails 1.1.8 [Jim G.]
  • Added development dependency to INSTALL [Matt Henry]
  • Added reference to sample database configuration files to INSTALL.
    [Keith B.]
  • Added ZenTest development dependency to README. [Thomas Ingram]
  • Remove REXML expansion fix, included in Rails 2.1.1 [Sean C.]
  • Upgrade to 2.1.1 [Sean C.]
  • Fixed migrations for Rails 2.1 [Josh F.]
  • Fixed final specs [Jim G.]
  • Fixed up some specs for new Rails/RSpec [Josh F.]
  • Updated timezone management [Josh F.]
  • Update to Rails 2.1 [Jim G.]
  • Update to RSpec 1.1.4 [Jim G.]
  • Make Git extension install method recognize submodules. [Sean C.]
  • Fix malformed Textile in standard tag descriptions. [Jason G.]
  • Update script/extension help output. [Jim G.]
  • Allow load_subclasses to work when multiple apps are on the same
    [Jim G.]
  • Add REXML expansion fix. [Sean C.]
  • Fix filter_reference admin helper for filter names that have spaces in
    them. [Mislav Marohnić]
  • Make script/extension more friendly, adding help and info commands.
    [Sean C.]
  • Added more render regions to layout, snippet, user, and extension
    views. [Sean C.]
  • Fixed the radiant:update:scripts to find the proper directory [Jim
  • Factor out dev? functionality in StandardTags, allowing other tags to
    it. [Sean C.]


We’ve worked hard to make it easy to install Radiant. For starters you
can download it with Ruby Gems:

% gem install radiant

Once the Radiant gem is installed you have access to the radiant
command. The radiant command is similar to the rails command (if you
are from the Rails world. It’s how you generate a new Radiant project
for a website. So cd to the directory where you would like your
instance to be installed and type:

% radiant -d [mysql|postgres|sqlite3] .

Next, edit config/database.yml to taste. Then run the rake bootstrap

% rake production db:bootstrap

And start up the test server:

% script/server -e production

Finally, hit the /admin/ URL and you should be off to the races. See the
README file in the release for additional details.

If you are interested in other download options, visit the download
page: http://radiantcms.org/download/.


  1. Update the Radiant gem:

% gem update radiant

  1. Change the RADIANT_GEM_VERSION constant in config/environment.rb
    to “0.7.0”.

  2. Run the update rake task:

% rake radiant:update

  1. Run migrations:

% rake db:migrate

  1. Restart the server


The upgrade process changed significantly from last release, so listen
up! To upgrade an existing installation, BACKUP YOUR DATABASE, update
the gem, and create a new Radiant project using the instructions above.
Then point Radiant to the right database by editing config/database.yml
and execute the following command in your project directory:

% rake db:migrate

If you have problems during the upgrade, please let us know.


Radiant wouldn’t be possible without the help of some fine people. The
following people have made contributions to this release:

Paul du Coudray Nikolay Karev August Lilleas
Brandan Lennox Jeroen J. Erik Ostrom
Nathaniel T. Yevgeny Smirnoff Sytse Sijbrandij
Brian Landau Adam W. Mark Imbriaco
Rick DeNatale Clinton Nixon John M.
Andrew O’Brien Joe Van D. Pat Allan
Matt Henry Keith B. Thomas Ingram
Josh F. Jason G. Mislav Marohnić
Jim G. Sean C.

Thanks guys! If you’d like to hop on the development band wagon head on
over to our dev site (http://dev.radiantcms.org/).


The best place to get support is definitely on the Radiant mailing list.
There’s a crowd of people there who have been hanging around for many
moons now. Newbie questions are welcome! To sign up, go to:


The Radiant mailing list is also accessible via Ruby forum:



Sean C.
for the Radiant CMS Dev Team