Weblog
Saturday, August 23, 2008 |
|
The survey for RadiantConf is now available. If you have some interest in attending, please fill it out. UPDATE: There are three pages to the survey, please fill out all three.
What is RadiantConf?
It’s just in planning stages right now, but it will be a focused conference-like gathering for people interested in using, developing, or learning about Radiant. Your response to the survey will help shape the format of the conference. Don’t miss the chance to voice your opinion! The survey closes on September 13th at 12:00AM EDT.
Monday, August 18, 2008 |
|
I am trying to plan a “sprint” weekend for Radiant, and I’d like your feedback.
What’s a sprint weekend? It’s where a group of developers get together to hack out a bunch of code, hopefully speeding up the release cycle. In this initial sprint weekend, we’ll be working on the feature list for Radiant CMS 0.7 “Intaglio”:
- RESTful admin controllers
- Implementing John’s “blade” user-interface design
- Blogging features
- Documentation
Please fill out the survey if you are interested in participating.
Wednesday, August 13, 2008 |
|
As of version 0.6.8, Radiant includes the ability to wrap a block of content with snippets.
Andrew Neil wrote the wrappits extension which adds this ability to Radiant instances of earlier versions. Version 0.6.8 rolled this into the core.
Michael Klett wrote the nested_layouts extension which provides similar functionality but does it with layouts.
Here’s some documentation about how you can use the new features in Snippets, straight from the horse’s mouth. The content below refers to the extension, but it’s all a part of the core now:
Wrappits are an enhanced version of Radiant’s native Snippets. This extension enables you to call a snippet as a double
tag:
<r:snippet name="wrapper">
Content between opening and closing tags
</r:snippet>
The "Content between opening and closing tags" can be inserted anywhere within the "wrapper" snippet itself by calling
the tag ’<r:yield/>’.
For example, the following could be saved in a Snippet called "rounded-corners":
<div class="top-left rounded">
<div class="top-right rounded">
<div class="bottom-left rounded">
<div class="bottom-right rounded">
<r:yield/>
</div>
</div>
</div>
</div>
The snippet above could then be called, from any Page or Layout, as follows:
<r:snippet name="rounded-corners">
This lorem ipsum has rounded corners, dolor sit amet...
</r:snippet>
In this example, the ’<r:snippet>’ opening tag would correspond to the four opening div tags, and the ’</r:snippet>’
closing tag would correspond to the four closing div tags.
Friday, August 01, 2008 |
|
There are some great new features added to the 0.6.9 “Etch” release of Radiant. I’ll be writing about some of the additions of the latest release in the coming days. More info about who I am down below, but the new features I’ll discuss in this post will help you feel as flexible as Mary Lou Retton (but writing layouts instead of swinging on the uneven bars).
The if_content and unless_content tags now accept a list of multiple parts, and have an inherit attribute just like the content tag. The if_self and if_ancestor_or_self now have unless counterparts, and the random tag now accepts dynamically generated options.
Read on for your radius gymnastics lesson…
Continue Reading…
Friday, August 01, 2008 |
|
Radiant 0.6.9 “Etch” fixes bugs present in the 0.6.8 release, namely:
- The
inherit attribute on <r:unless_content> now correctly defaults to false.
- Strange stack overflow and class-loading errors no longer occur in development mode.
- The
radiant:freeze:edge task will now correctly freeze without the TAG, BRANCH, or REVISION options.
config/environment.rb will be correctly updated when running the radiant:update:configs task.
- You will no longer receive random “authenticity token” errors when using the cookie session store (the default).
script/extension will have the executable bit set on Unix-like filesystems.
It also adds one feature:
<r:random> will now accept dynamically generated options.
For example, this snippet will generate a randomly selected link to a child page:
<r:random:children:each:option:link />
Many thanks to Jim Gay (who also suggested the release name), Andrew Vonderluft and Mark Yoon who helped diagnose bugs and apply fixes to this release.
Installation
To install use the gem command (with ‘sudo’ as necessary):
$ gem install radiant
Upgrading an existing project/site
1. Change the RADIANT_GEM_VERSION constant in config/environment.rb to “0.6.9” or remove it altogether.
2. Update the Radiant assets in your project:
rake radiant:update
3. Copy your customizations back into config/environment.rb, if necessary.
4. Migrate the database:
rake production db:migrate
5. Restart the server
Creating a new project/site
1. Invoke the radiant command with your desired database driver:
$ radiant -d sqlite3 my_project
2. Bootstrap the database:
$ cd my_project
$ rake db:bootstrap
3. Startup the server and try it out!
$ script/server
Monday, July 28, 2008 |
|
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 0.6.8 gem, the workaround has two steps:
- Make sure you have a unique
:secret in your config.action_controller.session setting in config/environment.rb.
- Add the line
Page.load_subclasses to the end of the file (outside the config block).
Sunday, July 27, 2008 |
|
Radiant 0.6.8 “Incise” adds a number of new features that enhance support for extensions and complete the project’s move to github. Of special note are:
- Extension installer/uninstaller scripts (script/extension) and a global ‘extension registry’ at 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+.
Installation
To install use the gem command (with ‘sudo’ as necessary):
$ gem install radiant
Upgrading an existing project/site
1. Change the RADIANT_GEM_VERSION constant in config/environment.rb to “0.6.8” or remove it altogether.
2. Update the Radiant assets in your project:
rake radiant:update
3. Copy your customizations back into config/environment.rb, if necessary.
4. Migrate the database:
rake production db:migrate
5. Restart the server
Creating a new project/site
1. Invoke the radiant command with your desired database driver:
$ radiant -d sqlite3 my_project
2. Bootstrap the database:
$ cd my_project
$ rake db:bootstrap
3. Startup the server and try it out!
$ script/server
Wednesday, June 18, 2008 |
|
We’ve received several reports that Ruby 1.8.7, which includes backports of functionality from the 1.9 branch breaks Radiant, primarily with respect to the Enumerator class. Please use Ruby 1.8.6 or earlier until we can resolve this issue. Contributed patches that resolve the issues while maintaining backward-compatibility with 1.8.6 and earlier would be appreciated.
Saturday, May 24, 2008 |
|
RailsConf 2008 is only 5 days away! If it is anything like last year, we’ll have a large contingent of people interested in Radiant at the conference. We have several Radiant-related things going on, so here’s the lowdown.
Community Code Drive
First will be the community code drive on Thursday, 10AM-5PM. I don’t think you need to be registered for tutorials to participate, but if you’re not, lunch will be on your own. The goal of this drive will be to build a formal extension registry that will include scripts that can be used to install and uninstall extensions, track dependencies, etc. Although completing this will be my goal, there’s plenty of room for hacking on extensions, bugfixes and enhancements. Please come join us!
Birds-of-Feather Session
Radiant will have its own BoF session, moderated by Loren Johnson and myself. It will be very unstructured and could include Q&A, lightning talks, or whatever people want. It has not been scheduled yet by the organizers, so I’ll post details here as soon as we have a time blocked off.
Podcast
I’ll be looking to interview some people for the podcast during RailsConf, so come find me and tell me about your Radiant projects.
Social time
Several people have talked to me about meeting informally for food and drink at some point. We’ll likely do this after the BoF session, but I’ll be available and interested to talk to any of you during the conference as well.
See you at RailsConf!
P.S. John Long and Adam Williams will not be in attendance. They will be missed!
Saturday, May 24, 2008 |
|
Casper Fabricius has posted a wonderful tutorial about how to deploy Radiant on Dreamhost using their new Phusion Passenger setup. If you’re looking for a simple, inexpensive Radiant deployment option, check out his tutorial.
Radiant 0.6.7 “Mordant” resolves several security holes and includes enhancements for developers.
- CSRF attacks are now partly mitigated by the built-in Rails helpers.
- Every user account now has its own password salt that remains secret.
- All admin view templates have been converted to use Haml instead of the standard ERb templates.
- The “shards” extension has been folded into the core, allowing flexible manipulation of the administration UI for extensions.
- All pages are now automatically expired from the cache when any page is saved.
- The login system has been enhanced to remember attempted URLs and to automatically redirect away from the login page if you are logged in.
- The
radiant:extensions:update_all Rake task has been added to simplify copying assets from extensions into the public/ folder.
Attention extension developers: If you were using “shards” to modify the user views, please verify that your extension is unaffected. The structure of the partials and regions in the edit view has slightly changed.
Installation
To install use the gem command (with ‘sudo’ as necessary):
$ gem install radiant
Upgrading an existing project/site
1. Change the RADIANT_GEM_VERSION constant in config/environment.rb to “0.6.7” or remove it altogether.
2. Update the Radiant assets in your project:
rake radiant:update
3. Copy your customizations back into config/environment.rb, if necessary (see below).
4. Migrate the database:
rake production db:migrate
5. Restart the server
Creating a new project/site
1. Invoke the radiant command with your desired database driver:
$ radiant -d sqlite3 my_project
2. Bootstrap the database:
$ cd my_project
$ rake db:bootstrap
3. Startup the server and try it out!
$ script/server
Internal Changes to config/environment.rb
The 0.6.5 release required a lot of changes to the internal API of Radiant. End-users should be unaffected, but as a result of these requirements, we made significant changes to config/environment.rb and config/boot.rb. When updating your existing projects, config/environment.rb will be copied to config/environment.bak. You will need to manually copy any customizations, especially config.extensions and any other libraries, etc. that you require. DO NOT copy config.load_paths, config.plugin_paths, or any of those items to the new file; those settings have been internalized in this release. If you have further questions, please address them to the mailing list. THIS BACKUP BEHAVIOR WILL BE REMOVED IN A FEW RELEASES.
Sunday, April 20, 2008 |
|
Radiant 0.6.6 “Chiseled” corrects two showstopper bugs in yesterday’s 0.6.5
release that affect upgrading existing installations and the proper
functioning of view templates in extensions. All users of 0.6.5 should
upgrade immediately. My apologies to all who installed 0.6.5 and had problems!
Installation
To install use the gem command (with ‘sudo’ as necessary):
$ gem install radiant
Upgrading an existing project/site
1. Change the RADIANT_GEM_VERSION constant in config/environment.rb to “0.6.6” or remove it altogether.
2. Update the Radiant assets in your project:
rake radiant:update
3. Copy your customizations back into config/environment.rb, if necessary (see below).
4. Migrate the database:
rake production db:migrate
5. Restart the server
Creating a new project/site
1. Invoke the radiant command with your desired database driver:
$ radiant -d sqlite3 my_project
2. Bootstrap the database:
$ cd my_project
$ rake db:bootstrap
3. Startup the server and try it out!
$ script/server
Internal Changes to config/environment.rb
The 0.6.5 release has required a lot of changes to the internal API of Radiant. End-users should be unaffected, but as a result of these requirements, we have made significant changes to config/environment.rb and config/boot.rb. When updating your existing projects, config/environment.rb will be copied to config/environment.bak. You will need to manually copy any customizations, especially config.extensions and any other libraries, etc. that you require. DO NOT copy config.load_paths, config.plugin_paths, or any of those items to the new file; those settings have been internalized in this release. If you have further questions, please address them to the mailing list.
Saturday, April 19, 2008 |
|
It’s finally here! Radiant 0.6.5 “Chisel”, after over 4 months of grueling anticipation, is released. This represents a major leap forward for Radiant. The major changes are:
- Rails 2.0.2 included (0.6.4 used Rails 1.2.5)
- RSpec 1.1.4 is used in core and supported in extensions
In addition to those major changes, these enhancements may be of interest:
- It is now possible to edit the published date of a page from the editing interface.
- Pages now have “description” and “keywords” fields that can be output as
<meta> tags using the r:meta family of tags.
- Green notice areas will fade from the interface after 3 seconds.
- The
r:find tag now accepts relative paths.
- URLs in the admin interface and in standard Radius tags should now respect when Radiant is installed in a “subdirectory” rather than the root URL namespace.
For developers:
- RSpec and scenarios are supported in extensions.
- The
created_by and updated_by fields on all models have been renamed to created_by_id and updated_by_id, respectively.
- Radiant has its own Autotest class that runs extension specs as well as the core specs.
- Admin-related javascripts like ‘ruled_table’ have been moved to
public/javascripts/admin.
Installation
To install use the gem command (with ‘sudo’ as necessary):
$ gem install radiant
The gem will install as ‘radiant-0.6.5’.
Upgrading an existing project/site
1. Change the RADIANT_GEM_VERSION constant in config/environment.rb to “0.6.5” or remove it altogether.
2. Update the Radiant assets in your project:
rake radiant:update
UPDATE: There is a minor bug when upgrading if the public/javascripts/admin directory does not exist. Please create this directory in your project to alleviate the problem. The bug has been fixed in edge.
3. Copy your customizations back into config/environment.rb, if necessary (see below).
4. Migrate the database:
rake production db:migrate
5. Restart the server
Creating a new project/site
1. Invoke the radiant command with your desired database driver:
$ radiant -d sqlite3 my_project
2. Bootstrap the database:
$ cd my_project
$ rake db:bootstrap
3. Startup the server and try it out!
$ script/server
Internal Changes to config/environment.rb
This release has required a lot of changes to the internal API of Radiant. End-users should be unaffected, but as a result of these requirements, we have made significant changes to config/environment.rb and config/boot.rb. When updating your existing projects, config/environment.rb will be copied to config/environment.bak. You will need to manually copy any customizations, especially config.extensions and any other libraries, etc. that you require. DO NOT copy config.load_paths, config.plugin_paths, or any of those items to the new file; those settings have been internalized in this release. If you have further questions, please address them to the mailing list.
Tuesday, April 15, 2008 |
|
The first episode of the Radiant Podcast is now available. In our first episode, Sean interviews John Bachir and Josh French of Digital Pulp. In future episodes, we plan to speak with John Long, James Macaulay and Tobias Luetke of shopify, and a number of other prominent Radiant users.
Subscribe and enjoy!
Saturday, April 05, 2008 |
|
It’s time for another release candidate of Radiant 0.6.5! Thanks to “Radiant Day” and some healthy participation, we’re almost there. It is my feeling that we’ll likely have a final release next week. As before, these are the big changes in 0.6.5:
- Rails 2.0.2 included
- RSpec is used in core and supported in extensions
In addition to those several significant changes have been made since 0.6.5 RC1:
- Better support for specs in extensions
- Generated spec_helper.rb should work as intended
- Scenarios are supported in extensions
- rake spec:extensions will only attempt to run specs in extensions that contain them
- Core extensions include both specs and traditional test/unit tests.
- Some CSS and HTML bugfixes and enhancements
- Better spec/code coverage overall, including specs for view helpers
You can download the Radiant 0.6.5 RC2 here.
This release candidate is intended for developers and is NOT intended for production use. Please report any bugs you find to the development site.
Installation
To install use the gem command (with ‘sudo’ as necessary):
$ gem install radiant-0.6.5-rc2.gem
The gem will install as ‘radiant-0.6.5’.
Upgrading an existing project/site
1. Change the RADIANT_GEM_VERSION constant in config/environment.rb to “0.6.5” or remove it altogether.
2. Update the Radiant assets in your project:
rake radiant:update
3. Copy your customizations back into config/environment.rb, if necessary (see below).
4. Migrate the database if you are running 0.6.2 or earlier:
rake production db:migrate
5. Restart the server
Creating a new project/site
1. Invoke the radiant command with your desired database driver:
$ radiant -d sqlite3 my_project
2. Bootstrap the database:
$ cd my_project
$ rake db:bootstrap
3. Startup the server and try it out!
$ script/server
Internal Changes to config/environment.rb
This release has required a lot of changes to the internal API of Radiant. End-users should be unaffected, but as a result of these requirements, we have made significant changes to config/environment.rb and config/boot.rb. When updating your existing projects, config/environment.rb will be copied to config/environment.bak. You will need to manually copy any customizations, especially config.extensions and any other libraries, etc. that you require. DO NOT copy config.load_paths, config.plugin_paths, or any of those items to the new file; those settings have been internalized in this release. If you have further questions, please address them to the mailing list.