[Date Prev][Date Next] [Chronological] [Thread] [Top]

RE: "Replacing" an attribute's value with "nothing"



>I think what can many times be forgotten is, there is a big difference
>between what a standards body determines to be the right way of doings
>thing, and what is truly practical from an implementation standpoint for
>mere mortals like myself who are trying to get some simple functionality out
>of a system which, lightweight or not, is still pretty darn complex.

There are alot of "mere mortals" trying to use powerful tools which they 
do not properly understand.

>For example, why can't I assign a value of null to an attribute? You can
>vary the behavior of attributes in other ways (multivalue, case insensitive
>string, etc.) but not "can be null"? It's not as if this is an unusual
>concept in databases. 

One might argue LDAP (OpenLDAP) isn't a database,  certainly not a 
relational one.  If you trying to use a *directory* like you'd use a 
database you simply have selected the wrong tool.  NULLs don't make sense 
(to me anyway) for the problem domains LDAP was 'designed' to solve.

>But for LDAP, this is not allowed? Instead, I now need
>to write quite a bit of extra code and perform several different operations,
>put additional load on the server, and add unnecessary complexity to my
>application.

Maybe rethinking the fundamentals of the application a bit might help 
solve this problem. 

A very strict data model is what makes LDAP so handy for integrating 
disparate services (mail routing, authentication, certificate chains, 
etc..)  A null certificate, mail servers, username just doesn't make any 
sense?  How would sendmail deal with a user that had a mailhost attribute 
that wasn't?  You have one or you don't,  that makes simple application 
logic.  Verses A.) You don't have one, B1.) You have one but it isn't B2.) 
you have one but it is.

>Are the people who determined that you can't have a null attribute value the
>same ones who decided that "favouriteDrink" (UK spelling and all) is a
>necessary attribute in the cosine schema?

?  So don't use the favouriteDrink (UK spelling) attribute.  Someone at 
the lumber company don't the street doesn't use any of the schema we've 
defined, and I don't use any of theirs.

>I greatly appreciate all the hard work that has gone into the OpenLDAP
>project. But I sometimes wish that LDAP itself was a little narrower in
>scope, 

Seems you want to make it broader in scope (adding nulls)

>a little less complex, 

OpenLDAP compared to Informix Online or even Postgres is hysterically 
simple.  Databases (real ones) have Constraints, foriegn keys, primary 
keys, sequences, blobs, stored procedures, statistics, etc....

>and a little more understanding. 

A tight (and sometimes frustrating) data model is what makes LDAP so 
useful in the first place.

>Is it only
>me, or do all these standards bodies way overcomplicate the problems they
>are trying to solve?

Oh, yes.  But I think SOAP and XML is a much better example than LDAP.

-- 
-----------------------------------------------------------
Ximian GNOME, Evolution, LTSP, and RedHat Linux + LVM & XFS
-----------------------------------------------------------