Importantly, you can easily insert Bumblebee into a different template so that your booking pages fit in with the rest of your institution's web pages. Actually, you probably should do this unless you really like the default colour scheme!

The behaviour of other aspects of Bumblebee are controlled through various configuration files. A brief tour of these files is given here with further information being included in each of them.

Templates & Themes

In the default installtion of Bumblebee, the header of the page (i.e. all the HTML before the <body> tag) is provided by the file theme/pageheader.php And the start of the content of the page (i.e. everything displayed from <body> to the Bumblebee generated display) is in theme/contentheader.php. Note, however, that these are included one after the other so there is no need to undertake this separation unless you wish to. You can make these files as complex or as simple as you desire, call PHP functions within them and use PHP's include statement to load in additional files.

The default Bumblebee installation provides you with three CSS files. The actual layout (i.e. menu bar on the left, logo at the top etc) of the page is performed by pagelayout.css, so there is no need to include that file in your custom theme. The bumblebee.css is probably best included without modification as it defines the sizes and shapes of various aspects of the calendar output. If you need to override the default colours, fonts or font sizes, then feel free to do so in bumblebee-custom-colours.css.

When modifying the pageheader.php and contentheader.php files, make use of the same variables that are used in them to include the Bumblebee generated menu (which is essential for using Bumblebee) as well as things like the page title and paths to the CSS files etc. The rendering of the menu may be customised by setting the various member variables of the $usermenu object (see inc/menu.php for further details on this).

At the bottom of the page, the file theme/pagefooter.php is included. It may in turn include other files, print a copyright notice etc as you desire. By way of example, theme/contentfooter.php is included in the default styling which prints a copyright notice and provides a courtesy link back to the Bumblebee website. It also prints some stats on the number of bookings and users on the system.

Initialisation Files

Bumblebee relies on several .ini files for its configuration. The main configuration file, bumblebee.ini controls the general behaviour of the program while db.ini controls connection to the database and files such as radius.ini and ldap.ini are used for authentication against an external sign-on services such as RADIUS or LDAP (external authentication must also be enabled in bumblebee.ini). The main options that you need to configure are described below.

Main configuration

The two most important sections of bumblebee.ini that you should customise are:
[main]
 ; appended to the title tag of every page generated.
 SiteTitle  = "Bumblebee instrument booking"
 ; used in the copyright footer on every page
 CopyrightOwner = "Bumblebee Instrument Booking System"
 ; used whenever a user is told to contact the system admin
 AdminEmail = "bumblebee@example.edu"
 ; the "From" address in Bumblebee-generated emails
 SystemEmail = "apache@example.edu"
 ; the path to the base of the Bumblebee installation when viewed over 
 ; your webserver (i.e. where is Bumblebee installed relative to your 
 ; webserver's DocumentRoot?)  This is used to find the theme for images, 
 ; css etc and to set the login cookie. If your installation is at 
 ; http://www.dept.example.edu/equipment/ then use the value of "/equipment" 
 ; here (this value must start with a slash, it should not have a trailing 
 ; slash and should not include http:// or the server name)
 BasePath   = "/bumblebee"
 ; the base url to prepend to all generated links, if your installation 
 ; is at http://www.dept.example.edu/equipment/ then you would specify 
 ; "/equipment/index.php" here.
 BaseURL    = "/bumblebee/index.php"
 ; not normally needed, but if you have a particularly complex theme that 
 ; wants to include other files, then you can configure it here
 BaseRealPath = "/var/www/html/bumblebee/"
 ; additional path to be added to the PHP include path to find FPDF, Auth::RADIUS
 ExtraIncludePath = "./system-inc/" 
[auth]
 ; This regular expression validates the username before any further authentication tests are done
 validUserRegexp = "/^[a-z0-9][a-z0-9@\-_.+]+$/i"
 ; ---- authentication methods ----
 ; Select the authorisation methods you want to use. 
 ; Multiple ones can be selected, magic password keys in the SQL table 'users' are used to 
 ; establish which users are to be authenticated by non-local methods. These keys should
 ; never be able to be generated by the LocalPassToken method (usually an md5 hash)
 ; 
 ; should local users be permitted, and what PHP function should be used to encrypt 
 ; locally stored passwords.
 useLocal = 1
 LocalPassToken = md5
 ;
 ; use a radius server if users are set up for that (see RadiusPassToken), config in radius.ini
 useRadius = 1
 RadiusPassToken = "--radius-auth-user"
 ;
 ; use an LDAP server if users are set up for that (see LDAPPassToken), config in ldap.ini
 useLDAP = 1
 LDAPPassToken = "--ldap-auth-user"

Database configuration

To connect to your MySQL database, you should edit the db.ini file to include appropriate defaults. If you used the install.php script, then the db.ini file should already match the MySQL settings.

[database]
 ; name of the machine running MySQL that we should connect to
 host = "localhost"
 ; username for MySQL connections
 username = "bumblebee"
 ; password for MySQL connections
 passwd = "BABSuser123"
 ; the database that will be used for storing all Bumblebee data
 database = "bumblebeedb"
 ; the prefix that will be added to all table names (allows you to share databases if you
 ; have limitations on the number of databases you are allowed by your hosting provider)
 tableprefix = ""

Last edited: Monday May 15, 2006

Valid XHTML 1.1 Valid CSS 2