I was asked by our new Library Director to find an alternative to our now out-of-date and somewhat cumbersome room/resource booking software. The software would need to allow staff to book various rooms, ICT resources, labs and mobile notebook trolleys throughout the school. A quick search came up with a number of positive reviews for MRBS as a school resource booking solution so I decided to try it out.

The prerequisites for MRBS are as follows:

- PHP 4/5
- MySQL or PostgreSQL
- A web server (such as Apache) that supports PHP
- PHP-LDAP Modules (optional for LDAP authentication)

Luckily enough I already had an Ubuntu Linux production server in place with these prerequisites installed so I was ready to go. The install process is as follows:

  1. Extract the contents of the MRBS.tar.gz file to your web servers storage folder (ie: Apache – htdocs, IIS -inetpub)
  2. Create a mrbs database in MySQL
    CREATE DATABASE `mrbs` ;
  3. Create the database table structure using the supplied tables.my.sql script
    (Optional: Add sample data to the database using the supplied sample-data.sql script)
  4. You must enter a timezone into the config.inc.php file before the system will function (ie: $timezone = “Sydney/Australia;)

At this point the system is ready to use. However, I recommend a few extra steps for ease of use in a school environment:

Enable period view and define school periods:

The default view for MRBS is time slots. Generally schools work to periods not time slots so a period view has been included in MRBS.
To enable the period view:

  1. Include the following line of code in your config.inc.php file:
    $enable_periods = TRUE;
  2. Define the periods in the config.inc.php file. Example:
  3. $periods[] = “Before School”;
    $periods[] = “Mentor”;
    $periods[] = “Period 1″;
    $periods[] = “Period 2″;
    $periods[] = “Recess”;

    And so on…

Activate LDAP authentication:

We endeavor to provide a single-sign-on environment for our staff and students which means that LDAP authentication is a must have for any system that we implement into our network. This process was by far the hardest part of the MRBS install and took my colleague and I sometime to complete mainly due to the PHP-LDAP modules.
To enable LDAP authentication:

  1. Install PHP-LDAP modules
    I am not going to go into installing these modules in this post but am happy to lend a hand if you need help getting these working.
  2. Define LDAP authentication commands in the config.inc.php file. Example:
    $auth['only_admin_can_book_repeat'] = TRUE;$auth["type"] = “ldap”;

    $ldap_host = “yourdomain.com.au”;
    $ldap_port = 389;
    $ldap_v3 = true;
    $ldap_tls = false;
    $ldap_base_dn = “ou=Users,dc=yourdomain,dc=com,dc=au”;
    $ldap_user_attrib = “sAMAccountName”;
    $ldap_dn_search_dn = “cn=Admin,ou=Users,dc=yourdomain,dc=com,dc=au”;
    $ldap_dn_search_attrib = “sAMAccountName”;
    $ldap_dn_search_password = “Admin_Password”;

  3. Define admin users from LDAP in the config.inc.php file
    $auth["admin"] = “Admin”;

Being open source the opportunities to endless for you to critique this system to your individual needs. We have edited various files within the system to do the following:

  • Only allow admins to create repeat bookings
  • Change field labels by editing the language file (lang.en)
  • Apply the users username to the end of the displayed booking so staff can easily see who has made the booking
  • Add an “Override Creator” field for admins only so that they can make a booking on a staff members behalf
  • Edit the Help page to be more school specific help

© 2012 AG's Latest! Suffusion WordPress theme by Sayontan Sinha