[ANN] Radiant CMS 0.6.8 "Incise" Release

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

http://radiantcms.org/download/

Radiant 0.6.8 “Incise” adds a number of new features that enhance
support for
extensions and completes the project’s move to github. Of special note
are:

  • Extension installer/uninstaller scripts (script/extension) and a
    global
    ‘extension registry’ at http://ext.radiantcms.org
  • Support for freezing edge Radiant using ‘git’
  • Remember-me functionality for the admin UI

This should be a seamless upgrade for users of 0.6.7 and should require
only
minor adjustments for versions 0.6.5+.

WHAT IS RADIANT CMS?

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:

http://radiantcms.org/demo/

WHAT’S NEW IN THIS RELEASE?

  • Hide page publish date selector unless page.edit.published_date?
    config is
    set. [Sean C.]
  • Add <r:yield /> tag to support snippets that accept blocks. [Andrew
    Neil]
  • Fix bug with FileNotFoundPage subclasses and draft status. [cradle]
  • Update radiant:freeze:edge task to support BRANCH, TAG, and REVISION.
    [John
    Muhl]
  • Update to Haml 2.0.1. [Jim G.]
  • Fix radiant:update:configs task to properly evaluate environment.rb
    [Sean C.]
  • Fix page subclass loading issues. [Sean C.]
  • Add <r:unless_ancestor_or_self> and <r:unless_self> tags. [Tim
    Gossett]
  • Add specific installation modes for gzip and bzip2 compression. [Sean
    Cribbs]
  • Added extension installation scripts. [Sean C.]
  • Added find attr to r:if_content and r:unless_content to expand based
    on
    finding ‘any’ or ‘all’ specified parts [Jim G.]
  • Added inherit attr to r:if_content and r:unless_content to search for
    parts
    independently in the page tree. [Jim G.]
  • Update radiant:freeze:edge task to use git and GitHub. [John M.]
  • Update login page layout from prototype. [Sean C.]
  • Change order of extension paths to prefer project extensions over
    Radiant’s.
    [John M.]
  • Switch default session store to cookies [Josh F.]
  • Add remember-me function to login [Josh F.]
  • Allow an inclusive list of parts in r:if_content and r:unless_content
    [Jim G.]
  • Added a defaults.page.filter config setting for setting a default page
    filter. [Alex W.]
  • Fix Users fixtures for extensions that still use test/unit. [Nick
    Plante]
  • Don’t search for missing Page subclasses before bootstrap. [Sean
    Cribbs]
  • Added tolerance for missing Page class definitions. [Loren J.]
  • Don’t require an authenticity token check on the login action. [Sean
    Cribbs]
  • Make sure region sets are reloaded when activating extensions in
    development
    mode. [Sean C.]
  • Fix Haml rendering errors. [Thomas W. Steen]

INSTALLATION

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/.

UPGRADING FROM 0.6.x

  1. Update the Radiant gem:

    % gem update radiant

  2. Change the RADIANT_GEM_VERSION constant in config/environment.rb
    to “0.6.8”.

  3. Run the update rake task:

    % rake radiant:update

  4. Run migrations:

    % rake db:migrate

  5. Restart the server

UPGRADING FROM 0.5.x

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.

CONTRIBUTORS

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

Andrew N. cradle Tim G.
John M. Josh F. Jim G.
Alex W. Nick Plante Loren J.
Sean C. Thomas W. Steen

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

SUPPORT

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:

http://radiantcms.org/mailing-list/

The Radiant mailing list is also accessible via Ruby forum:

http://www.ruby-forum.com/forum/21

Enjoy!


Sean C.
for the Radiant CMS Dev Team
http://radiantcms.org

just tried installing on winxp. i did the sqlite3 option, then when
bootstrapping the db, i selected the “3” option to prepopulate a blog.
when logging into admin i get an error.

SystemStackError in Admin/page#index

Showing admin/page/_node.html.haml where line #1 raised:

stack level too deep

