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 >
