Subject: Models: Aux class deletion

From: "Jim Sermersheim" <[email-masked]>
Date: Mon, 08 Mar 2004 15:56:45 -0700

All,
 
From reading the Models draft, we can't find how to handle this
scenario:
 
1) Aux2 subclasses Aux1
2) Aux2 and Aux1 are added to the objectClass attribute of an entry
3) Aux2 is allowed by the DIT content rule for the structural object
class of the entry, so the add (or modify) succeeds
4) Aux2 is removed from the entry's objecClass
 
Should Aux1 remain in the objectClass attribute when Aux2 is removed?
How do we know the user's intent? They likely added Aux1 while adding
Aux2 because of the inheritance.
 
Now, say in step 2, only Aux2 is added, and the DSA implicitly adds
Aux1. Again, should Aux1 remain or be removed when Aux2 is removed?
 
Puzzled,
 
Jim

---

From: "Kurt D. Zeilenga" <[email-masked]>
Date: Mon, 08 Mar 2004 15:32:42 -0800

At 02:56 PM 3/8/2004, Jim Sermersheim wrote:
>From reading the Models draft, we can't find how to handle this scenario:
> 
>1) Aux2 subclasses Aux1
>3) Aux2 is allowed by the DIT content rule for the structural object class of the entry, so the add (or modify) succeeds

As servers are required to ensure the result of the modification
still conforms to the schema and the schema doesn't allow
aux1 to allowed (except as a superclass of a allowed subclass),
the operation must fail.

>Should Aux1 remain in the objectClass attribute when Aux2 is removed?

Well, given both were explicitly added, I'd say that the requesting
only aux2 to be removed is an error.  It clearly leaves a
non-allowed auxiliary in place.

Now, if Aux1 was only implicitly added, one could argue that it
was implicitly deleted as well.  However, it seems that view
wasn't supported by consensus.  Hence, auxiliary classes must
be explicitly removed even when their addition was implicit.

Kurt