directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Emmanuel Lecharny <elecha...@gmail.com>
Subject [AdminPoint] Move operation
Date Fri, 17 Dec 2010 14:41:31 GMT
The move operation has a limited impact if we move the AP, except if we 
move an IAP. For subentries and entreeies, it's slightly more complex

+--+
|AP|
+--+
If the AP is an IAP, we have to check that the new position is valid. If 
so, we can move it. Then, as the the new parent AP may have changed, we 
have to modify the IAP seqNumber so that the underlying entries can be 
updated later. This has to be done for all the IAP descendants too.

 >>>-------------------------------------------
if AP is an IAP
   then
     check that the new position is valid
     if the parentAP is not the same
       then
         get a new seqNumber
         update the IAP with the new seqNumber

         for each IAP in the IAP descendant do
           update the IAP with the new seqNumber
         done

continue down the chain
-------------------------------------------<<<


+--------+
|Subentry|
+--------+
Moving a subentry implies we update the old parentAP and the new one. Of 
course, we have to check first that the changed AP are not inconsistent 
after the change.

 >>>-------------------------------------------
get a new seqNumber

update the old parentAP with the seqNumber (and all the IAP descendants)
update the new parentAP with the seqNumber (and all the IAP descendants)

continue down the chain

-------------------------------------------<<<


+-----+
|Entry|
+-----+
If we move en entry within the same area, we don't have anything to do 
except if the entry is not up to date, and then we proceed as we do for 
a search operation. Otherwise, we update the entry like if it was a add.
This has to be done for each possible roles.

 >>>-------------------------------------------
for each role
   get the old parentAP
   get the new parentAP

   if the entry is not up to date
     then update the entry
done

continue down the chain
-------------------------------------------<<<


-- 
Regards,
Cordialement,
Emmanuel L├ęcharny
www.iktek.com


Mime
View raw message