When a more specific group exists please use that rather than the .general
group. For one thing you will miss a large fraction of your audience in the
.general
Posting and setting followups to the mail-news group so they'll see it.
-Dan Veditz
[EMAIL PROTECTED] wrote:
>
> Hi,
> My name is Martin Maher and I work for Sun Microsystems in Dublin,
> Ireland. I am part of group which is very interested in working with
> Mozilla to enchance Mozilla's address book in the corporate/enterprise
> arena.
>
> Primarily we want to ensure that the Mozilla address
> book can integrate with Star Portal and OpenOffice.
> We have a identified a number of requirements:
>
> o Ensure Mozilla can access multiple dynamic
> address book data sources.
> o LDAP access is an address data source.
> o OpenOffice/Mozilla may access system address
> books; Outlook and Evolution (Gnome) data sources.
> o Mozilla may access address books of StarPortal
> users via LDAP protocol using iPlanet and
> OpenLDAP servers.
> o Server based queries for searching and
> auto-completion. Caching of queries should
> be possible.
>
> The existing address book infrastructure does not appear
> to be flexible enough to support the above. Thus we
> would like to change/enhance it. However, we do not
> have that much experience with the Mozilla code so any
> input in these matters would be great.
>
> We have designed a rough 'naive' interface which attempts
> to abstract address data sources (with query) but realise
> it has a long way to go to meet existing functionality.
>
> Looking forward to a good discussion of this subject...
>
> Regards,
> Martin
>
> /*
> * This a basic idl describing the mozilla interface to the
> * Evolution/Outlook/OpenOffice/StarOffice/Kitchen Sink
> *
> *
> * Contributors : Martin Maher, Paul Sandoz
> * Last modified : 04/12/00
> */
>
> #include "nsISupports.idl"
> #include "nsIEnumerator.idl"
>
> // Each Card is made up of a series of vcard entries
> // e.g. name -> Work Telephone
> // descriptor -> TEL;WORK;MSG
>
> interface nsICardProperty
> {
> attribute string name;
> attribute string descriptors;
> };
>
> // Don't foget the value e.g. (01) 123-4567
>
> interface nsICardValue : nsICardProperty
> {
> attribute string value;
> };
>
> interface nsICardValueSet
> {
> readonly attribute long CardID;
> attribute nsISimpleEnumerator cards; // contains vCardValue
> interfaces
> };
>
> interface nsICardResultSet
> {
> readonly attribute long AddrBookID;
> attribute nsISimpleEnumerator cardResults; // contains
> vCardResultSet interafaces
> };
>
> interface nsIAddrBookQueryable
> {
> // properties contains vCarProperty interfaces
> // valuesScope contains vCardValue interfaces
> // resultSet contains vCardResultSet or AddrBookResultSet
>
> boolean nsIQueryAddrBook( in nsISimpleEnumerator
> properties,
> in nsISimpleEnumerator valuesScope,
> in long MaxCardsFound,
> out nsISimpleEnumerator resultSet);
> };
>
> interface nsICard
> {
> readonly attribute long CardID;
>
> boolean AddProperty(in nsICardValue value);
>
> boolean RemoveProperty(in nsICardProperty property);
>
> void GetProperty (in nsICardProperty property, out nsICardValue
> value);
> void GetProperties ( in nsISimpleEnumerator properties,
> out nsISimpleEnumerator values);
> nsISimpleEnumerator GetPropertyEnumeration ();
> };
>
> interface nsIAddrBook : nsIAddrBookQueryable
> {
> readonly attribute long AddrBookID;
>
> void GetCard (in long CardID, out nsICard card);
>
> boolean DeleteCard (in nsICard card);
> boolean AddCard (in nsICard newcard);
>
> nsISimpleEnumerator GetCardEnumeration ();
> };
>
> interface nsIAddrDataSource : nsIAddrBookQueryable
> {
> void GetAddrBook (in long AddrBookID, out nsIAddrBook abook);
>
> boolean DeleteAddrBook (in nsIAddrBook abook);
> boolean CreateAddrBook (in string addrBookName, out nsIAddrBook
> newbook);
>
> nsISimpleEnumerator GetAddrBookEnumeration ();
> };
>
> interface nsIAddrBookListener
> {
> // Return a reference to the address book that was changed and the vcard
> id where
> // the changes were made.
>
> void OnAddrBookChanged( in nsIAddrBook AddrBookChanged,
> in nsICard ModifiedCard);
>
> };
>
> interface nsIAddrBookListenable
> {
> void AddListener(in nsIAddrBookListener aListener);
> void RemoveListener(in nsIAddrBookListener aListener);
> };
>
> interface nsIAddrDataSourceDriver : nsIAddrBookListenable
> {
> string getURI ();
> nsIAddrDataSource ConnectAddrBook(in string username, in string
> passwd);
> };
>
> interface nsQueryManager
> {
> boolean CreateQuery( in nsISimpleEnumerator ListofAddrBooks,
> out nsISimpleEnumerator ResultSetList);
> };
>
> interface nsIAddrBookManager
> {
> boolean OpenAddrBook(out nsIAddrDataSourceDriver NewAddrBook);
> boolean CloseAddrBook(in nsIAddrDataSourceDriver CloseAddrBook);
> };
>
> Sent via Deja.com
> http://www.deja.com/