Agreed but I think we need to do this for each role.

On 17 déc. 2010, at 14:39, Emmanuel Lecharny wrote:

> Here is the description of a Search operation, and how it's handled by the 
> AdministrativePoint handler. The parts between >>>--- and ---<<< are pseudo 
> code.
> 
> The base idea is to check if an entry selected as a candidate is up to date 
> wrt the Administrative perspective. If we grab an entry from the backend, and 
> if there is an AP higher in the tree, then we will check the entry seqNumber :
> - if there is no seqNumber, then the entry need to be updated
> - if there is a seqNumber which is below then its parent's AP, then the entry 
> need to be updated
> - otherwise, the entry is already up to date
> 
> An entry might have a seqNumber with no reference to any subentry, that just 
> means the entry is not part of any subentry's subtree.
> 
> One other thing : we will have to deal with entries only when they have been 
> selected, so the entry filtering should be done during the candidate 
> evaluation. Here, we just update the entry adding the references to the 
> associated subentries (if any), and we will let the ACI search filter to 
> determinate if the entry is a valid candidate.
> 
> +--+
> |AP|
> +--+
> An AP is always searchable by anyone, if one can reach it (ie, no higher AP 
> limit the access to a parent entry)
> 
> There is nothing to do
> 
> +--------+
> |Subentry|
> +--------+
> Subentries are not returned to the user unless the Subentries control has 
> been sent with the request.
> A Subentry is always searchable by anyone, if one can reach it (ie, no higher 
> AP limit the access to a parent entry)
> 
> There is nothing to do
> 
> +-----+
> |Entry|
> +-----+
> 
> We have to check if the entry is up to date.
> 
> -------------------------------------------
> if entry has a parent AP
>  then take the entry seqNumber (entrySN) and the AP seqNumber (apSN)
> else
>  continue up the chain
> 
> if entry has a seqNumber
>  then
>    if the entrySN equals the apSN
>      then
>        continue up the chain
>      else
>        remove the entrySN
>        remove the entry references to Subentries
>        store the apSN in the entry
>        update the references to Subentries
>        store the entry
>        continue up the chain
>  else
>    add the apSeqNumber to the entry
>    update the references to Subentries
>    store the modified entry
>    continue up the chain
> -------------------------------------------
> 
> 
> -- 
> Regards,
> Cordialement,
> Emmanuel Lécharny
> www.iktek.com
> 

Reply via email to