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/

Reply via email to