This page explains how to make the room booking module work in a developer's environment. It assumes that you already have Indico installed, configured and properly running.
- Let's check if it already works (maybe you are working in a machine where everything is already configured).
Login into Indico. Your user must have server admin rights (he will have them if it was the first user created in your Indico). Click on 'Server Admin', then on the 'Rooms' tab. Select the 'Room Booking'->'Main' subtab if it's not already selected. Click on the link 'Click to ACTIVATE Room Booking Module' in case it's not already activated.
If the link becomes green... then everything works. Otherwise, you have to do things.
- In the 'Server Admin' > Rooms > Room Booking > Main subtab, there should be a section called "Built-in ZODB Plugin".
Now you should decide if you want to store the room information in the same database as the rest of the data, or in a separate DB (like it happens in production). Probably it's more convenient to store the information in a separate DB so that you can make tests independently with them, and that's how all of us work (so it's better tested and thus recommended).
- If you want to store the data in the same DB as the rest of Indico's data, just put your hostname (e.g. pcituds07.cern.ch) and the ZODB port (normally it's 9675). The user / password do not (should not) matter, unless you have setup your ZODB to need a user / password (which you probably have not). Then click 'Save' and then activate the Room Booking Module.
- If you want to store the data in a separate DB, put your host name (e.g. pcituds07.cern.ch) and a free port (for example 9676). The user / password do not (should not) matter, unless you have setup your ZODB to need a user / password (which you probably have not). Then press 'Save'.
Before activating the module, we need of course to create a new DB. For this, create a new directory (you can name it 'roomBooking', for example). Inside it, setup a ZODB, like this:
- create a zeo.config file (see Configuring, launching and testing ZODB. Choose the same port as you chose before, for example 9676).
- create the correspondig 'data' and 'log' directories.
- if you are using python2.5, remember that you may need to execute a small script to create an empty database properly: Script to create an empty ZODB
- run the databse with the typical
python runzeo.py -C zeo.config
command.
- finally, go to the Indico interface and activate the Room Booking module.
NOTE: if you change the room booking database, be sure to restart Apache (even if you deactivated / activated the module) or weird things can happen (rooms created in the database you had before, for example).
- Create some rooms for testing.
- For this, go to Server Admin > Rooms > Room Booking > Configuration subtab. Click on 'Universe' and add some rooms inside the Universe location. You can try and add more locations if you want. Rooms belong to a location.
