You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by Emmanuel Lecharny <el...@apache.org> on 2009/09/04 19:07:45 UTC

About the LDIF partition and the Schema partition

Hi guys,

as I'm looking at the Schema partition, and the associated LDIF 
partition, I have a bit of a concern.

We have entries for each schema element, and we have directories. For 
instance, directories are marked with a '/' and ldif file have a .ldif 
extension :

The root element :
/schema
schema.ldif

The schemas :

/apache
apache.ldif
/apachemeta
apachemeta.ldif
...

and so on. So basically each entriy which has some children has two kind 
of file element rpesent on disk : the associated ldif as a text file and 
a directory.

This is all fine, except that it does not work well for all the kind of 
entries, if we are to allow a user to define its own LDIF partition. For 
instance, consider the case where we have two entries, having children, 
which DNs are :
cn=test,ou=system
and
sn=test,ou=system

How will we represent those elements on disk ?

/test
test.ldif  ?

It does not work, because we can't tell if test.ldif is associated with 
cn=test or with sn=test.

So we need to use the AT :
/cn=test
/sn=test
cn=test.ldif
sn=test.ldif

Now, can we do that on all the FS ? On linux, the answer is yes. What 
about Mac OS/X ? W$ ? Solaris ?

Thoughts ?

-- 
--
cordialement, regards,
Emmanuel Lécharny
www.iktek.com
directory.apache.org



Re: [?? Probable Spam] Re: About the LDIF partition and the Schema partition

Posted by Emmanuel Lecharny <el...@apache.org>.
Howard Chu wrote:
> Emmanuel Lecharny wrote:
>> It does not work, because we can't tell if test.ldif is associated with
>> cn=test or with sn=test.
>>
>> So we need to use the AT :
>> /cn=test
>> /sn=test
>> cn=test.ldif
>> sn=test.ldif
>>
>> Now, can we do that on all the FS ? On linux, the answer is yes. What
>> about Mac OS/X ? W$ ? Solaris ?
>
> OpenLDAP already does this. In Unix filesystems (that includes Linux, 
> MacOSX, and Solaris) the only reserved character is slash '/'. On 
> Windows the only special characters are colon ':' and dot '.'. There 
> should be only one dot and there cannot be any colon. Hex-escape these 
> characters if they appear in an RDN and you'll be fine.
Not enough... if the AT is case-sensitive, you will have to create 2 
entries, but then, on this loosy Widnows system, it won't work...

See my next mail too.


-- 
--
cordialement, regards,
Emmanuel Lécharny
www.iktek.com
directory.apache.org



Re: About the LDIF partition and the Schema partition

Posted by Howard Chu <hy...@symas.com>.
Emmanuel Lecharny wrote:
> It does not work, because we can't tell if test.ldif is associated with
> cn=test or with sn=test.
>
> So we need to use the AT :
> /cn=test
> /sn=test
> cn=test.ldif
> sn=test.ldif
>
> Now, can we do that on all the FS ? On linux, the answer is yes. What
> about Mac OS/X ? W$ ? Solaris ?

OpenLDAP already does this. In Unix filesystems (that includes Linux, MacOSX, 
and Solaris) the only reserved character is slash '/'. On Windows the only 
special characters are colon ':' and dot '.'. There should be only one dot and 
there cannot be any colon. Hex-escape these characters if they appear in an 
RDN and you'll be fine.

-- 
   -- Howard Chu
   CTO, Symas Corp.           http://www.symas.com
   Director, Highland Sun     http://highlandsun.com/hyc/
   Chief Architect, OpenLDAP  http://www.openldap.org/project/