The Configuration DB Wiki

The Configuration DB is considered to be the actual database plus the web service that gives access to the database. The database is hidden from end users by the web service, which presents a number of WSDL interfaces, see below. A Python API has been provided to access the web service. It is expected that most users will access the Configuration DB via the Python API.

There are two separate copies of the database running in separate buildings. These are configured to be master and slave, with updates to the master being automatically pushed to the slave. Both of these machines provide WSDL interfaces that are only accessible to the control room services. During normal operation the control room services will use the master which is situated in the control room. In the event of the failure of the master, the slave will be promoted to master and the control room services will be pointed at the new master.

For access to the data by other users a third web service is provided on a publicly accessible machine This web service provides read only access to the data via the slave. This isolates the master and control room services from any user activity.

Machine Location Database Web Service
CDB Master control room master control room access only
CDB Slave PPD slave control room access only PPD N/A read only access

Components of the Configuration DB

  • Alarm Handler
  • Beamline
  • Cabling
  • Calibration
  • Control (PIDCtrl)
  • Cooling Channel
  • Geometry
  • State Machine
  • Target

For descriptions of these components see the Python API

Configuration DB Installation

Public Interface (






CDB Viewer

This is a web GUI for viewing data from the CDB



launchpad project page

[[computing-software:WAR files|WAR files]]


To check out the code use:

bzr branch lp:mcdb/mice.cdb.server

To build the war use:

ant war

To generate the wsdl use:

ant wsdl

Python Client (There is a later version here

To check out the code use:

bzr branch lp:mcdb

To use you will need python-suds installed. Install as root: yum install python-suds

Java Client

To check out the code use:

bzr branch lp:mcdb/mice.cdb.client.api-java

This has build time dependencies on mice.cdb.server. Edit to point to the lib and wsdl directories in mice.cdb.server.

To generate the wsdl use:

ant wsimport

To build the distribution including the javadoc and jar file use:

ant dist

CDB Viewer

To check out the code use:

bzr branch lp:mcdb/mice.cdb.gwt

To build the war use:

ant war

Other Bits and Bobs - need updating


Table Definitions

Failover procedure

Run Meta-data Flags


CDB Editor Scripts



Updated by Brew, Chris over 3 years ago ยท 64 revisions