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

Re: draft-ietf-ldapbis-protocol - controls



At 10:14 PM 3/31/2005, Mark Ennis wrote:
>Kurt D. Zeilenga wrote:
>>At 08:49 PM 3/31/2005, Jim Sermersheim wrote:
>>
>>>I believe the broad interpretation of "appropriate" leads to far
>>>more interoperability problems than the narrow view.
>>>I'm glad to see that you don't believe a control can be partially
>>>applied.
>>
>>This, I think, needs to be made crystal clear.
>A control which results in modification of multiple objects must not be partially applied,

You're using "applied" here differently that how I, and I think
Jim, used it.

My point was that that a server has to apply the semantics
of the request+control to the entire operation OR apply
the semantics of the request (less the control) to the
entire operation.  It cannot invent an operation that
applies applies semantics request and control not consistent
with these two options.

The semantics of a request+control that prescribe an operation
which modified multiple DIT objects could require that all or
none of these modifications are to be applied to the DIT,
or it could allow that some of the modifications apply and
others not.  That's up to the control specification.  That
is NOT what I was referring to here.

>but what about a control that modifies the behaviour of a query?

>A control requesting extra information from each entry in a search result, for example a control to reproduce the behaviour of the modifyRightsRequest in a DAP read operation, may be partially applied, without having any serious implications.

If the control specification says that the operation indicated
by the request+control allows the actions to be performed on
a subset of the objects, then a server is free to do that.

The key here is that server is applying the semantics of
request+control throughout operation.  It is the semantics
of the request+control which say whether or not certain
actions are to be performed.

>To what extent should the allowance to partially apply a control be regulated by the specification controlling the infrastructure, i.e. [protocols], versus the control specification?

The control specifications defines the semantics of the operation
requested by request+control.  The protocol specification states
how the client can request
        a) the operation indicated by request be performed,
        b) the operation indicated by request+control be performed,
        c) either operation be performed.
When the client requests c), the server then has the choice to:
        1) perform the operation indicated by the request
        2) perform the operation indicated by the request+control

>For example, a control specification for a tree delete control should include a discussion of considerations relating to application of the control in a distributed environment or across different contexts, regardless of what [protocols] may say.

Likely so.