Refinery CMS

An open source Ruby on Rails content management system for small business.

Demo Site

For more screenshots, example sites & high level information: http://refinerycms.com

Refinery Dashboard

What it's good at?

Refinery is great for small business sites where the client needs to be able to update their website themselves without being bombarded with anything too complicated.

Unlike other content managers, Refinery is truly aimed at the end user making it easy for them to pick up and make changes themselves.

For developers

  • Allows you to get a small business site completed ridiculously quickly
  • Easily Theme and customise the look to suit the business
  • Extend with custom plugins to do anything Refinery doesn't do out of the box
  • Sticks to "the Rails way" as much as possible. We don't force you to learn new templating languages.
  • Uses jQuery for fast and concise JavaScript

Requirements

Refinery runs using a number of gems which (as of Refinery version 0.9.5.29) are outlined below:

Other dependancies

Installing and Setting Up Refinery

1. Get the Refinery code

Install the Gem

gem install refinerycms
refinery path/to/project

Or, clone Refinery's GIT repository

git clone git://github.com/resolve/refinerycms.git mynewsite.com
cd ./mynewsite.com
git remote rm origin
git remote add origin [email protected]:you/yournewsite.git
mv ./config/database.yml.example ./config/database.yml

2. Configuration

Firstly, edit config/database.yml to reflect your database server details.

Next create your database and fill it with Refinery's default data:

rake db:setup

After your database exists, you'll need to install the gems that Refinery depends on. You can do this by running:

rake gems:install

3. Starting up your site

ruby script/server

Now visit http://localhost:3000 and your Refinery site should be running.

You will be prompted to setup your first user.

Help and Developer Documentation

Setting Up on Heroku or Using S3 for Storage

If you're using Heroku you will want to put

USE_S3_BACKEND = true

in your config/production.rb file to make Refinery store files uploaded on Amazon S3.

Updating to the latest Refinery

When using the gem

Simply run the command:

refinery-update-core path/to/project/root/

and the up-to-date core files will be copied from the latest gem into your project.

When using GIT

You can update by running these commands:

git remote add refinerycms git://github.com/resolve/refinerycms.git
git pull refinerycms master

This will pull in all of the updated files in the project and may result in some merge conflicts which you will need to resolve.

What comes included with Refinery

Pages

Images & Resources

  • Easily upload and insert images
  • Upload and link to resources such as PDF documents
  • Uses the popular attachment_fu Rails plugin

Inquiries

  • Collect inquiries from a contact form
  • Manage your inquiries and be notified when new ones come in

News

  • Post news about your company and update your visitors

Settings

Dashboard

  • Get an overview of what has been updated recently

Authentication & Users

  • Manage who can access Refinery
  • Control which plugins each user has access to
  • Uses the popular RESTful authentication Rails plugin

Themes

  • Customise Refinery to look exactly how you want
  • The Rails Way: use regular Rails erb views, no templating languages here!

...Want more? Extend with Plugins

Extend Refinery easily by running the Refinery generator

ruby script/generate refinery

to get help on how to use that. Or read the full documentation on writing plugins for Refinery

Run the Tests

If you have installed Refinery using GIT (described above in step 1 of installing Refinery) then you'll be able to run the tests. At your Rails root run:

rake test

What about a portfolio?

Check out the portfolio plugin gem

License

Refinery is released under the MIT license and is copyright (c) 2005-2009 Resolve Digital Ltd.

Read the license