www.nico.schottelius.org/software/mbs.mdwn

92 lines
2.4 KiB
Markdown

[[!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.
## 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")
## 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](http://rvm.beginrescueend.com/)
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.
[[!tag eth]]