Guides

These guides are designed to make you immediately productive with Refinery, and to help you understand how all of the pieces fit together.

Refinery guides are a work in progress. They assume you are using the latest stable version.
Some of these guides contain incomplete information and even errors. You can help by reviewing them and posting your comments and corrections in the comments area of each guide.

Getting Started

Installing Refinery Prerequisites

This guide covers getting your system ready for Refinery. Afterwards you will have:

  • A working version of Ruby
  • ImageMagick installed
  • Either the SQLite, MySQL, or PostgreSQL database configured
Getting Started with Refinery

This guide covers getting up and running with Refinery CMS. After reading it, you should be familiar with:

  • Installing and creating a new Refinery site
  • Changing the front end design of a Refinery site
  • Extending Refinery’s functionality with custom engines
Attaching Refinery CMS to an existing Rails application

This guide covers integration with Refinery CMS. After reading it, you should be familiar with:

  • Attaching Refinery CMS to an existing Rails application
Attaching Refinery CMS as part of a larger Rails + Devise application

This guide covers adding functionality provided by Refinery CMS to an existing application, while retaining the existing application’s control over configuration and use of the Devise authentication gem. After reading it, you should be familiar with:

  • Getting Refinery CMS to use an existing User model
  • Applying your site layout and css to the Refinery front end generated content
  • Ensuring your existing app’s tests still run
  • Adding the authentication (and authorization) rules from your app to Refinery’s back end administration content.

Documentation

Writing a guide for this website

This guide covers writing your own guide. After reading it, you should be able to:

  • Format a guide.
  • Submit it for approval and inclusion on this website.

Essentials

How to get help with Refinery

We all sometimes hit a brick wall. This guide will show you how to:

  • Get support and help by connecting with other Refinery developers
How to contribute to Refinery development

One of Refinery’s key principles is encouraging people to contribute. This guide will show you how to:

  • Contribute to the documentation (such as this guide)
  • Contribute bug fixes or new features
  • Contribute financially
Translate Refinery into your language

Refinery supports translations. This guide will show you how to:

  • Improve upon or add a new translation to Refinery

Customising your Design

How to change Page Parts

Refinery sets up two default page parts Body and Side Body. Sometimes this is not suitable for your project. This guide will show you how to:

  • Change the default page parts to be something else
  • Add a new page part to a single page
How to override a view

The default HTML Refinery generates on the front end is sometimes not suitable for your design. This guide will show you how to:

  • Override a front end view in Refinery and replace it with your own version
How to add custom javascript files

By default, Refinery does not load any javascript files on the frontend of your website.

However, most of the time you want to provide your own files so this guide will show you how to achieve this.

Extending with Engines

Tabbed fields in your engine's admin area

Sometimes you create an engine with a number of wymeditor fields. Having these display one after another can be overwhelming for your clients (or you!).
This guide will show you how to:

  • Organise many visual editors into nice tabs like Refinery’s ‘pages’ engine does
Creating Multiple Data-Tables in a Single Engine

This guide will show you how to:

  • Creating multiple tables on one single engine

Updating Refinery

How to update Refinery to the latest stable version

Refinery constantly changes as we add new features and fix bugs. This guide will show you how to:

  • Keep updated with the latest stable versions as they are released
How to upgrade to edge Refinery

If you’re an experienced Refinery developer you might want to live on the edge. This guide will show you how to:

  • Keep your existing Refinery installation on the edge version

Hosting

How to Install Refinery on Heroku

Heroku is a popular hosting choice for many developers. This guide will show you how to:

  • Install and deploy Refinery on the Heroku hosting platform
How to use Amazon S3 for storage

Hosting your site’s files on Amazon S3 is a popular option for many, especially
if you’re using a read only file system like Heroku.
This guide will show you how to:

  • Enable and configure Refinery to store files and images on Amazon S3

Tips and Tricks

Using SASS in your views

Some developers prefer to use SASS to generate their CSS. This guide will show you how to:

  • Setup and use SASS instead of CSS
How to add an image gallery to pages

By default pages don’t allow you to make galleries of images. This guide will show you how to:

  • Use the portfolio engine to display a gallery of images
How to test Refinery

Refinery ships with a range of specs and cucumbers to test it. This guide will show you how to:

  • Run the tests that come built in with Refinery to ensure your install is working correctly
How to setup Google Analytics

Google Analytics is a great free way to find out how much traffic your site is getting. This guide will show you how to:

  • Use the built in Refinery setting and layout to easily add Google Analytics support to your existing Refinery site
How to redirect old pages

Many Refinery sites replace old ones that have links to these older pages. This guide will show you how to:

  • Match old urls and redirect to them appropriate new ones
How to enable testing in your application

Refinery ships with a range of specs and cucumbers to test it. This guide will show you how to:

  • Run the tests that come built in with Refinery to ensure your install is working correctly
  • Run the engines tests