/hybridization_scheduler

Microarray hybridization scheduler using SproutCore and Ruby on Rails 3

Primary LanguageJavaScript

Hybridization Scheduler

A microarray hybridization scheduler that uses SproutCore for the user interface and Rails 3 for the back end.

Demo

See it in action: hybscheduler.heroku.com

Setting up and running it in a development environment

Make sure you have the following prerequisites:

  • Git

  • Ruby 1.8.7

  • Bundler ~> 1.0

  • Java (for the build tools)

Clone the git repository and install the git submodules:

git clone git://github.com/systemsbiology/hybridization_scheduler.git
cd hybridization_scheduler

Install the necessary gems, load seed data and start the rails server:

bundle install
rake db:migrate
rake db:data:load
rails server

In another terminal, start the SproutCore development server in your array_pipelines/app/sproutcore folder:

sc-server

You should now be able to see the app at localhost:4020/calendar, and the administrative back end at localhost:3000/requirements

Deploying with Apache/Passenger

This assumes the prerequisites for development plus having the Apache2 and the latest Phusion Passenger installed (older versions may not work properly with Rails 3).

Install the application on your server:

git clone git://github.com/systemsbiology/hybridization_scheduler.git
cd hybridization_scheduler

Build the user interface:

rake build:ui

Create a symlink named ‘scheduler’ from your Apache DocumentRoot to the public folder in the Rails 3 server, for instance:

ln -s /local/apps/hybridization_scheduler/server/public /var/www/scheduler

Add the following directive to your Apache2 configuration:

RailsBaseURI /scheduler

Restart Apache, and the app should be available at yourserver/scheduler. The administrative backend can be reached at yourserver/scheduler/requirements.

Enabling authentication

The hybridization scheduler can use RubyCAS-server to authenticate users, which also allows for administrator users. Enable this by editing server/config/initializers/app_config.rb