Seed: A New Rails Powered Open Source CMS With In-Page Admin Interface
The Media Collective's "common sense CMS" named Seed (code) (demo) (screencast) is a diamond in the rough. It supports Akismet spam blocking, monitoring via New Relic, media storage via Amazon's S3, page caching, and fine-grain control of page editing on a per-user basis - all out of the box. It joins existing Rails CMS's like Refinery and Radiant, but comes better styled at the start than either of the two and the live on-page administration interface sets it apart. Seed is also MIT licensed so you can use it in your own projects without any hassles.
The Future: Compare and Contrast
Refinery, Radiant, and Seed are all being actively developed but Refinery currently lacks page caching, and will ultimately need to assimilate all of the things that Seed already has before it can be considered a better alternative. As it stands, the re-order/edit-in-place functionality of Seed is preferable to the scheme Refinery presently uses, which places similar technology in the administrative interface. Clearly, in terms of functionality, with having what approximates a WYSIWYG arrangement tool, Seed is quite slick.
It should be mentioned that Seed is currently built upon Rails v2.1.2, and after contacting the author on GitHub, it isn't likely to advance to a newer version of Rails until there is an intrinsic need that requires doing so.
Features and Customization
Both Seed and Refinery use Rails' engines functionality, and you can override the packaged controllers and views by creating your own copies in the vendor directory and customizing them. This makes it straightforward to back-up business data and simplifies the upgrade process to future versions. Seed also provides calendar functionality, as well as differentiation between articles, news entries, and blog entries out of the box, and it also supports displaying YouTube videos as page components. Both Seed and Refinery allow for file uploading and attachments, but I found myself preferentially drawn towards the smooth light-box that Seed employs.
One thing I don't appreciate with Seed is that the images seem programmatically bound to the upper right hand corner of the articles, but that is most definitely something that can be addressed either through tweaking the CSS or the underlying source code. Had it been possible to drag-and-drop the images such that they could be spread into different paragraphs within the articles, Seed would hands down be my favorite CMS for Rails at present, bar none.
Odds and Ends
There is a built-in table-producing page component that uses a simple mark-up of pipe (|) symbols to create evenly spaced tables within features. I've never seen this before and it's quite handy. Seed does a lot for you, straight out of the box, and is a serious contender in the Rails CMS landscape. I personally think that every Ruby CMS should ship with Compass, and adding Compass to Seed is near the top of my to-do list.
I'm pretty actively tracking open-source web technologies, perhaps to a fault, and I've never seen or heard of Seed in my online experience to date. Found via chance as an aberrant search result on GitHub, Seed has impressed me these past weeks and is definitely worthy of a couple of minutes to setup. At present, it's my favorite of the Ruby CMSes, and while I've traditionally found myself tending towards the Sinatra-based Nesta for a lightweight solution, I think Seed is my new go-to solution for a Rails-based CMS.
Quick Setup Instructions
(case of ubuntu server x86_64 running the latest REE based on 1.8.7)
gem install -v=2.1.2 rails
git clone git://github.com/desaperados/seed.git seed
cp config/examples/*.yml config/
environment.rb file ...
A big thanks to grantmichaels for providing this guest post.