The Insidious Big Brother DataBase @ SourceForge

# The Insidious Big Brother Database

Quicklinks: get the bbdb | mailing lists | links | manual | FAQ | project home | freshmeat entry

## What is The Insidious Big Brother Database?

The Insidious Big Brother Database (BBDB) is a contact management utility created by Jamie Zawinski for use with Emacs. For many years it was maintained by Waider. Since February 2007 BBDB is maintained by Robert Widhopf-Fenk.

It is tightly integrated with several mail and news readers (see below), allowing it to create database entries directly from mail and news messages. As is usual with applications for Emacs, this record creation can be configured in many ways, ranging from a boolean create/don't create setting to creation based on the result of a user-supplied function.

Database records can be used to store many types of information, from name and address to URLs and X-Face images. This information can be displayed when a message from an entity named in a database record is recieved. In addition, messages from database members can be tagged in the Gnus Summary Buffer, and Gnus scoring can be configured based on the contents of database records. Supercite citations can even be preset through the use of records in the BBDB.

## Requirements:

### Supported versions of Emacs

Starting with 2.35 there is no active support for Emacsens < 21.4!

Gnu Emacs
  versions 21.4 and above
XEmacs
  versions 21.4 and above

### Supported Mail and News readers

The BBDB can be used without a mail- or news-reader. It has, however, been optimized for use with one.

- Gnus
- VM
- MH-e
- Rmail
- UNIX Netscape Mail (via bbdb-srv)
- UNIX Netscape News (via bbdb-srv)

## Getting the BBDB

BBDB 2.35 is the current stable released version, released on January 30, 2007.

The current version, 2.36, is tagged on the git repository git://github.com/barak/BBDB.git which also holds the development version. At least, those doing development there think so.

### Compilation notes:

1. BBDB uses autoconf to generate its Makefiles, so it should work anywhere that autoconf works. The tarballed version comes with prebuilt configure script and Makefiles; the CVS version will require you to use autoconf to generate the configure script. If you don't have autoconf, you can get download a prebuilt configure script. Please note that the Makefiles in the tarball are built using the defaults, i.e. Emacs to compile with and no extra directories specified.
2. Texinfo 3.11 (or later) is required to compile the texinfo documentation. It is available at the GNU FTP site. Precompiled info files are included in the tarball. Some work has been done by ShengHuo ZHU to make this unnecessary.
3. Building on platforms without `make` or running BBDB uncompiled can be assisted by downloading a prebuilt bbdb-autoloads.el. A `make.bat` for Windows platforms is in the works; see the mailing list archives for more details.

## CVS tree

The development and release versions are available via Anon-CVS to the CVS tree at `bbdb.cvs.sourceforge.net`. To access the tree, log in with the following command:

    cvs -d :pserver:anonymous@bbdb.cvs.sourceforge.net:/cvsroot/bbdb login

The password is blank; just hit return at the prompt. To check out a version of the BBDB, use one of the following commands:

    cvs -d :pserver:anonymous@bbdb.cvs.sourceforge.net:/cvsroot/bbdb checkout bbdb
    cvs -d :pserver:anonymous@bbdb.cvs.sourceforge.net:/cvsroot/bbdb checkout -r rev bbdb

The first command will check out a copy of the latest version. Usually this latest version will be a development version, but it may fetch a release version if the command is executed soon enough after a release version is made available.

The second command allows control of the version retrieved, through the `-r rev` argument. The `rev` portion of the argument should be replaced with a word of the form:

`BBDB_`x`_`yy

x and yy are components of the version to be retrieved, as in x.yy. Note: `unoff` should be appended to the above word for all versions prior to 2.00.

To retrieve version 1.90, use the following argument:

    -r BBDB_1_90unoff

To retrieve version 2.34, use the following argument:

    -r BBDB_2_34

## Manual

You may browse HTML version of the texinfo manual that accompanies BBDB, which is generated by `texi2html`.

## Mailing Lists

There are two mailing lists for the BBDB:

bbdb-info
  General discussion about the BBDB, both for users and developers. The archive for mails up to end of April 2000 can be found at http://www.mail-archive.com/bbdb-info%40xemacs.org/. Since April 2000 mails are archived at http://www.mail-archive.com/bbdb-info%40lists.sourceforge.net/.

  SourceForge has built-in archiving which didn't initially seem to be working, but is apparently okay now. You can find this linked off the project home on SourceForge.

bbdb-announce
  Announcements of new BBDB versions. This list is moderated, and has very low volume.

To subscribe to either mailing list, send mail to listname`-request@lists.sourceforge.net` with `subscribe` as the body. You will receive a reply requesting confirmation of your subscription; return the confirmation as described in the email, and you're on the list. Alternatively you can visit the list signup page, linked from the project page.

## Links

Several people have been hacking at BBDB and have pages describing what they're at. Please check which version of BBDB they apply to before attempting to use them!

- Alex Schroeder has done some work on address formats and pine/mailrc integration. He's also responsible for making BBDB handle non-US addresses a lot better.
- Jochen Küpper has done some work on `bbdb-print`, which is now in CVS.
- Thomas DeWeese wrote a PilotManager plugin called SyncBBDB, and also implemented the multiple-same-name-records support. SyncBBDB is now maintained by Aaron Kaplan.
- Noah Friedman is currently maintaining jwz's bbdb-pilot.el.
- Martin Schwenke has written some code to export BBDB records to a Nokia phone via gnokii. You can find it at Martin's web site.
- Broken: Aldo Valente has done some work on making SyncAB (from PilotManager) work with BBDB.
- Broken:Chris Beggy has managed to get BBDB working with Mew, a mailreader with Japanese language support. There's a bbdb-mew.el on his page which should probably make it into the official tree at some point.
- Broken:Nix has some expiry code for BBDB which allows you to automatically discard old BBDB records.
- lbdb2bdb is some code by Steffen Liebergeld to migrate lbdb data to bbdb.
- bbdb2tbird is some code by Neil Van Dyke to migrate BBDB data to the Thunderbird address book.
- The `bits` subdirectory in the source tree contains random bits and pieces that I've collected but not integrated, including a generic export filter of sorts and PGP and Outlook integration/interaction. Please note that at least some of this hasn't been modfied to work with versions later than 2.00.06.

Hosted by