An open source Ruby on Rails content management system for small business.
For more screenshots, example sites & high level information: http://refinerycms.com
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.
- 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
Refinery's gem requirements are:
- acts_as_indexed = 0.6.2
- authlogic ~> 2.1.4
- friendly_id ~> 3.0.4
- rails ~> 2.3.6
- rmagick ~> 2.12.2
- truncate_html = 0.3.2
- will_paginate ~> 2.3.12
- RMagick - Install docs or for Mac OS 10.5 or 10.6 users this shell install script will be easier.
gem install refinerycms
refinery path/to/project
The git repository is where all of the changes are made when any new code is written or existing code is updated. For this reason it is often better to use the gem or to checkout a particular tag (the latest is usually considered the most stable). So unless you want to use the latest code, checkout the latest tag by replacing 0.9.X.XX below with the appropriate version:
git clone git://github.com/resolve/refinerycms.git mynewsite.com
cd ./mynewsite.com
git checkout 0.9.X.XX
git remote rm origin
git remote add origin [email protected]:you/yournewsite.git
mv ./config/database.yml.example ./config/database.yml
Firstly, edit config/database.yml
to reflect your database server details.
Next you'll need to install bundler if you don't have it already:
gem install bundler
Now you will need to make sure that you specify the correct database driver and web server.
The default choices are mysql and unicorn but to change them open up Gemfile
which is in your application's root directory.
You'll see a section like this:
# Specify the database driver as appropriate for your application (only one).
gem 'mysql', :require => 'mysql'
#gem 'sqlite3-ruby', :require => 'sqlite3'
# Specify your favourite web server (only one).
gem 'unicorn', :group => :development
#gem 'mongrel', :group => :development
To choose a different driver or web server just comment out the one we've pre-selected and uncomment or write the one you want instead.
After you have bundler and you've chosen your database driver and web server, you'll need to install the gems that Refinery depends on. You can do this by running:
bundle install
Next create your database and fill it with Refinery's default data:
rake db:setup
Note: The news engine that was previously in Refinery's core was extracted into a separate gem / plugin to be found here:
http://github.com/resolve/refinerycms-news
Now, news should be up and running.
ruby script/server
Now visit http://localhost:3000 and your Refinery site should be running.
You will be prompted to setup your first user.
- Tutorial Site
- Google Group Discussion
- Developer/API documentation
- GitHub repository
- Developer video - 26 mins
- IRC Channel
If you're using Heroku you will want to put
Refinery.s3_backend = true
in your config/environments/production.rb
file to make Refinery store files uploaded on Amazon S3.
Simply run the command:
rake refinery:update
and the up-to-date core files will be copied from the latest gem into your project.
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.
- Easily edit and manage pages with a WYSIWYG visual editor
- Manage you site's structure
- Easily upload and insert images
- Upload and link to resources such as PDF documents
- Uses the popular attachment_fu Rails plugin
- Collect inquiries from a contact form
- Manage your inquiries and be notified when new ones come in
- Checks new inquiries for spam
- Manage the behaviour of Refinery
- Easily integrate with Google Analytics
- Get an overview of what has been updated recently
- Manage who can access Refinery
- Control which plugins each user has access to
- Uses the popular authlogic authentication Rails plugin
- 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
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
Refinery is released under the MIT license and is copyright (c) 2005-2010 Resolve Digital Ltd.