rBoard is a kick-ass forum system built in Ruby on Rails. One of it's primary goals is being able to set it up quickly and easily, and still have it blow your mind with an awesome and stable feature set. It's now one year old as of March 10th, 2009.
If you're looking to integrate it into a site, please read the Integration section below.
How to get it up and running
In order to start using rBoard you should only have to clone the repository, and run
git clone git://github.com/radar/rboard.git rBoard cd rBoard
Start up the site in your deployment of chouce and complete the install and you should be ready to go!
This app requires Sphinx which can be obtained from the Sphinx website. Sphinx works with both MySQL and PostgreSQL.
Alternatively, you could just comment out or remove the define_index block in the post model.
- download Sphinx
- extract it
./configure && make && sudo make install
cdto rBoard app folder
rake ts:config && rake ts:in && rake ts:start. This should start up the thinking sphinx daemon.
rboard has the following awesome things:
- Runs on Rails 2.2 + 2.3
- Easy Internationalisation Support
- Categories (can be ordered)
- Forums (can be ordered)
- List topics with subject, author, replies, views and last post information
- Can be restricted to certain user levels (visible to and topics created by)
- Sub forums (infinitely. No, really. Try it.)
- RSS Feeds
- Paginated (will_paginate)
- RSS Feeds
- Editable (it tracks these too!)
- Quick Reply
- Code Highlighting (syntax gem)
- Paginated (will_paginate)
- IP Tracking
- Member Lists
- User Levels (Anonymous, User, Moderator & Administrator)
- IP Banning
- Post dependent or custom
- Upload your new theme directory into public/themes and go!
- Private Messaging
- Tracks read topics on a per-user basis
- Searching (courtesy of ThinkingSphinx)
Puppies, Kittens, Rainbows and Unicorns sold separately.
OAQ (Occasionally Asked Questions)
Why not? I use forum systems every day and I figured the best way to learn more about Rails was to build one in it. rBoard's evolved into much, much more now and is my favourite project to work on.
One developer, so far. My name's Radar, but sometimes people call me Ryan or "dickhead". I wrote all of the code you see before you today.
This is rBoard, a forum system built in Rails.
To install it, type `rake install` and this should do all the magic for you.
- When (is it stable)?
The `master` branch is usually kept in a stable manner whilst I tinker in my own personal branch, usually called `radar`.
- OMG it is broken -- why!?!?
If you have any problems, you can contact me [through GitHub](http://github.com/inbox/new/radar) or by [emailing me](mailto:firstname.lastname@example.org)
- I love you.
You can send money to `email@example.com` and I may love you back.
rBoard works as a stand-alone solution as well as a drop-in solution for your site's forum needs. All the user model specific code has been moved to a module to ensure that this process is made easier. You have two options:
Use the pre-existing user model (integrate your site into rBoard).
Use your own user model (integrate rBoard into your site). In user model you just have to write
include Rboard::UserExtension. The relevant authentication system code has also been modularized into lib/rboard/auth.rb and must be included into the ApplicationController of your site like this:
include Rboard::Auth. Please be aware that this module will override any
logged_in?methods you have defined anywhere else.
If you wish to use a different authentication system other than Restful Authentication then remove the user model (app/models/user.rb) and replace it with your own whilst not forgetting to
include Rboard::UserExtension, the AuthenticatedSystem module (lib/authenticated_system.rb) and the AuthenticatedTestHelper module (lib/authenticated_test_helper.rb)