Skip to content
Vangelis Tsoumenis edited this page May 12, 2014 · 8 revisions

This document describes the (arguably) easiest steps to start Pageflow on a development machine.

Disclaimer: The setup described here is in no way fit to be used in production.

Pageflow is a "Rails Engine" which means it is designed to be a part of a bigger Ruby on Rails application.

A Rails App with Pageflow requires a couple of additional applications and services:

  • A Database to store the presentations and user-accounts (SQLite).
  • Data-Storage that will hold the Images, Videos and Audios used in the presentations (Amazon S3).
  • A Service to convert the Video and Audio-File in multiple formats for different devices and browsers (Zencoder).
  • A messaging system that allows these components to communicate (Redis + Resque).

Please, note that using Zencoder and AWS will result in fees. Right now there are no alternatives to using S3 and Zencoder with Pageflow without strongly reducing the feature-set.

Get the requirements

Install Pageflow

Start a new rails app

Now create a new rails application that will contain Pageflow. The name pretty_reports can be substituted by another name. (Just don`t use "Pageflow" -> Troubleshooting#do-not-call-your-generated-application-pageflow). Pageflow will be the only component in this example-application.

# rails new pretty_reports
# cd pretty_reports
  • Set up Pageflow as described in the readme.
  • Initialize the database.

Configure Pageflow

Start Pageflow

Now, Pageflow should be ready to run on you development machine.

Make sure Redis is running

See the output of:

# ps aux | grep redis

If necessary start a Redis server:

# redis-server

This will start the redis-server on localhost port 6379. This should be configured accordingly in config/initializers/resque.rb

Start Resque

# rake resque:scheduler

Start a single resque worker to handle all background tasks:

# QUEUE=* rake resque:work

Start Rails

Start a Webserver running rails.

# rails s

Go to http://localhost:3000/admin/login and sign-in using the username [email protected] and the password !Pass123.