/personae

character sheet software for the new World of Darkness games

Primary LanguageRubyGNU General Public License v3.0GPL-3.0

PERSONAE IS NO LONGER MAINTAINED, USE AT YOUR OWN RISK

License

Personae is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

Personae is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with Personae. If not, see <www.gnu.org/licenses/>.

Welcome

Persona is a Ruby on Rails web application designed to hold character sheets for the New World of Darkness role playing games by White Wolf. This program is designed to contain entire chronicles worth of characters and really shines when used for non-player-character sheets as well as the players’ characters.

Terms

Since this software has been designed to work with all the game lines in the New World of Darkness, some generic terminology has been used to describe similar elements across game lines.

Splat => Mage, Vampire, Werewolf, etc Nature => Moros (Mage), Gangrel (Vampire), Cahalith (Werewolf), etc Subnature => Changelings’ Kith (and nothing else) Clique => Cabal (Mage), Cotorie (Vampire), Pack (Werewolf), etc Ideology => Silver Ladder (Mage), Lancae Sanctum (Vampire), Storm Lords (Werewolf), etc

Setup

Personae uses an administrator-style account named Storyteller. This account can see all the Characters, Cliques and Ideologies in your game, regardless of their display settings. Be careful! The default password for this account is worldofdarkness – please change this once your database is set up! Once this account is active it can mark any others as admins as well. These accounts will have the same permissions as Storyteller.

To run Personae, you must have the following software installed: Ruby, Ruby on Rails, and mysql. It is highly suggested to use Apache httpd and mod_rails as well.

If you don’t have this software installed, you can download it from ruby-lang.org and www.mysql.com . Once you have Ruby and mysql installed, use Ruby Gems to install bundler: *nix:

gem install bundler

Windows: Start -> Programs -> Ruby -> Ruby Gems -> RubyGems Package Manager.

gem install bundler

With bundler installed, install the rest of the required gems by changing into Personae’s install directory (from a shell or cmd prompt) and run

bundle install.

This will install the proper versions of all the gems you’ll need.

Once you have Personae downloaded and placed where you want it, open a command prompt (Terminal on Mac, xterm on Linux, cmd on Windows). Run the following to configure your database:

cd <personae location>; RAILS_ENV=production rake db:setup

If you prefer, you can use the built-in web server with Ruby on Rails. This is not recommended, though. A better solution is to download Apache httpd and mod_rails from httpd.apache.org and mod_rails.com on a POSIX-compliant operating system (that is, just about anything but Windows). On a Windows environment, Apache httpd and mongrel is your best bet.

Windows: Start -> Programs -> Ruby -> Ruby Gems -> RubyGems Package Manager.

gem install mongrel

POSIX (Linux, Mac, Solaris, etc) Apache setup

If you’re using Mac, httpd is already installed for you. Otherwise, use your distribution’s package manager to install httpd.

Open a terminal and install mod_rails:

gem install passenger

Run the mod_rails installer:

passenger-install-apache2-module

The mod_rails installer should provide you with several lines to copy/paste into your Apache httpd.conf file. Do so.

Now, when you start Apache httpd, it will automatically begin serving up Personae.

Windows Apache setup

As above, download Apache httpd from httpd.apache.org and run the installer. Use the RubyGem package manager to install mongrel:

gem install mongrel

With mongrel installed, add the following lines to Apache’s httpd.conf file: LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_http_module modules/mod_proxy_http.so

<VirtualHost localhost:80>
  ServerName www.myapp.comm
  DocumentRoot "C:/web/myapp/public"
  ProxyPass / http://www.myapp.com:3000/
  ProxyPassReverse / http://www.myapp.com:3000/
  ProxyPreserveHost On
</VirtualHost>

Use the Apache tools to start httpd.

Open a command prompt (Start -> Run -> cmd) and type:

cd <personae install path>; mongrel_rails start -d

Accessing your site

Without further modification to httpd.conf, Personae will be running on port 80 of the computer it is installed on. You will need to allow access through whatever firewall you might be running to this port and will likely need to enable port forwarding on your router. portforward.com can help you with this.

It is unlikely that your computer will have a fully-qualified domain name (eg. google.com, white-wolf.com, etc). You can either register a domain name or use a service such as no-ip (no-ip.org) to give you one.

Email notifications

Personae uses the devise gem for user authentication and one of its features is email notifications for various events. To send these messages requires a mail server of some type. You may use a hosted proxy such as Sendgrid (sendgrid.com) to relay messages through or you may use a local mail server instead. My personal favorite is postifx (www.postifx.org).

To use a mail proxy, you must 1: edit personae/config/initializers/mail.rb to point to your relay of choice and 2: set environment variables to contain your username and password. In bash (in a *nix environment), this would be done like ‘export SENDGRID_USERNAME=“your_username”` before starting Personae.

If you would rather use a local mailserver, you may simply remove mail.rb. Don’t worry! I promise it won’t break anything!

A word of caution

Running a web server presents a potential security vulnerability, which can be mitigated by frequently updating Apache and Ruby on Rails. If you’re not OK with that, then your best bet is to not use Personae.