Radiant CMS is a great content management system. It’s Rails, it’s simple … in fact it is so simple that you are bound to be missing some basic features once you start implementing your web site.

This is by design. Radiant has a fantastic infrastructure for extensions, and rather than imposing a lot of advanced functionality making the software harder to get started with for everyone, it lets each developer make his or her own choices.

Still, even with the official extension registry it can be hard to navigate the many extensions out there. Many people have asked me what I recommend for just getting basics such as reordering, image upload and menu generation. There is no final answer to that question, but this article covers 10 extensions that are compatible with the newest versions of Radiant and gives you functionality you can’t live without.

For everyone

  • Reorder: Yes, you really need to install an extension to be able to change the order of your pages in the page tree. I think this will be built into Radiant 0.7 – hopefully!
  • Paperclipped: Currently the most popular extension for adding upload of images and other files. Great user interface – highly recommended.
  • Copy/Move: Once your website is live, you’ll often find the need to move or copy pages to other places in the page tree – this extension lets you do just that.
  • Navigation tags: There is a tag for generating the menu built into Radiant, but it requires you to hardcode the pages. This extension allows you to build your menu in a similar manner, but draws on the actual published pages in the page tree.

For the slightly larger website

  • Nested layouts: This extension is a real gem if you ask me. It allows you to have a master layout with header, footer, main menu and so on, and then setup other layouts “nested” within the master with, say, a custom sidebar or headline shared by a bunch of pages.
  • Styles and scripts: If you want to be able to change all aspects of your website without deploying new files, there is no way around this extension. It allows you to store stylesheets and javascripts separately from your pages, while still being able to update them in the admin interface.
  • Concurrent draft: Allows you to have one published version and one draft version of each page. That way you can work with changes to a page and preview them, without having to actually publish them for everyone to see.


For those who build their own extensions

  • Shared layouts: If your extension includes pages that need to use the same layouts as the Radiant pages, this extension is a must. It simply lets you specify a Radiant layout in the controller just like you specify a Rails layout.
  • Exception notification: Once you add your own extensions to Radiant it makes very much sense to be notified of any exceptions that occurs. This extension wraps the popular exception notification plugin which has a few compatibility issues with Radiant.
  • Settings: I highly recommend that you let your own extensions be configurable through the standard Radiant::Config interface. This extension provides a tab in the admin interface for adding and editing these settings.

Many, many more great extensions exists for Radiant – I haven’t even mentioned my own! And while the official extension registry is a great initiative, you’ll find even more by searching for “radiant extension” on Github.

Bookmark and Share