2010-10-02 12:15:26 +00:00
|
|
|
[[!meta title="Machine Booking System (mbs)"]]
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
2010-10-02 13:35:47 +00:00
|
|
|
|
|
|
|
## Screenshots!
|
|
|
|
|
|
|
|
* [booking overview](screenshots/booking-overview-screenshot-20101002.png "Overview of bookings")
|
|
|
|
* [booking successful](screenshots/booking-successful-screenshot-20101002.png "Booking successful")
|
|
|
|
* [booking error](screenshots/booking-error-screenshot-20101002.png "Booking error")
|
|
|
|
* [free machines](screenshots/free-machines-screenshot-20101002.png "Free machines")
|
|
|
|
* [used machines](screenshots/used-machines-screenshot-20101002.png "Used machines")
|
|
|
|
* [admin view](screenshots/admin-screenshot-20101002.png "Admin view")
|
|
|
|
|
2010-10-02 12:15:26 +00:00
|
|
|
## Installation
|
|
|
|
|
|
|
|
### Get mbs
|
|
|
|
|
|
|
|
git clone git://git.schottelius.org/mbs
|
|
|
|
|
2010-10-02 12:25:38 +00:00
|
|
|
The backup url is **git://git.sans.ethz.ch/mbs**.
|
|
|
|
|
2010-10-02 12:15:26 +00:00
|
|
|
### Requirements
|
|
|
|
|
|
|
|
To get mbs up and running, you need ruby and rails and the gems specified
|
2010-10-02 12:20:31 +00:00
|
|
|
in the Gemfile. You may use [rvm](http://rvm.beginrescueend.com/)
|
|
|
|
to assist you, like the following commandline:
|
2010-10-02 12:15:26 +00:00
|
|
|
|
|
|
|
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
|
|
|
|
|
2010-10-02 12:20:31 +00:00
|
|
|
cd mbs
|
|
|
|
rake db:setup
|
|
|
|
|
|
|
|
You can also use
|
|
|
|
|
|
|
|
rake bootstrap
|
|
|
|
|
|
|
|
to add some example data.
|
2010-10-02 12:15:26 +00:00
|
|
|
|
|
|
|
## 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
|
2010-10-02 12:25:38 +00:00
|
|
|
**ldaps02.ethz.ch** (most reliable). If that succeeds, the username
|
2010-10-02 12:15:26 +00:00
|
|
|
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
|
2010-10-02 12:25:38 +00:00
|
|
|
authenticated is trusted. It is reachable below **/admin**,
|
|
|
|
but not linked, because it may confuse users.
|
|
|
|
|
|
|
|
[[!tag eth]]
|