OmniBiff


About
Download
Readme
License
Docs
Mailing List

README

OmniBiff
Copyright (C) 2000-2002 Jason Lowdermilk (lowdermilk@users.sourceforge.net)

OmniBiff is a Java framework for monitoring multiple email accounts
of any type, including web-based email accounts.

This is free software under the terms of the GNU General Public
License (GPL). It comes with no warranty or support, and redistribution
of this program must comply with the the GPL. See the "LICENSE" file
for details.

This product includes software developed by the Apache Software Foundation
(http://www.apache.org/).

Requirements
============

JDK 1.2 or higher

curl (compiled for https) is required in order to support Hotmail
    accounts. This is because Hotmail uses SSL, which OmniBiff does not
    not implement internally. Source code and pre-compiled binaries
    for most platforms can be found at http://curl.haxx.se

Jacol 0.32 or higher. See http://jacol.sourceforge.net/

GNU CLISP 2.27 or higher (required by Jacol). See http://clisp.sourceforge.net

Quick Start
===========

To configure OmniBiff:

run:
  omnibiff-setup

Browse to http://localhost:17000/ and follow the prompts.

Then, to run OmniBiff (with the native window):

   omnibiff

If you chose a properties file other than the default, use:

   omnibiff -p /path/to/file

Where "/path/to/file" is the full path to the properties file.

Overview
========

OmniBiff is designed to monitor multiple email accounts of any type for
new email. It has three modes in which it can be used: as a standalone
program, as a server for external clients, or as a proxy for other biff
programs. The "skin" used by omnibiff determines which mode it will
run in.

The standalone (native) mode will display email status using a skin
called LEDSkin, which uses a small Java AWT window.

The server mode uses HTTPSkin, which provides an HTTP-based network
interface for external clients to use. Clients included in this
distribution include a WindowMaker applet and a console tool which can
be used from scripts, etc. An interface library is also included for
writing new clients.

The proxy mode uses POP3Skin, which acts as a pseudo-POP3 server. Other
biff programs can interrogate this server, and omnibiff will return
status according to the "real" mailbox it is monitoring under the covers.


LEDSkin
=======

This skin shows each mailbox as a small LED; green indicates no new mail,
red indicates new mail, yellow means an exception has occured, and blue
means uninitialized/suspended.  The colors will dim a little while it
is actively checking for new email. When you wave the mouse over an LED,
the name of that mailbox will appear in the textfield.  Left-clicking on
an LED will suspend it, left-clicking again will resume it. (Useful
for temporarily suspending checking, e.g., while reading your email).
Right-clicking will invoke whatever action you have associated with that
mailbox. This will eventually be configurable via the wizard, but for
now must be done manually: add a line to the properties file for each
mailbox you want to assign an action to, like this:

LEDSkin.mailboxname=balsa

This would cause "balsa" to be executed whenever you right-click on the mailbox
named "mailboxname".


HTTPSkin
========

This skin provides a HTTP-based API that can be used by external clients.
A C-language interface library, libomnibiff, is included. This can be used
to write external clients in C. Two clients are available: wmOmniBiff, which
is a WindowMaker applet, and omnifetch, which produces output similar to
"fetchmail -c". See the corresponding man pages for more information.


POP3Skin
========

This may sound a little weird, but hear me out :-) POP3Skin implements
a rudimentary POP3 server which responds to the commands used used by
biff-checkers to check for the presence of new mail. This allows OmniBiff
to function as a proxy for virtually any other biff-checking program,
as long as they have the ability to check POP3 accounts.  An example is
gkrellm; it has a nice panel for monitoring email accounts. With POP3Skin,
you can "trick" gkrellm into using that panel to monitor your Hotmail
inbox, or any other server supported by OmniBiff.  See the PROXY-HOWTO
file for specific details.


Bifflets
========

OmniBiff manages "bifflets", which are Java classes that know how to
monitor a specific kind of email account.  Bifflets for monitoring new
kinds of email servers can be easily created and plugged-in without
requiring any code changes to OmniBiff. As of version 0.40, OmniBiff
uses a rules-based engine to query web-based accounts; this makes it
possible to create bifflets for new webmail servers without writing any
software at all.


Installation
============

See the INSTALL file for installation/configuration instructions. Also
take a look at the CHANGES file for a list of the things that have changed
in this release.  If you're interested in writing new bifflets or skins,
take a look at the CONTRIBUTING file.


Acknowledgements
================

OmniBiff includes the following open-source software components:
  
   NanoXML, "Copyrighted ©2000 Marc De Scheemaecker, All Rights Reserved".
   It is distributed under the zlib/libpng license. For more information,
   see http://nanoxml.sourceforge.net.

   Jacarta-Regexp, which is licensed under the Apache Software License,
   Version 1.1. I have included its license file as COPYING-jakarta
   See http://jakarta.apache.org/regexp/index.html for more information.

   Some Java classes from Surfboard (another project of mine) are
   included as well. Like OmniBiff, Surfboard is released under the GPL.
   See http://surfboard.sourceforge.net for more information.

   SecureProperties (a code snippet I posted to isavvix.com) is included.
   It is released under the LGPL license, as described in the
   COPYING-secprop file. See
   http://java.isavvix.com/codeexchange/codeexchange-viewdetail.jsp?id=95
   for more information. SecureProperties includes encryption code from
   "Legion of the Bouncy Castle" library (http://www.bouncycastle.org).
   Its license is included as COPYING-bouncycastle. 

Special thanks to the following people:

Frederick Roeber -- IMAP4 bifflet


Copyright (C) 2000,2001 Jason Lowdermilk