The Insidious Big Brother Database
Fri Aug 10 2012: After years of stagnation BBDB is
again finding a lot of developer love. Roland Winkler has stepped up to the
task of taking BBDB forward with a pretty extensive rewrite, already known
to the world as BBDBv3 - which is usable, but alpha quality, code today (but
no official release yet). Development is no longer hosted on Sourceforge, so
head over to the Official Project Page on
Savannah to learn all
about the exciting bleeding edge of BBDB, and grab a copy to try it for
yourself.
While v3 is a massive rewrite, most concepts of the user
interface have been preserved (plus many new concepts have been added to
make BBDB yet more powerful) and v3 will transparently convert a BBDB
database from v2 into a slightly modified database file format on
startup. However, beyond that v3 is not backwards compatible with v2. The
list of things that you should be aware of include, but are not limited to:
- Names of many commands and variables have been changed. This means
many of your customizations may not work.
- A database from BBDBv3 cannot be used with BBDBv2 - there is no way
to roll back your BBDB file format changes.
- Xemacs is not supported.
Therefore, the rest of this page will be kept around "in state" at least
till these issues are addressed to some extent.
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.
BBDB 2.35 is the current
stable released version, released on January 30, 2007.
The current development version, 2.36, is the head of the CVS
tree. If you wish to try it out, you should check it out with CVS as
described below.
Compilation notes:
- 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.
- 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.
- 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
You may browse HTML version of the texinfo
manual that accompanies BBDB, which is generated by texi2html
.
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.
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.
- Aldo Valente has
done some work on making SyncAB (from PilotManager) work with
BBDB.
- 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.
- 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.
- 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.
Robert Widhopf-Fenk (based on
Waiders and Matt Simmons' BBDB page)
Hosted by