Extracted source (around line #1):

1: %tr.node{:id => “page-#{page.id}”, :class =>“level-
#{level}#{children_class}#{virtual_class}”}
2: - render_region :node, :locals => {:page => page, :level =>
level, :simple => simple} do |node|
3: - node.title_column do
4: %td.page{:style => “padding-left: #{padding_left(level)}px”}

Trace of template inclusion: /admin/page/_node.html.haml, /admin/page/
index.html.haml

RAILS_ROOT: C:/Documents and Settings/Scott/Desktop/webdev/projects/
myproject

Sean C. wrote:

‘extension registry’ at http://ext.radiantcms.org

  • Support for freezing edge Radiant using ‘git’
  • Remember-me functionality for the admin UI

Thanks! I don’t think that this changes the documentation much, so it’s
still good!

Cheers,
Mohit.
7/28/2008 | 2:36 PM.

There’s a minor error in the radiant:update:configs task that I
discovered this morning when fixing the demo site – this should only
affect upgrades from older versions. I have pushed the fix to github.
If you want to stay on the gem, the workaround is to do two things:

  1. Make sure you have a unique secret in your
    config.action_controller.session setting.
  2. Add the line “Page.load_subclasses” to the end of the file (outside
    the config block).

Sean

I get the exact same thing on Ubuntu with MySQL and both database
template 2 and 3. The blank template works, however.

A brand new installation seems to require specifying the name of the
directory for your installation. So, for example:

-bash-3.00$ radiant
Usage: /home/danorine/ruby/bin/radiant /path/to/radiant/app [options]

Options:
-r, --ruby=path Path to the Ruby binary of your
choice
(otherwise scripts use env, dispatchers current path).
Default:
/home/danorine/ruby/bin/ruby
-d, --database=name Preconfigure for selected database
(options: mysql, postgresql, sqlite3, sqlserver).
Default: mysql

Radiant Info:
-v, --version Show the Radiant version number and
quit.
-h, --help Show this help message and quit.

General Options:
-p, --pretend Run but do not make any changes.
-f, --force Overwrite files that already exist.
-s, --skip Skip files that already exist.
-q, --quiet Suppress normal output.
-t, --backtrace Debugging: show backtrace on
errors.
-c, --svn Modify files with subversion.
(Note:
svn must be in path)

and, yet:

-bash-3.00$ radiant radiant
create
create CHANGELOG
create CONTRIBUTORS
create INSTALL
create LICENSE
create README
create config
create config/environments
create config/environments/development.rb
create config/environments/production.rb
create config/environments/test.rb
create db
create log
create public
create public/.htaccess
create public/404.html
create public/500.html
create public/dispatch.cgi
create public/dispatch.fcgi
create public/dispatch.rb
create public/favicon.ico
create public/images
create public/images/admin
create public/images/admin/add-child.png
create public/images/admin/brown-bottom-line.gif
create public/images/admin/clear-page-cache.png
create public/images/admin/collapse.png
create public/images/admin/expand.png
create public/images/admin/layout.png
create public/images/admin/minus.png
create public/images/admin/new-homepage.png
create public/images/admin/new-layout.png
create public/images/admin/new-snippet.png
create public/images/admin/new-user.png
create public/images/admin/page.png
create public/images/admin/plus.png
create public/images/admin/remove-disabled.png
create public/images/admin/remove.png
create public/images/admin/snippet.png
create public/images/admin/spinner.gif
create public/images/admin/view-site.gif
create public/images/admin/virtual-page.png
create public/javascripts
create public/javascripts/admin
create public/javascripts/admin/admin.js
create public/javascripts/admin/ruledtable.js
create public/javascripts/admin/sitemap.js
create public/javascripts/admin/tabcontrol.js
create public/javascripts/application.js
create public/javascripts/controls.js
create public/javascripts/dragdrop.js
create public/javascripts/effects.js
create public/javascripts/pngfix.js
create public/javascripts/prototype.js
create public/javascripts/string.js
create public/robots.txt
create public/stylesheets
create public/stylesheets/admin
create public/stylesheets/admin/main.css
create script
create script/about
create script/breakpointer
create script/console
create script/extension
create script/performance
create script/performance/benchmarker
create script/performance/profiler
create script/process
create script/process/inspector
create script/process/reaper
create script/process/spawner
create script/process/spinner
create script/runner
create script/server
create script/spec
create script/spec_server
create script/version
create vendor/extensions
create vendor/plugins
create script/generate
create config/database.yml
create Rakefile
create config/routes.rb
create config/environment.rb
create config/boot.rb
readme …/…/…/…/INSTALL

== Installation and Setup

Once you have extracted the files into the directory where you would
like to
install Radiant:

  1. Create the MySQL/PostgreSQL/SQLite databases for your Web site. You
    only
    need to create the “production” database, but you may also want to
    create
    the “development” and “test” databases if you are developing
    extensions
    or running tests.

  2. Edit config/database.yml to taste.

  3. Run the database bootstrap rake task:

    % rake production db:bootstrap

    (If you would like bootstrap your development database run rake development db:bootstrap.)

  4. Start it like a normal Rails application. To test execute:

    % script/server -e production

    And open your Web browser on port 3000 (http://localhost:3000). The
    administrative interface is available at /admin/. By default the
    bootstrap
    rake task creates a user called “admin” with a password of “radiant”.

When using Radiant on a production system you may also need to set
permissions
on the public and cache directories so that your Web server can access
those
directories with the user that it runs under.

Once you’ve installed Radiant on your own Web site, be sure to add your
name
and Web site to the list of radiant users:

http://wiki.radiantcms.org/Radiant_Users

peace,
dan

There was a minor error in a feature added to 0.6.8
If you had a database with pages that referenced page types that no
longer existed, you would have received errors about undefined
constants. 0.6.8 tried to address this by only loading that class if
the class was defined. This is a great way to allow you to easily
remove extensions without repercussions, but there was an oversight in
that that feature wasn’t reloading in development mode.

0.6.9 Is in the works and should be out soon, but this is fixed on edge.

As for Dan and Norine Simpson’s message about needing to specify the
directory for a new instance, I don’t recall ever not needing to do
that. The rails command has the same requirement. But perhaps I’m
misunderstanding something.

-Jim

Dan and Norine Simpson said the following on 28/07/08 11:46 AM:

A brand new installation seems to require specifying the name of the
directory for your installation. So, for example:

Most of us here are already using radiant and every upgrade makes me
nervous.

It is the test of a good religion whether you can joke about it.

  • G. K. Chesterton

As for Dan and Norine Simpson’s message about needing to specify the
directory for a new instance, I don’t recall ever not needing to do that.
The rails command has the same requirement. But perhaps I’m misunderstanding
something.

I don’t recall having to do that in the past. I only noted it because
it
was at odds with Sean’s installation instructions.

-dan

But I think you missed the dot at the end of the command (referring to the
current directory)
% radiant -d [mysql|postgres|sqlite3] .

Ah! You are absolutely right, Jim! Thanks for pointing that out.

-dan

On Jul 29, 2008, at 10:29 AM, Dan and Norine Simpson wrote:

because it
was at odds with Sean’s installation instructions.

-dan

Sorry Dan. I didn’t realize that.

But I think you missed the dot at the end of the command (referring to
the current directory)

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