1Addresses for GNUstep 2===================== 3 4(c) 2003 by Bj�rn Giesler <bjoern@giesler.de> 5--------------------------------------------- 6 7 8This package constitutes a personal address manager for the GNUstep 9software system. It allows archiving complete personal contact 10information, organizing contacts in groups, integration with other 11software such as mail clients and sharing address information with 12other users over the network. 13 14TABLE OF CONTENTS 15================= 16 17 Technical Information 18 Note on Incompleteness 19 Extending via Plugins 20 License 21 22 23TECHNICAL INFORMATION 24===================== 25 26Addresses is organized in components. There is 27 28 o a database API backend framework called Addresses.framework. 29 This backend provides complete access to address information for 30 applications. It is source-code compatible with Apple 31 Corporation's AddressBook.framework. 32 33 o a display/edit framework called AddressView.framework. 34 This library provides specialized view classes to applications 35 which want to display addresses to the user in a graphical 36 form. There are two main classes: 37 38 o ADPersonView, to display and edit complete information about 39 a person in a visually appealing style. This view is 40 intended for specialized Address Manager applications. 41 42 o ADSinglePropertyView, to display person names together with 43 values for a single other property (such as email 44 address). This view is intended for applications such as 45 Email clients, in which the user should select one or more 46 contacts to perform some operation on them. 47 48 o a dedicated Address Manager application, which uses both of 49 these frameworks and acts as an easy-to-use and visually 50 appealing database frontend. 51 52 o a number of command-line helper tools, such as converters 53 from/to specific address formats, an address book network 54 server, etc. 55 56NOTE ON INCOMPLETENESS 57====================== 58 59This software package is still in the early stages of 60development. Expect changes in database format, functionality, and 61just about anything else. There is no warranty, express or implied, 62that this package is good for any particular purpose, or if it is, 63will remain so in the future. Expect breakage. 64 65That said, if you find anything buggy or not to your liking, please 66send me mail at bjoern@giesler.de. 67 68Another thing, not to be taken personally: This software is clearly 69inspired by the Apple Address Book. If it's not NeXTish enough for 70you, please feel free to submit changes in the form of .gorm files or 71whatever. I am quite happy with the UI as it is, and quite unwilling 72to listen to any more complaints about what should be a panel and what 73shouldn't and what has to be grouped in a window and what 74shouldn't. None of us works for NeXT anymore, so none of us knows what 75THEY would have done. As I said, if you submit patches that make the 76look configurable, I'll be happy to integrate them. 77 78 79EXTENDING VIA PLUGINS 80===================== 81 82To keep the library and application as open as possible, it is extensible via 83plugins. These are loaded from the usual places: 84 85 $(GNUSTEP_SYSTEM_LIBRARY)/Addresses 86 $(GNUSTEP_NETWORK_LIBRARY)/Addresses 87 $(GNUSTEP_LOCAL_LIBRARY)/Addresses 88 $(GNUSTEP_USER_LIBRARY)/Addresses 89 90There are currently two kinds of plugins, and they usually appear in pairs of 91two: plugins that provide new address book classes, and plugins that contain 92GUIs to configure them. 93 94One reason to write such plugins is that you might have a corporation-wide 95address book that you want to browse or synchronize with. 96 97Please look into Frameworks/Addresses/ADPlugin.h and AddressManager/Plugin.h, 98as well as the goodies/LDAPAddressBook directory, for documentation and 99examples on how to write such plugins. 100 101 102LICENSE 103======= 104 105This software package is distributed under the terms of the GNU Lesser 106General Public License (LGPL); please see the file COPYING.LIB for 107details. 108 109There is one important license issue to note: In the case of the work 110at hand, a bundle containing class extensions to Addresses.framework 111or AddressView.framework is to be considered a "work that uses the 112library", not a "work based on the library" in terms of the LGPL. In 113layman's terms: If you write a bundle containing a subclass of 114ADAddressBook (eg a MS Exchange connector), this bundle does not have 115to be released as source code. 116