A Project Management and Collaboration tool inspired by Basecamp. (Discontinued)
Fetching latest commit…
Cannot retrieve the latest commit at this time
|doc||- Move everything to trunk|
|log||Add .gitignore for problematic empty folders|
|tmp||Add .gitignore for problematic empty folders|
RailsCollab ----------- RailsCollab is a port of the project management tool ActiveCollab (which is written in PHP) to the Ruby on Rails framework, obviously written in Ruby. For licensing details, refer to the LICENSE file in the root directory. First and foremost ****************** Whilst RailsCollab implements many security features, it is advised that you should be cautious when using it within an untrusted environment as it is still considered to be under development and thus may be susceptible to as-of-yet unknown security exploits. Requirements ************ Along with a working installation of the Ruby on Rails Framework, you will need the following to deploy & run RailsCollab: - iCalendar (http://icalendar.rubyforge.org/) - Ruby/GD2 (http://gd2.rubyforge.org/) - RedCloth (http://whytheluckystiff.net/ruby/redcloth/) - ruby-openid (gem install ruby-openid) - ActionMailer (gem install ActionMailer) - Ferret (gem install ferret) Upgrading from ActiveCollab (or ProjectPier 0.8) ******************************************** RailsCollab uses a derivative of ActiveCollab's database model, which is similar but not identical to RailsCollab's. More or less all the features of ActiveCollab are implemented, with the exception of the following: - E-mail Notification for assignments and new accounts - Forgot password reset - Localization - Administration tools - Runtime configuration editor In order to facilitate the migration from ActiveCollab to RailsCollab, a rake task called db:railscollab:migrate_from_activecollab has been provided, which converts the tables in the current database (as specified in config/database.yml) into a schema compatible with RailsCollab. The rake task supports the following versions of ActiveCollab, which can be explicitly specified by setting the ACTIVECOLLAB_VERSION environment variable: - 0.7.1 : (default) - 0.7.1 : with the unofficial time tracking enhancements (auto-detected) Note that any other version should be considered unsupported. It should also be noted that ONLY MYSQL DATABASES ARE SUPPORTED by this task. If for example you wanted to port over an ActiveCollab install but base everything in SQLite instead, you would probably be better using one of the as-of-yet non-existent web api's to copy everything over. So to sum it up, you would do something like the following to upgrade: 1) Copy your ActiveCollab installation's MySQL database to a SEPERATE DATABASE called railscollab 2) Create a config/database.yml file based on config/database.yml.template, using either the development or production environments as your basis. 3) Run 'rake db:railscollab:migrate_from_activecollab' from the root directory And to make sure it works: 4) Run 'script/server -e <insert development or production here>' 5) Go to http://localhost:3000 and login using your usual credentials File Storage ************ RailsCollab allows the user to upload files, provided they have sufficient permissions. Files are stored according to the "file_upload_storage" option. Note that the "local_database" storage option is currently the only implemented storage system in RailsCollab. When using the "local_database" storage option with MySQL, you might notice that files you upload may be limited to 64kb. To solve this issue, run the "db:railscollab:fix_files" rake task. Deployment ********** In order to facilitate deployment, a rake task called db:railscollab:install has been provided, which will create a minimal installation. The rake task accepts the following environment variables: RAILSCOLLAB_INITIAL_USER The username of the administrative user (default='admin') RAILSCOLLAB_INITIAL_DISPLAYNAME The display name of the administrative user (default='Administrator') RAILSCOLLAB_INITIAL_PASSWORD The password of the administrative user (default='password') RAILSCOLLAB_INITIAL_EMAIL The email address of the administrative user (default='better.set.this@localhost') RAILSCOLLAB_INITIAL_COMPANY The initial name of the owner company (default='Company') Note that as with any other database rake task, you will need to have the config/database.yml file present which contains the database connection settings. An example file is present at config/database.yml.template, which contains example settings for a rather insecure mysql database setup. In addition, RailsCollab reads various configuration options from config/config.yml, which must be present in order to run the server or perform any of the rake tasks. An example file is present at config/config.yml.template, which contains example settings. So from scratch, you'd likely do something like to following to install: 1) Create a 'railscollab' database 2) Create a config/database.yml file based on config/database.yml.template, using either the development or production environments as your basis. 3) Create a 'config/config.yml' file based on config/config.yml.template, filling in options where applicable. 4) Run 'RAILSCOLLAB_INITIAL_USER="billg" \ RAILSCOLLAB_INITIAL_DISPLAYNAME="Bill Gates" \ RAILSCOLLAB_INITIAL_PASSWORD="microsoft" \ RAILSCOLLAB_INITIAL_EMAIL="email@example.com" \ RAILSCOLLAB_INITIAL_COMPANY="Microsoft" \ rake db:railscollab:install' And to make sure it works: 5) Run 'script/server -e <insert development or production here>' 6) Go to http://localhost:3000 and login using your supplied credentials For proper deployment (e.g. using FastCGI or load balancing proxies), refer to the Ruby on Rails documentation. Finally ******* Good luck.