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.
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.
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.
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"
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 = ""