Beast
Beast is the spiffing new forum software from those two terribly clever chaps Josh Goebel and Rick Olson. Rick is already responsible for a very useful Ruby on Rails plug-in called acts_as_versioned and the very promising Mephisto blogweight CMS while Josh has a Rails Wiki called ServerSideWiki under his belt plus the rather useful Pastie.
The aim of Beast is to be a small and straightforward Ruby on Rails forum in less than 500 lines of code. It's up to 432 at the moment but seems about ready to go.
So, first problem, to get Beast installed on my Windows laptop development machine.
Step 1. svn checkout http://svn.techno-weenie.net/projects/beast/trunk/
You'll probably use Tortoise of course, but you're going to need SVN in line mode shortly.
Step 2. Bring up one of those terribly old-fashioned looking command shells (Start -> Run -> cmd.exe) and go to your new beast folder. Then: rake freeze_edge
This is needed as Beast uses some of the features in the 'edge' version of Rails, i.e. the version that hasn't been formally released yet. The main thing it appears to use is the new RESTful routing, of which more some other time. This command will need svn to be in the path so you may need to append "C:\Program Files\Subversion\bin" to the end of the current path.
Step 3. gem install RedCloth
RedCloth is the Ruby implementation of Textile, a natty text format that can edited easily and translated to and from HTML.
Step 4: Set up the database. Grab 'database.example.yml' from the config folder and reformat it for whatever database you're planning to use. Beast seems to prefer SQLite 2, so I'm going to use that. So all I'm doing is renaming 'database.example.yml' to 'database.yml'.
If you don't already have SQLite there are two intermediate steps:
Step 4a: Download SQLite 2 from the SQLite download page and drop the exe, dll and def files in c:\ruby\bin. Instructions of a sort are on this HowtoUseSQLite page.
Step 4b: Install the ruby library for sqlite: gem install sqlite-ruby. Matt Griffith has made this feel a lot easier.
Then, at last: rake db:schema:load
Step 5: ruby script/server
This will start WEBrick on port 3000 so you can now access Beast on http://localhost:3000/.
Thanks for helping put together a resource for all the people on Windows wanting to play with Beast!
We appreciate it.
Posted by: Josh Goebel | September 02, 2006 at 11:19 PM
The URL for SVN changed on 2 Sep 2006. The article has been changed to reflect this.
Posted by: Old Dog | September 05, 2006 at 01:13 PM
Many thanks Dog,
This worked like a charm!
For those wondering (like me) why SQLite 3 is not the best choice, see: http://beast.caboo.se/forums/1/topics/310
Posted by: Bill Capolongo | September 17, 2006 at 05:34 AM
Hi,
Thanks for posting this tutorial, I'm having some trouble following it.
When it says "This command will need svn to be in the path so you may need to append "C:\Program Files\Subversion\bin" to the end of the current path."
How do I actually append something to the current path?
Thank you!
Posted by: Steven Hann | October 12, 2006 at 01:48 PM
If you type 'path' as a command, it will give you the current path in the form of a command. All you have to do is cut-and-paste the extra string onto the end.
Posted by: Old Dog | October 12, 2006 at 03:49 PM
thank you very much :)
Posted by: Steven Hann | October 13, 2006 at 03:35 AM
After install TortoiseSVN to C:\Program Files\TortoiseSVN, When I run "rake freeze_edge", I always got "C:/InstantRails/ruby/bin/rake.bat: No such file or directory - svn --version
ERROR: Must have subversion (svn) available in the PATH to lock this application
to Edge Rails
rake aborted!
exit"
I did add "C:\Program Files\TortoiseSVN\bin" to PATH. I don't know how to use tortoise SVN in line mode. thank your help.
Posted by: Hu Jun | December 24, 2006 at 04:16 AM
When I did this, I'd already installed SVN before I discovered Tortoise and installed that as well. It may be that you need SVN installed as well as Tortoise.
Posted by: Old Dog | December 24, 2006 at 10:18 AM
You can no longer freeze edge rails for Beast. You need to freeze at version 1.2.3. Use rake rails:freeze:edge TAG=rel_1-2-3
Posted by: Jason Cartwright | May 04, 2007 at 06:34 PM