>>      Preferences and URI definition
>>              Need schemes/uris for different address data sources
>>              and more saved preferences associated with each
>>              source. 
>>              
>>                      abdirectory:mozilla://abook.mab
>>                      abdirectory:ldap://user@host:port/blah
>>                      abdirectory:ldap-web-top://user@host:port/blah
>>                      abdirectory:evolution://foo/bar
>>                      
>>              likewise for a card. Each scheme type can define the
>>              way to represent a card.
>>              Therefore can register components with abdirectory
>>              schemes?
>
>I think I must be missing something obvious: why is the abdirectory:
>prefix necessary?
>

        Hmm... i think it needs to be unique so that different
        address RDF data sources and resources can be connected
        to specific data source functionality.
        
        It is 'abdirectory:ldap:' and not 'ldap:' because ldap is being
        used in a specific way to:
        
                obtain address data and serve it up as RDF that
                conforms to what it means to be address data which
                is independent of data source.
        
                perform operations like delete address book,
                add card etc...
                
        The 'abdirectory:ldap:' source impl chould chop of the
        'abdirectory:' and get use this uri to get access to the
        ldap server to obtain the data and map it?
        (is this similar to how monikers work?)
        

        
>>      Auto-Completion
>>              Need to represent different auto completion impls
>>              with different data source schemes. Currently impl
>>              is OK for local address books but need to use a
>>              server based query mechanism for other data sources.
>>              Should auto-completion work across data source
>>              domains? if so need an auto complete aggregator
>>              perhaps?
>
>Having it work across multiple data sources would be a fine thing.
>Presumably RDF data sources could be used for this, and
>nsIRDFCompositeDataSource could be used to aggregate them.  However,
>for this to work, all the data sources would probably need the same
>schema (or at least some subset of the schemas would have to be common).
>

        Yes, could use the one already defined by the exisiting
        'abdirectory:' and 'abcard:' RDF data sources, as suggested
        previously.


        
>The LDAP RDF datasource that's in the tree is currently just
>scaffolding.  Peter van der Beken (thanks Peter!) has done a bunch of
>work to flesh it out and get it basically working, and I hope to get
>this in the tree very soon.  Then you'll be able to check out the
>existing schema.
>

        Ok.
        


>>      Query only data sources
>>              Some LDAP sources will contain thousands of entries
>>              thus only queries, with a limit on what is returned,
>>              makes sense.
>>              Users need to type in query to view returned list
>>              (similar to auto complete?), like in Netscape 4.x
>>              Need to cache result?
>
>In LDAPv3, at least, the Virtual List View extension is one way to get a 
>small window into a large query result set.  There's an IETF draft on
>this somewhere; I got my copy by pulling the OpenLDAP CVS tree and looking 
>in the docs subdirectory.  Caching might make sense, though I don't
>know if it's entirely necessary.  Ultimately, we probably want to be
>able to replicate entire directories (or at least subsets) for offline 
>use.  But that should probably come later.
>

        I agree offline can be done later on.
        
        

>>      Card syntax and semantics
>>              Perhaps it would be better to represent a card
>>              using the vCard syntax and semantics? This
>>              format seems to be more widely used esp. for
>>              transmision over the internet. Recently an
>>              LDAP draft has been updated:
>>              
>> http://www.ietf.org/internet-drafts/draft-royer-vcard-ldap-00.txt
>>
>>              which defines an LDAP schema for representing vCard.
>>              We plan to use this in the web top server for
>>              users' personal cards.
>>              Its also easy to map personal information from the
>>              inetOrgPerson scheme to vCard.
>>              
>> http://docs.iplanet.com/docs/manuals/directory/41/gwcust/dsgwparm.htm#1041350
>>              
>>              However this may require many changes to the
>>              existing impl and dependencies of, thus may not
>>              justify the effort.
>
>This seems reasonable enough on the surface, but not yet having a good 
>overview of the addressbook code, I can't guess how much work it might 
>or might not take.  As far as inetOrgPerson <-> vCard mapping, that's
>very cool.
>

        Just hacked a different data source by re-implementing
        some of the methods from the nsAbDirectory.cpp file, in
        the process i had a moderate peruse through most of the
        code. I really like the way mozilla uses RDF and the
        association with data source and resource via URIs!

        The existing card schema seems closely related to
        inetOrgPerson, with a couple of extentions like the
        attributes 'nickname' and 'usehtmlmail'. The RDF properties
        for a card in addrbook/src/nsCardDataSource.cpp and the
        attributes on the card interface addrbook/public/nsICard.idl
        are essentially identical. Thus a change in the schema
        affects alot of code, XUL and .js files. 
        Given these circumstances its probably better to have import/export
        to vCard and allow for the dragging of a card as a mail
        attachment which is sent as vCard and vice versa.
        

Reply via email to