Comatose, a Micro CMS Plugin
Features:
- Easy to install—It’s a Rails plugin
- Light-weight—It only adds one table to your schema (and has a generator to create the migration for you)
- Runs entirely from the plugin folder by default
- Intelligent page caching
- Easy to leverage throughout your application
- Full administration UI that can be re-skinned
- Supports Textile filtering
- Simple ‘mounting’ of the cms root path in your
routes.rbfile - Easy to wrap content in a Rails layout
- It’s not meant to be a feature-complete CMS system. If this bugs you… Well, you should look into something like Radiant
- No versioning support
- No page status, all pages are ‘live’
Lately, I’ve had a recurring issue arise on my projects: They generally require a few content pages. Nothing fancy. Just a privacy policy, terms & conditions, an FAQ, that kind of thing.
I don’t really want to make these static HTML pages. They are likely to change at some point, especially the FAQ. Plus, I’d like to have them leverage Rails’ layout support. At the very least, I’d like to have them easy to re-skin.
That said, I don’t want to spend the time integrating an actual CMS system into the application. And really, for just a few pages, it’s too much.
I wanted an easier way. Something that was tiny, simple, and lightweight. Something I could drop into existing applications. In short; a micro CMS plugin.
They say necessity is the mother of invention, although I’ve often thought laziness is… But that’s a different post altogether. The point is, I wound up building something to suit my needs—perhaps it’ll suit yours as well.
I call it Comatose.
Comatose? What a Horrible Name!
Yeah, probably so. I just wanted something unique with the letters CMS in it. Comatose is the first one I thought of.
Features
- Easy to install—It’s a Rails plugin
- Light-weight—It only adds one table to your schema (and has a generator to create the migration for you)
- Runs entirely from the plugin folder by default
- Intelligent page caching
- Easy to leverage throughout your application
- Full administration UI that can be re-skinned
- Supports Textile filtering
- Simple ‘mounting’ of the cms root path in your
routes.rbfile - Easy to wrap content in a Rails layout
- It’s not meant to be a feature-complete CMS system. If this bugs you… Well, you should look into something like Radiant
- No versioning support
- No page status, all pages are ‘live’
Installation
Quite simple. Just run the following in your console, at your application’s root folder:
./script/plugin source http://mattmccray.com/svn/rails/plugins ./script/plugin install comatose ./script/generate comatose_migration rake migrate
Comatose is now installed and setup.
Usage
To enable it in to your application, just add a line to your config/routes.rb file:
map.comatose_root '/pages'
That’s it! Now, whenever you visit http://your-app-url/pages it will render your cms pages.
Have a look at the README for more.
Feedback
Feel free to use Comatose. I’ve released it, at this point, under the MIT license. Which basically means you can use it however you want.
If you like it, hate it, or have some ideas for new features, let me know! ( darthapo at gmail dot com )