directory-api mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Emmanuel LŽcharny <>
Subject Re: [DN] Existing API review
Date Thu, 14 Jan 2010 22:10:03 GMT
Matthew Swift a écrit :
>>> and Entry should have at least an immutable DN (and facilities to 
>>> copy an entry with a new DN or ParentDN at factory level).
>> If the DN is immutable, entry's DN will be too.
> I think Francois is stating that Entry should have a DN getter but no 
> setter. In other words the DN is set during construction and cannot be 
> changed afterwards. I personally think that this restriction is a bit 
> artificial. 
You mean it will be a real PITA ;) Every ModDN operation applied to 
entries will force us to duplicate the full entry. No way !
> A similar artificial constraint could be imposed on the objectClass 
> attribute (i.e. don't allow the structural object class to be 
> changed). Whilst technically correct at the LDAP protocol level, I 
> don't think that these constraints should be imposed at the API level. 
> For example, imagine a GUI for creating a new user entry. The DN is 
> going to be constructed from (usually) the cn or uid attribute. The 
> user will want to type in the cn/uid in an entry box, but then may 
> realize that they made a typo and need to correct the cn/uid. We don't 
> want to prevent them from doing this?
No, certainly not ! Seriously, it would be too rigid, even on the client 
>>> For attribute, the rationnal is that one replace attribute by a new 
>>> one most of the time, and it's much easier to deal with immutable 
>>> attribute - that's one of the aspect of UnboundId SDK that I prefer.
>> Inside the server, having immutable Attribute is not really a 
>> problem. From the client POV, I'm not convinced...
> I totally agree. Client apps are very different to the server. 
> Interestingly most of the pain we had with the immutable Attribute API 
> in the server was in client apps such as LDIF tools and unit tests 
> (most unit tests are like mini client apps).
Totally on the same page.

View raw message