Addresses for GNUstep ===================== (c) 2003 by Björn Giesler --------------------------------------------- This package constitutes a personal address manager for the GNUstep software system. It allows archiving complete personal contact information, organizing contacts in groups, integration with other software such as mail clients and sharing address information with other users over the network. TABLE OF CONTENTS ================= Technical Information Note on Incompleteness Extending via Plugins License TECHNICAL INFORMATION ===================== Addresses is organized in components. There is o a database API backend framework called Addresses.framework. This backend provides complete access to address information for applications. It is source-code compatible with Apple Corporation's AddressBook.framework. o a display/edit framework called AddressView.framework. This library provides specialized view classes to applications which want to display addresses to the user in a graphical form. There are two main classes: o ADPersonView, to display and edit complete information about a person in a visually appealing style. This view is intended for specialized Address Manager applications. o ADSinglePropertyView, to display person names together with values for a single other property (such as email address). This view is intended for applications such as Email clients, in which the user should select one or more contacts to perform some operation on them. o a dedicated Address Manager application, which uses both of these frameworks and acts as an easy-to-use and visually appealing database frontend. o a number of command-line helper tools, such as converters from/to specific address formats, an address book network server, etc. NOTE ON INCOMPLETENESS ====================== This software package is still in the early stages of development. Expect changes in database format, functionality, and just about anything else. There is no warranty, express or implied, that this package is good for any particular purpose, or if it is, will remain so in the future. Expect breakage. That said, if you find anything buggy or not to your liking, please send me mail at bjoern@giesler.de. Another thing, not to be taken personally: This software is clearly inspired by the Apple Address Book. If it's not NeXTish enough for you, please feel free to submit changes in the form of .gorm files or whatever. I am quite happy with the UI as it is, and quite unwilling to listen to any more complaints about what should be a panel and what shouldn't and what has to be grouped in a window and what shouldn't. None of us works for NeXT anymore, so none of us knows what THEY would have done. As I said, if you submit patches that make the look configurable, I'll be happy to integrate them. EXTENDING VIA PLUGINS ===================== To keep the library and application as open as possible, it is extensible via plugins. These are loaded from the usual places: $(GNUSTEP_ROOT)/System/Library/Addresses $(GNUSTEP_ROOT)/Local/Library/Addresses $(HOME)/GNUstep/Library/Addresses There are currently two kinds of plugins, and they usually appear in pairs of two: plugins that provide new address book classes, and plugins that contain GUIs to configure them. One reason to write such plugins is that you might have a corporation-wide address book that you want to browse or synchronize with. Please look into Frameworks/Addresses/ADPlugin.h and AddressManager/Plugin.h, as well as the goodies/LDAPAddressBook directory, for documentation and examples on how to write such plugins. LICENSE ======= This software package is distributed under the terms of the GNU Lesser General Public License (LGPL); please see the file COPYING.LIB for details. There is one important license issue to note: In the case of the work at hand, a bundle containing class extensions to Addresses.framework or AddressView.framework is to be considered a "work that uses the library", not a "work based on the library" in terms of the LGPL. In layman's terms: If you write a bundle containing a subclass of ADAddressBook (eg a MS Exchange connector), this bundle does not have to be released as source code.