What are extensions?

From the Radiant blog: "Extensions are vertical slices of a Rails application, or mini-applications if you will, that are inserted into Radiant at runtime. In many ways, they tackle the same problem as Rails Engines, which allow you to drop a pre-built application into your own and use it as if it were the same app. The execution of this feat has been quite arduous, and you can read more about it on John’s blog. Suffice it to say, with a minimal amount of boilerplate, you can have your own custom models, views, controllers, and libraries running inside Radiant. That’s the power of extensions."

Read the full post here: http://radiantcms.org/blog/2007/01/23/how-to-getting-mental/#extended

How do I install an extension?

If you've checked out Radiant using subversion

The best way to install an extension is using svn:externals

cd /path/to/radiant
svn propedit svn:externals vendor/extensions

your editor should start up. Then add a line for the extension you'd like to use

extension_name http://example.com/svn/extension_name/trunk

save your changes then do an update

svn update vendor/extensions

If you're using the Radiant gem

You can export the extension into your vendor/extensions directory

cd /path/to/radiant
svn export http://example.com/svn/extension_name/trunk vendor/extensions/extension_name

For extensions that don't use subversion

If the extension author provides a .zip or .tar.gz file, just extract it into your vendor/extensions directory

cd /path/to/radiant
cd vendor/extensions
tar zxf /path/to/extension.tar.gz

Migrate your database for extensions

An extension may require that you update your database. Radiant provides a simple migration to get you up to speed:

$ rake db:migrate:extensions

Now your extensions should be ready to go! (Extension developers should remember to always update their README files or provide adequate information on the use and function of your extension elswhere).


Available Extensions

Radiant Extensions

http://dev.radiantcms.org/radiant/browser/trunk/extensions

(Note: install via Subversion from http://dev.radiantcms.org/svn/radiant/trunk/extensions)

Aggregation

Collects the children of multiple pages to be treated as one for iteration using r:children:each. Compatability: 0.6.1

Import Export

Uses Rake to export your Radiant database to a .yml file that can be later reloaded. Compatability: 0.6.1

LDAP

Edit and test LDAP queries from the admin interface, you can also use LDAP query results from a Radius tag in a page. Compatability: 0.6.1

Mailer

Sends email from Radiant pages. Compatability: 0.6.1

Reorder

Adds order attributes to the Page model and allows you to arbitrarily reorder pages. Compatability: 0.6.1

Search

Adds tags for a site search box and a tag set and Page Type for a results page. Compatability: 0.6.1

Third-Party Extensions

Blog Tags: http://seansantry.com/svn/radiant/extensions/blogtags/trunk

Provides useful tags for blogs, like getting the next and previous articles or showing the post time in words (eg, "Posted by Sean 2 days ago")

Comments: http://svn.artofmission.com/svn/plugins/radiant/extensions/comments/

Adds blog-like comment functionality to Radiant (still very alpha)

Copy Move: http://darcs.bigchieflabs.com/radiant/extensions/copy_move/rdoc/

It allows for a page to be copied (or moved) under a new parent.

CSS: http://www.sharedhostlogic.com/css.tar.gz

Allows pages to be rendered as CSS

Default Page Parts: http://darcs.bigchieflabs.com/radiant/extensions/default_page_parts/rdoc/

With this extension you can create a page of DefaultPageParts type and specify the default parts of all its children.

Dynamic: http://darcs.bigchieflabs.com/radiant/extensions/dynamic/rdoc/

With this extension you can create a page of Dynamic type that will be updated every time that one of its children will be created/saved/destroyed.

Enkoder Tags: http://seansantry.com/svn/radiant/extensions/enkodertags/trunk

Provides tags for enkoding email addresses (or arbitrary content) using Dan Benjamin's Enkoder to block spam harvesters

Event Calendar (iCal): http://svn.fn-group.com/radiant_extensions/event_calendar

Create calendars in Radiant admin which have iCal subscriptions attached to them. Retrieve events to each calendar through refreshes from the iCal subscription. Works best when used in conjunction with an iCal publishing front-end app like Google Calendars or .Mac and a cron job setup on your server to run the refresh automatically every hour or more.

Flickr Tags: http://seansantry.com/svn/radiant/extensions/flickrtags/trunk

Provides a tag for embedding a Flickr slideshow like the one in my portfolio.

Gallery: http://darcs.bigchieflabs.com/radiant/extensions/gallery/rdoc/

Language Redirect: https://svn1.hosted-projects.com/medlar/language_redirect_extension

Redirects the browser to a different page root based on the accepted locale.

Maruku Text Filter: http://tinyurl.com/yr96bz

Mediawiki Filter: http://www.bitcetera.com/en/products/mediawiki_filter

Support for (some of the) Mediawiki markup on Radiant pages.

Page Attachments: http://svn.seancribbs.com/svn/rails/plugins/extensions/page_attachments

Read more about installing page attachments.

Page Attributes: https://dev.eyebeam.org/svn/radiant-partatts/radiant/vendor/extensions/

This extension/hack of Radiant gives all your pages an "attributes" tab where you can add named strings, bools, links, and files... (and then reference them from r: tags). See http://dev.eyebeam.org/projects/radiant-partatts/wiki/radiant-partatts.

RadiantOnRails: svn://rubyforge.org/var/svn/radiantonrails/trunk

Allows for a Ruby on Rails application to integrate with the features offered by Radiant CMS.

Record Tags: http://www.boardgamerspastime.com/downloads/radiant/extensions/record_tags.zip

Adds tags for displaying database records. A natural front end for custom, back-end models.

Resizing Text Area: http://svn.somedutchguy.com/projects/show/3

RSS Reader 0.2: www.scidept.com/content/rss_reader-0.2

Smooth Gallery: http://svn.somedutchguy.com/projects/show/1 (Currently offline)

VIM: http://www.raphinou.com/radiant.vim

Allows you to edit Radiant pages from VI.

Virtual Domain: http://silverinsanity.com/~benji/radiant/virtual_domain-1.2.1.tar.gz

Makes each top-level page the root of a different website (based on the host name).

WYSIWYG Text Editor (based on TinyMCE): http://tinyurl.com/2xfegp