The machine booking system allows users of the ETH Zurich to book machines. It could be easily adjusted to support other institutions, with or without LDAP authentication.

Screenshots!

Installation

Get mbs

git clone git://git.schottelius.org/mbs

Mirrors (all should be up-to-date):

  • git://github.com/telmich/mbs.git
  • git://git.sans.ethz.ch/mbs

Requirements

To get mbs up and running, you need ruby and rails and the gems specified in the Gemfile. You may use rvm to assist you, like the following commandline:

rvm install ruby-1.8.7
rvm ruby-1.8.7
rvm gemset create mbs
rvm ruby-1.8.7@mbs
gem install bundler
cd mbs/
bundle install

Initialise Database

cd mbs
rake db:setup 

You can also use

rake bootstrap

to add some example data.

Setup

After mbs is up and running, you need to setup some basic data, before you can actually use it.

Authentication

The authentication part is defined in app/controllers/application_controller.rb and currently bound to Nethz-LDAP-Authentication, but can easily be adopted to other systems.

The nethz method uses the input username and password and binds to ldaps02.ethz.ch (most reliable). If that succeeds, the username is copied into the database, to create an id.

Machines types

mbs is heavily focussed on machine types. So the first thing is to select admin => machine types => new machine type and create a new machine type with a number of associated machines.

Usage

Now you are ready to use mbs!

Bookings

After you are authenticated, you can create bookings, select new booking.

Admin

The admin area is accessable for everybody, because everybody authenticated is trusted. It is reachable below /admin, but not linked, because it may confuse users.