Web content system based on Ruby on Rails.
Ruby HTML Gherkin CSS Other
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
app
bin
config
db
doc/Developers
features
lib
log
public
spec
vendor/assets
.autotest
.gitignore
.reek
.rspec
.rubocop_todo.yml
.ruby-gemset
.ruby-version
Gemfile
Gemfile.lock
LICENSE
README.md
Rakefile
config.ru
package.json
preflight

README.md

Wayground

Web content framework. http://wayground.ca/

Twitter: @wayground

A somewhat generic platform for handling web content management (CMS), contact relation management (CRM), democracy tools, calendaring, open data, content aggregation, etc.

Project lead: Grant Neufeld

Installation

Prerequisites

You must have ruby installed (at least version 2.4). You may want to use something like RVM to manage installation of ruby.

By default, we are using PostgreSQL as the database backend, so you will need an installation of that (although not necessarily on the same computer/server/host). Version 9.3 or later recommended.

These commands should be issued from the project directory (e.g., ~/projects/wayground). Depending on your ruby setup, you may need to prefix the gem calls that follow with sudo.

Make sure your ruby gem system is up to date:

gem update --system

Make sure you have Bundler for installing gems:

gem install bundler

For deployment, you either need a hosted service that can support Ruby on Rails and your database, or you need a suitable web server installed (such as Apache, with the Passenger extension for ruby).

For non-production installations (e.g., for developers), please also refer to the developer documentation: doc/Developers/Setup.md.

Setup

Put the entire project directory where you want it on your web server’s file system.

Copy config/database.default.yml to config/database.yml and edit that file to use the appropriate configuration for your database. The default will use PostgreSQL. Using another database may require some changes to the migration files and may cause problems if the database doesn’t handle array or hash column types.

Copy config/initializers/secret_token.rb.default to config/initializers/secret_token.rb, then edit that file to use your own, made-up (random), secret key.

Copy config/initializers/omniauth.rb.default to config/initializers/omniauth.rb, then edit that file to use your own external service authentication codes.

From within the project directory, run the following command to ensure you have the required gems (and the required versions of those gems):

bundle

Run this command to setup the required data tables in your database:

bundle exec rails db:migrate RAILS_ENV#production

On production servers, run this command to precompile the assets (javascripts, stylesheets,…):

bundle exec rails assets:precompile

Set your web server’s configuration to point to the project directory (either for the server as a whole, or for the specific domain you want to be served). Restart your web server, if necessary, for it to start serving your new site.

Go to your new site and follow the “Sign Up” link to create your first user account on the site. The first user will automatically have admin privileges and can assign privileges to other users.

Customizing

The overall look of the site is defined by the html template: app/views/application.html.erb

and by the stylesheets in: app/assets/stylesheets/

Be careful when editing .erb files that you don’t break the ruby code embedded in them. The ruby code in .erb files is wrapped in “<% … %>”.

Third Party Content

Code

Portions of this code are taken from, or modified from, other open source projects:

  • User access cucumber feature tests derived from Clearance

Fonts