On 12/17/10 4:30 PM, Pierre-Arnaud Marcelot wrote:
Hi Emmanuel,

Comments inline below...

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

Here is the description of an Add operation, and how it's handled by the AdministrativePoint 
handler. The parts between>>>--- and ---<<<  are pseudo code.

+--+
|AP|
+--+

We have to deal with three cases :
- the AP has a parent AP (IAP or SAP, it's irrelevant) and no subordinate IAP
- the AP has a parent AP but some subordinate IAPs
  in this second case, we have to change the IAPs seqNumber to reflect the 
change in entries relationship, recusively.
- the AP has no parent AP

The second case is the most complex.

-------------------------------------------
for each AP role
  get a new seqNumber, add it to the AP(role)
  update the AP(role) cache

  if hasParentAP( AP(role) )
    then
      if hasSubordonateIAP( AP(role) )
        then
          for each subordinate IAP(role) (and their own subordinates)
            modify the subordinate IAP(role) seqNumber with the new seqNumber
            store the IAP(role)
          done
done

continue down the chain
-------------------------------------------<<<
I disagree. In any case, you won't have any entry under the SAP.
So, you only need to add the AP to the cache.

Right ! Otherwise, if we add an AdministrativeRole to an entry, it's a modify operation, not an add.

+--------+
|Subentry|
+--------+

We can't add a subentry if the immediate parent is not an AP and if the parent 
AP does not have the same role (or of the parent  is an IAP and there are no 
higher parent with the same role).

Otherwise, adding a subentry is just a matter to update the parent's AP 
seqNumber (and all the hierarchy up to the first SAP if it's an IAP)

As a subentry is only associated with one single role, we don't have to loop on 
all the roles
This goes against what you previously stated in your introduction:
X.500 also says that a subentry can also be used to handle more than one 
specific role, which is done by having more than one auxiliary ObjectClass 
being added in the subentry.

We might want to loop on all roles, then.

Right..

I'll update the doco. I will also move it to the wiki.

Thanks Pierre-Arnaud !

--
Regards,
Cordialement,
Emmanuel Lécharny
www.iktek.com

Reply via email to