directory-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From elecha...@apache.org
Subject svn commit: r1242189 - in /directory/documentation/ldap-api-manuals/trunk/src/ldap-api-user-guide-confluence: book.txt chapter-4/4-8-managing-binary-attributes.confluence
Date Thu, 09 Feb 2012 00:13:49 GMT
Author: elecharny
Date: Thu Feb  9 00:13:49 2012
New Revision: 1242189

URL: http://svn.apache.org/viewvc?rev=1242189&view=rev
Log:
Added a page to explain how we handle binary attributes

Added:
    directory/documentation/ldap-api-manuals/trunk/src/ldap-api-user-guide-confluence/chapter-4/4-8-managing-binary-attributes.confluence
Modified:
    directory/documentation/ldap-api-manuals/trunk/src/ldap-api-user-guide-confluence/book.txt

Modified: directory/documentation/ldap-api-manuals/trunk/src/ldap-api-user-guide-confluence/book.txt
URL: http://svn.apache.org/viewvc/directory/documentation/ldap-api-manuals/trunk/src/ldap-api-user-guide-confluence/book.txt?rev=1242189&r1=1242188&r2=1242189&view=diff
==============================================================================
--- directory/documentation/ldap-api-manuals/trunk/src/ldap-api-user-guide-confluence/book.txt
(original)
+++ directory/documentation/ldap-api-manuals/trunk/src/ldap-api-user-guide-confluence/book.txt
Thu Feb  9 00:13:49 2012
@@ -23,6 +23,7 @@ chapter-4/4-4-aliases.confluence
 chapter-4/4-5-ldif-and-dsml.confluence
 chapter-4/4-6-abandoning-and-operation.confluence
 chapter-4/4-7-server-information.confluence
+chapter-4/4-8-managing-binary-attributes.confluence
 5-0-schema-management.confluence
 chapter-5/5-1-schemamanager.confluence
 chapter-5/5-2-attribute-types.confluence

Added: directory/documentation/ldap-api-manuals/trunk/src/ldap-api-user-guide-confluence/chapter-4/4-8-managing-binary-attributes.confluence
URL: http://svn.apache.org/viewvc/directory/documentation/ldap-api-manuals/trunk/src/ldap-api-user-guide-confluence/chapter-4/4-8-managing-binary-attributes.confluence?rev=1242189&view=auto
==============================================================================
--- directory/documentation/ldap-api-manuals/trunk/src/ldap-api-user-guide-confluence/chapter-4/4-8-managing-binary-attributes.confluence
(added)
+++ directory/documentation/ldap-api-manuals/trunk/src/ldap-api-user-guide-confluence/chapter-4/4-8-managing-binary-attributes.confluence
Thu Feb  9 00:13:49 2012
@@ -0,0 +1,23 @@
+h2. Managing Binary Attributes
+
+One of the tricky aspect when exchanging data with a LDAP server is that the client usually
has no clue about the value type it gets back. For instance, we know that a *JpegPhoto* attribute
has a binary value, but the API does not.
+
+The *LDAP API* provides some mechanisms to handle correctly the binary attributes and their
values.
+
+First of all, it has to be understood that the value type is defined by it's *AttributeType*
container, which itself depends on a *LdapSyntax*. That is, an AttributeType with an OctetString
syntax will always contain binary values.
+
+Sadly, on the client side, we don't have any information about the *AttributeTypes* nor the
*LdapSyntaxes* : We only manage attribute's ID. We have to add a mechanism in the API to load
those *AttributeTypes* and *LdapSyntaxes*, or at least add a map associating an Attribute
ID with a type (binary or not). We have designed the *LDAP API* to offer three ways to get
those informations loaded.
+
+h3. Loading the schema information from the server
+
+Ldap Servers may expose the schema they are using, and it may be possible to get all the
values from it by pulling a subentry containing all of them (cf RFC 4512). Of course, as it's
not mandatory, we will have some differences between servers. For instance :
+- *OpenLDAP* stores one unique schema for all the DIT, and it's available in a place specified
in the rootDSE *subschemasubentry* attribute.
+- *ApacheDS* stores one unique schema for all the DIT, and it's available in a place specified
in the rootDSE *subschemasubentry* attribute too (so it's equivalent to what *OpenLDAP* does)
+- *Microsoft AD* stores the position of the schema in the rootDSE *schemaNamingContext* attribute.
+- *SunDS*, *OpenDS* and *OpenDJ* aren't exposing the *LdapSyntaxes*
+etc...
+
+We don't currently support all those configurations. We only load the schema from the server
which expose it with all the data needed to know if an AttributeType is binary or not. Namely,
we support full schema from *ApacheDS* and *OpenLDAP* as of today.
+
+How does it work ? Well, it can't be simpler : as soon as you connect to a server using a
LdapNetwork, 
+// TO BE CONTINUED



Mime
View raw message