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 Cribbs]
* Adjust <r:children:count /> to use same options as <r:children:each />.
[Sean Cribbs]
* 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 undocumented
read_attribute and write_attribute. [August Lilleas]
* Make extension installer use git submodules when appropriate. [Sean Cribbs]
* Ease extension updates by proxying deprecated named routes. [Sean Cribbs]
* Add support and specs for conditional GETs with ETags. [Sean Cribbs]
* Initialize and update submodules when freezing edge. [John Muhl]
* Add Nginx support to ResponseCache. [Sean Cribbs]
* 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 Cribbs]
* Be more explicit about vendor libraries, move Textile requirement into
core. [Sean Cribbs]
* Add <r:children:each:if/unless_first/last> tags. [Rick DeNatale]
* Use RDiscount's smart quotes instead of SmartyPants. [John Muhl]
* Update extension generator to use new admin REST routing. [Jeroen Janssen]
* Update Admin::ResourceController to overcome respond_to weaknesses by
choosing HTML format by default. [Sean Cribbs]
* Add an IE-specific integration spec. [Jeroen Janssen]
* Update dataset, spec_integration, and vizres plugins. [Sean Cribbs]
* Make specs and bootstrap work in instance mode. [Sean Cribbs]
* Override spec:integration task and rescope some spec task options to
RADIANT_ROOT. [Sean Cribbs]
* Improve rspec-1.1.12 compatibility. [Sean Cribbs]
* Add Ruby 1.8.7 compatibility patch. [Sean Cribbs]
* Fix upgrade issue from 0.5.x where class_name is expected to be present.
[Sean Cribbs]
* Remove unneeded patch. [Sean Cribbs]
* Add some inline documentation to resource controller. [Sean Cribbs]
* Fix some form problems on pages. [Sean Cribbs]
* Fix form on snippets/remove. [Sean Cribbs]
* Make sure resourceful responses deeply clone on inheritance. [Sean Cribbs]
* Fix broken Ajax children callback. [Sean Cribbs]
* Fix broken URL in snippets/remove. [Sean Cribbs]
* Correct assume_migrated_upto_version behavior in instance mode. [Sean Cribbs]
* Correct missing @@configuration variable in initializer. [John Muhl]
* Handle SQL special characters in extension names in migrations.
[Erik Ostrom]
* Converted extension migrations to use schema_migrations table instead
of extension_meta. [Nathaniel Talbott, Sean Cribbs, Rick DeNatale]
* Replaced scenarios with dataset. [Nathaniel Talbott, Adam Williams, Rick DeNatale]
* Fix RSpec git submodules. [Nathaniel Talbott, Clinton Nixon]
* Generate and fix gemspec for GitHub. [Sean Cribbs]
* Add support for newer Textile and Markdown libraries, with fallbacks
on packaged libraries. [Sean Cribbs, Jason Garber]
* 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 Cribbs]
* Add generator specs and more generators. [Brian Landau]
* Add initial integration specs. [Adam Williams, Mark Imbriaco]
* Refactor admin controllers and views toward RESTful principles.
[Sean Cribbs, Clinton Nixon, Rick DeNatale]
* Remove RSpec from packaged libraries. [Sean Cribbs]
* Correct CSS validation errors. [John Muhl]
* Add String#to_slug. [Andrew O'Brien]
* New page parts should have the default filter_id. [Joe Van Dyk]
* Show draft children by default on dev host. [Sean Cribbs]
* Correct db:schema:dump error when in instance mode. [Pat Allan, Sean Cribbs]
* Simplify set_javascripts_and_stylesheets. [Sean Cribbs]
* Cleanup boot.rb and allow generators from user-installed plugins. [Sean Cribbs]
* Added regions to user-preferences screen. [Jim Gay]
* Apply Rails redirect sanitization patch. [Sean Cribbs]
* Updated to Rspec and Rspec-Rails 1.1.8 [Jim Gay]
* Added development dependency to INSTALL [Matt Henry]
* Added reference to sample database configuration files to INSTALL. [Keith Bennett]
* Added ZenTest development dependency to README. [Thomas Ingram]
* Remove REXML expansion fix, included in Rails 2.1.1 [Sean Cribbs]
* Upgrade to 2.1.1 [Sean Cribbs]
* Fixed migrations for Rails 2.1 [Josh French]
* Fixed final specs [Jim Gay]
* Fixed up some specs for new Rails/RSpec [Josh French]
* Updated timezone management [Josh French]
* Update to Rails 2.1 [Jim Gay]
* Update to RSpec 1.1.4 [Jim Gay]
* Make Git extension install method recognize submodules. [Sean Cribbs]
* Fix malformed Textile in standard tag descriptions. [Jason Garber]
* Update script/extension help output. [Jim Gay]
* Allow load_subclasses to work when multiple apps are on the same database.
[Jim Gay]
* Add REXML expansion fix. [Sean Cribbs]
* 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 Cribbs]
* Added more render regions to layout, snippet, user, and extension views. [Sean Cribbs]
* Fixed the radiant:update:scripts to find the proper directory [Jim Gay]
* Factor out dev? functionality in StandardTags, allowing other tags to access
it. [Sean Cribbs]


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 task:

% 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

2. Change the RADIANT_GEM_VERSION constant in config/environment.rb
to "0.7.0".

3. Run the update rake task:

% rake radiant:update

4. Run migrations:

% rake db:migrate

5. 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 Janssen Erik Ostrom
Nathaniel Talbott Yevgeny Smirnoff Sytse Sijbrandij
Brian Landau Adam Williams Mark Imbriaco
Rick DeNatale Clinton Nixon John Muhl
Andrew O'Brien Joe Van Dyk Pat Allan
Matt Henry Keith Bennett Thomas Ingram
Josh French Jason Garber Mislav Marohnić
Jim Gay Sean Cribbs

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: