# \[ANN\] Radiant 0.6.4 - Gem Shaper Release

**URL:** <https://www.ruby-forum.com/t/ann-radiant-0-6-4-gem-shaper-release/119822>\
**Category:** Rails\
**Created:** [November 10, 2007, 11:21pm UTC](https://www.ruby-forum.com/t/ann-radiant-0-6-4-gem-shaper-release/119822 "2007-11-10T23:21:33Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![smc7000](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/ed655f/32.png) [@smc7000](https://www.ruby-forum.com/u/smc7000)\
**Post date:** [November 10, 2007, 11:21pm UTC](https://www.ruby-forum.com/t/ann-radiant-0-6-4-gem-shaper-release/119822/1 "2007-11-10T23:21:33Z")

</div>

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

```
http://radiantcms.org/download/

```

This release contains a few major changes as well as numerous bug-fixes  
and  
enhancements. Included in the release are Rails 1.2.5, Prototype 1.6 and  
[script.aculo.us](http://script.aculo.us) 1.8. Significant refactorings have been done to the  
admin UI Javascripts, thanks to Mislav Marohnic. The release also  
provides  
better support for MS SQL Server via Rails ticket/patch #8886 and  
stricter  
XHTML compatibility.

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](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?

- Extract Archive pages into a core extension. Add automatic testing of  
core  
extensions from default test task. [Sean C.]
- Add \<r:if\_children /\> and \<r:unless\_children /\> tags. [Andrew N.]
- Add HTML labels to role checkboxes in user edit template. [zilkey]
- Cleanup whitespace and line-endings in environment.rb. [Bjorn Maeland]
- Fix various SQL Server issues via Rails ticket #8886. [Mark G.]
- Refactor locals from \_node.rhtml into Admin::NodeHelper. [Sean C.]
- Fix XHTML validation errors in view templates. [Bjorn Maeland]
- Update Prototype and [script.aculo.us](http://script.aculo.us) to 1.6 and 1.8 releases. [Sean  
Cribbs]
- Fix edge case in tabcontrol.js where tab label is incorrect. [Sean  
Cribbs]
- Remove duplication in admin.js. [Sean C.]
- Factor TimeZone stuff out of Radiant::Config into a module, fix  
failing tests.  
[Sean C.]
- Add has\_part?, inherits\_part?, and has\_or\_inherits\_part? methods to  
Page.  
[ana]
- Allow setting of local timezone via Radiant::Config and  
auto-adjustment of times  
in admin UI and \<r:date /\> tag. [Bodhi Philpot]
- Update to latest Prototype and [script.aculo.us](http://script.aculo.us) and refactor and  
extract inline  
Javascript into external files. [Mislav Marohnic]
- Narrow scope of exception to only throw on missing fixture files,  
allowing  
invalid yaml errors through. [Daniel S.]
- Added tests to ensure that response\_cache stays within the cache dir.  
[Daniel S.]
- Add assert\_requires\_login to LoginTestHelper. [Sean C.]
- Make sure tag binding stack is popped when an exception occurs.  
[removed\_email\_address@domain.invalid]
- Clean up some apparent cruft in page.rb [Daniel S.]
- Add logout method to LoginTestHelper. [Sean C.]
- Run single extension tests with rake test:extensions  
EXT=\<extension\_name\>  
[Brian Skahan]
- Update Javascript libraries to Prototype 1.6.0\_rc1 and [script.aculo.us](http://script.aculo.us)  
1.8.0\_pre1. [Mislav Marohnic]
- Fixed \<r:attempted\_url /\> tag to escape the uri [Daniel S.]
- Allow parts to be accessed by name from Page#part before they are  
saved.  
[Sean C.]
- Disambiguate namespace of ActionMailer::Part. [Sean C.]
- Fix namespacing problem with ActionController::RoutingError. [Sean  
Cribbs]
- Update Rails to 1.2.5. [John L.]
- Ensured that the request and response are passed along to other pages  
that  
are rendered within the same context. [John L.]
- Added \<r:if\_dev /\> and \<r:unless\_dev /\> tags. [Peter B.]
- Removed session stringification patch in test helper. [Sean C.]
- Update Rails to 1.2.4. [Sean C.]
- Add extensions paths to the standard $LOAD\_PATH so requires work  
properly.  
[Sean C.]
- Fixed some loading issues for plugins that are included in extensions.  
[Sean C.]

INSTALLATION

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

% gem install --include-dependencies 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/](http://radiantcms.org/download/).

UPGRADING FROM 0.6.x

1. Update the Radiant gem:

2. Change the RADIANT\_GEM\_VERSION constant in config/environment.rb  
to “0.6.4”.

3. Run the update rake task:

4. Migrate the database (only necessary if upgrading from 0.6.2 or  
earlier):

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. zilkey Mark G.  
Bjorn Maeland ana Bodhi Philpot  
removed\_email\_address@domain.invalid Brian Skahan Mislav Marohnic  
Daniel S. John L. Peter B.  
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/](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/](http://radiantcms.org/mailing-list/)

The Radiant mailing list is also accessible via Ruby forum:

[http://www.ruby-forum.com/forum/21](http://www.ruby-forum.com/forum/21)

Enjoy!

–  
Sean C.  
for the Radiant CMS Dev Team  
[http://radiantcms.org](http://radiantcms.org)

---

<div class="post-metadata">

**Author:** ![smc7000](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/ed655f/32.png) [@smc7000](https://www.ruby-forum.com/u/smc7000)\
**Post date:** [November 11, 2007, 5:39am UTC](https://www.ruby-forum.com/t/ann-radiant-0-6-4-gem-shaper-release/119822/2 "2007-11-11T05:39:06Z")

</div>

Mark,

Actually, the issue is the reorder extension. It overrides \_node.rhtml  
(and other views, too) which was refactored (and simplified) in 0.6.4.  
I will try to take a pass at it this coming week. In the meantime, you  
can probably uninstall it and have your site still working. Of course,  
if you’re of the mind to fix it, patches are welcome!

Sean

---

<div class="post-metadata">

**Author:** ![smc7000](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/ed655f/32.png) [@smc7000](https://www.ruby-forum.com/u/smc7000)\
**Post date:** [November 11, 2007, 4:23am UTC](https://www.ruby-forum.com/t/ann-radiant-0-6-4-gem-shaper-release/119822/3 "2007-11-11T04:23:42Z")

</div>

Like an idiot I first posted this to the dev list. Sorry to those  
that received it there.

I just updated, and my back end broke (thank god for cacheing!). I  
have a bunch of extensions installed, but it looks like page  
attachments is the issue. I also have:  
Markdown Filter  
Textile Filter  
Forms  
Page Attachments  
Reorder  
Search  
Archive

Please advise. For the sake of saving emails back and forth, here are  
the logs:

Processing SiteController#show\_page (for 75.166.110.128 at 2007-11-10  
19:07:23) [GET]  
Parameters: {“url”=\>[“about\_us”, “sergio-lopez-pugh”, “images”,  
“loading.gif”], “action”=\>“show\_page”, “controller”=\>“site”}  
Completed in 0.29625 (3 reqs/sec) | DB: 0.04725 (15%) | 404 Not Found  
[[http://www.lazotpcglobal.com/about\_us/sergio-lopez-pugh/images/loading.gif](http://www.lazotpcglobal.com/about_us/sergio-lopez-pugh/images/loading.gif)  
]

Processing WelcomeController#index (for 75.166.110.128 at 2007-11-10  
19:07:33) [GET]  
Session ID: c5a24f542d33f2a7dc12d3f9f4849971  
Parameters: {“action”=\>“index”, “controller”=\>“admin/welcome”}  
Redirected to [http://www.lazotpcglobal.com/admin/pages](http://www.lazotpcglobal.com/admin/pages)  
Completed in 0.00205 (487 reqs/sec) | DB: 0.00060 (29%) | 302 Found  
[[http://www.lazotpcglobal.com/admin](http://www.lazotpcglobal.com/admin)  
]

Processing PageController#index (for 75.166.110.128 at 2007-11-10  
19:07:33) [GET]  
Session ID: c5a24f542d33f2a7dc12d3f9f4849971  
Parameters: {“action”=\>“index”, “controller”=\>“admin/page”}  
Rendering within layouts/application  
Rendering admin/page/index

ActionView::TemplateError (undefined method `page\_icon’ for #\<#\<Class:  
0xb7654494\>:0xb765446c\>) on line #12 of vendor/extensions/reorder/app/  
views/admin/page/\_node.rhtml:  
9:  
10: expander = children ? image((expanded ? “collapse” :  
“expand”), :class =\> “expander”, :alt =\> ‘toggle children’, :title =\>  
‘’, :align =\> ‘center’) : “”  
11:  
12: icon = page\_icon(page)  
13:  
14: title = %{#{ page.title }}  
15:

```
 /home/28030/containers/rails/tpc/vendor/extensions/reorder/app/

```

views/admin/page/\_node.rhtml:12:in  
`_run_rhtml_47vendor47extensions47reorder47app47views47admin47page47_node46rhtml ' #{RAILS_ROOT}/vendor/radiant/vendor/rails/actionpack/lib/ action_view/base.rb:326:in`send’  
#{RAILS\_ROOT}/vendor/radiant/vendor/rails/actionpack/lib/  
action\_view/base.rb:326:in `compile_and_render_template' #{RAILS_ROOT}/vendor/radiant/vendor/rails/actionpack/lib/ action_view/base.rb:301:in `render\_template’  
#{RAILS\_ROOT}/vendor/radiant/vendor/rails/actionpack/lib/  
action\_view/base.rb:260:in `render_file' #{RAILS_ROOT}/vendor/radiant/vendor/rails/actionpack/lib/ action_view/base.rb:275:in `render’  
#{RAILS\_ROOT}/vendor/radiant/vendor/rails/actionpack/lib/  
action\_view/partials.rb:59:in `render_partial' #{RAILS_ROOT}/vendor/radiant/vendor/rails/actionpack/lib/ action_controller/benchmarking.rb:30:in `benchmark’  
#{RAILS\_ROOT}/vendor/radiant/vendor/rails/actionpack/lib/  
action\_view/partials.rb:58:in `render_partial' #{RAILS_ROOT}/vendor/radiant/vendor/rails/actionpack/lib/ action_view/base.rb:287:in `render’  
#{RAILS\_ROOT}/vendor/radiant/app/helpers/admin/page\_helper.rb:  
4:in `render_node' /home/28030/containers/rails/tpc/vendor/extensions/reorder/app/ views/admin/page/index.rhtml:14:in `  
\_run\_rhtml\_47vendor47extensions47reorder47app47views47admin47page47index46rhtml  
’  
#{RAILS\_ROOT}/vendor/radiant/vendor/rails/actionpack/lib/  
action\_view/base.rb:326:in `send' #{RAILS_ROOT}/vendor/radiant/vendor/rails/actionpack/lib/ action_view/base.rb:326:in `compile\_and\_render\_template’  
#{RAILS\_ROOT}/vendor/radiant/vendor/rails/actionpack/lib/  
action\_view/base.rb:301:in `render_template' #{RAILS_ROOT}/vendor/radiant/vendor/rails/actionpack/lib/ action_view/base.rb:260:in `render\_file’  
#{RAILS\_ROOT}/vendor/radiant/vendor/rails/actionpack/lib/  
action\_controller/base.rb:806:in `render_file' #{RAILS_ROOT}/vendor/radiant/vendor/rails/actionpack/lib/ action_controller/base.rb:711:in `render\_with\_no\_layout’  
#{RAILS\_ROOT}/vendor/radiant/vendor/rails/actionpack/lib/  
action\_controller/layout.rb:247:in `render_without_benchmark' #{RAILS_ROOT}/vendor/radiant/vendor/rails/actionpack/lib/ action_controller/benchmarking.rb:50:in `render’  
/usr/lib/ruby/1.8/benchmark.rb:293:in `measure' #{RAILS_ROOT}/vendor/radiant/vendor/rails/actionpack/lib/ action_controller/benchmarking.rb:50:in `render’  
#{RAILS\_ROOT}/vendor/radiant/vendor/rails/actionpack/lib/  
action\_controller/base.rb:1096:in `perform_action_without_filters' #{RAILS_ROOT}/vendor/radiant/vendor/rails/actionpack/lib/ action_controller/filters.rb:632:in `call\_filter’  
#{RAILS\_ROOT}/vendor/radiant/vendor/rails/actionpack/lib/  
action\_controller/filters.rb:634:in `call_filter' #{RAILS_ROOT}/vendor/radiant/vendor/rails/actionpack/lib/ action_controller/filters.rb:638:in `call\_filter’  
#{RAILS\_ROOT}/vendor/radiant/vendor/rails/actionpack/lib/  
action\_controller/filters.rb:438:in `call' #{RAILS_ROOT}/vendor/radiant/vendor/rails/actionpack/lib/ action_controller/filters.rb:637:in `call\_filter’  
#{RAILS\_ROOT}/vendor/radiant/vendor/rails/actionpack/lib/  
action\_controller/filters.rb:638:in `call_filter' #{RAILS_ROOT}/vendor/radiant/vendor/rails/actionpack/lib/ action_controller/filters.rb:438:in `call’  
#{RAILS\_ROOT}/vendor/radiant/vendor/rails/actionpack/lib/  
action\_controller/filters.rb:637:in `call_filter' #{RAILS_ROOT}/vendor/radiant/vendor/rails/actionpack/lib/ action_controller/filters.rb:638:in `call\_filter’  
#{RAILS\_ROOT}/vendor/radiant/vendor/rails/actionpack/lib/  
action\_controller/filters.rb:438:in `call' #{RAILS_ROOT}/vendor/radiant/vendor/rails/actionpack/lib/ action_controller/filters.rb:637:in `call\_filter’  
#{RAILS\_ROOT}/vendor/radiant/vendor/rails/actionpack/lib/  
action\_controller/filters.rb:619:in `perform_action_without_benchmark' #{RAILS_ROOT}/vendor/radiant/vendor/rails/actionpack/lib/ action_controller/benchmarking.rb:66:in `perform\_action\_without\_rescue’  
/usr/lib/ruby/1.8/benchmark.rb:293:in `measure' #{RAILS_ROOT}/vendor/radiant/vendor/rails/actionpack/lib/ action_controller/benchmarking.rb:66:in `perform\_action\_without\_rescue’  
#{RAILS\_ROOT}/vendor/radiant/vendor/rails/actionpack/lib/  
action\_controller/rescue.rb:83:in `perform_action' #{RAILS_ROOT}/vendor/radiant/vendor/rails/actionpack/lib/ action_controller/base.rb:430:in `send’  
#{RAILS\_ROOT}/vendor/radiant/vendor/rails/actionpack/lib/  
action\_controller/base.rb:430:in `process_without_filters' #{RAILS_ROOT}/vendor/radiant/vendor/rails/actionpack/lib/ action_controller/filters.rb:624:in `process\_without\_session\_management\_support’  
#{RAILS\_ROOT}/vendor/radiant/vendor/rails/actionpack/lib/  
action\_controller/session\_management.rb:114:in `process_without_test' #{RAILS_ROOT}/vendor/radiant/vendor/rails/actionpack/lib/ action_controller/test_process.rb:15:in `process’  
#{RAILS\_ROOT}/vendor/radiant/vendor/rails/actionpack/lib/  
action\_controller/base.rb:330:in `process' #{RAILS_ROOT}/vendor/radiant/vendor/rails/railties/lib/ dispatcher.rb:41:in `dispatch’  
/home/28030/data/rubygems/gems/gems/mongrel-1.0.1-i386-linux/lib/  
mongrel/rails.rb:78:in `process' /home/28030/data/rubygems/gems/gems/mongrel-1.0.1-i386-linux/lib/ mongrel/rails.rb:76:in `synchronize’  
/home/28030/data/rubygems/gems/gems/mongrel-1.0.1-i386-linux/lib/  
mongrel/rails.rb:76:in `process' /home/28030/data/rubygems/gems/gems/mongrel-1.0.1-i386-linux/lib/ mongrel.rb:618:in `process\_client’  
/home/28030/data/rubygems/gems/gems/mongrel-1.0.1-i386-linux/lib/  
mongrel.rb:617:in `each' /home/28030/data/rubygems/gems/gems/mongrel-1.0.1-i386-linux/lib/ mongrel.rb:617:in `process\_client’  
/home/28030/data/rubygems/gems/gems/mongrel-1.0.1-i386-linux/lib/  
mongrel.rb:736:in `run' /home/28030/data/rubygems/gems/gems/mongrel-1.0.1-i386-linux/lib/ mongrel.rb:736:in `initialize’  
/home/28030/data/rubygems/gems/gems/mongrel-1.0.1-i386-linux/lib/  
mongrel.rb:736:in `new' /home/28030/data/rubygems/gems/gems/mongrel-1.0.1-i386-linux/lib/ mongrel.rb:736:in `run’  
/home/28030/data/rubygems/gems/gems/mongrel-1.0.1-i386-linux/lib/  
mongrel.rb:720:in `initialize' /home/28030/data/rubygems/gems/gems/mongrel-1.0.1-i386-linux/lib/ mongrel.rb:720:in `new’  
/home/28030/data/rubygems/gems/gems/mongrel-1.0.1-i386-linux/lib/  
mongrel.rb:720:in `run' /home/28030/data/rubygems/gems/gems/mongrel-1.0.1-i386-linux/lib/ mongrel/configurator.rb:271:in `run’  
/home/28030/data/rubygems/gems/gems/mongrel-1.0.1-i386-linux/lib/  
mongrel/configurator.rb:270:in `each' /home/28030/data/rubygems/gems/gems/mongrel-1.0.1-i386-linux/lib/ mongrel/configurator.rb:270:in `run’  
/home/28030/data/rubygems/gems/gems/mongrel-1.0.1-i386-linux/bin/  
mongrel\_rails:127:in `run' /home/28030/data/rubygems/gems/gems/mongrel-1.0.1-i386-linux/lib/ mongrel/command.rb:211:in `run’  
/home/28030/data/rubygems/gems/gems/mongrel-1.0.1-i386-linux/bin/  
mongrel\_rails:243

---

<div class="post-metadata">

**Author:** ![smc7000](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/ed655f/32.png) [@smc7000](https://www.ruby-forum.com/u/smc7000)\
**Post date:** [November 11, 2007, 10:05pm UTC](https://www.ruby-forum.com/t/ann-radiant-0-6-4-gem-shaper-release/119822/4 "2007-11-11T22:05:07Z")

</div>

Never mind. I figured it out. Just removed it from the extensions  
directory, and removed it from the database. Very easy. I’m sure  
their is a remove migration command, but I was lucky on this one. And  
your right, now page attachments is working perfeclty.  
-Mark

---

<div class="post-metadata">

**Author:** ![smc7000](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/ed655f/32.png) [@smc7000](https://www.ruby-forum.com/u/smc7000)\
**Post date:** [November 11, 2007, 9:44pm UTC](https://www.ruby-forum.com/t/ann-radiant-0-6-4-gem-shaper-release/119822/5 "2007-11-11T21:44:03Z")

</div>

I wish I had the skill set to write the patch. Is there an uninstall  
command I should know about?  
-Mark
