Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change

Re^2: RFC: Data::Sync

by g0n (Priest)
on Apr 25, 2006 at 15:21 UTC ( #545581=note: print w/replies, xml ) Need Help??

in reply to Re: RFC: Data::Sync
in thread RFC: Data::Sync

I didn't implement direct changelog reading, because there are multiple approaches to changelogs: OpenLDAP uses a changelog file, whereas SunOne/iPlanet & various others implement 'cn=changelog' objects in directory root, although their formats vary.

As far as I know, the recommended approach to change detection in LDAP these days (since no two directory vendors ever managed to agree on a changelog standard) is persistent searching.

There are two ways of doing this using Data::Sync as it stands:

  • Run a persistent search against your source DSA, detecting those changes you're interested in and flowing them.
  • Run a periodic search of all the objects you are interested in, and hash them for changes within Data::Sync.

The latter approach has been tested, but is a hefty search overhead. The former works in theory, but hasn't been tested (I have only very recently got a fully v3 compliant DS set up for testing).

An alternative approach (and the one I would favour for simplicity I think) would be to read LDIF as if it were an LDAP server - the code extensions to do that are fairly simple. That way your code could read the changelog file to pick up changes, perform the remapping, and write them direct to the target DS.

The code changes for that are fairly straightforward, and would be very useful in any case - thanks for the suggestion.


"If there is such a phenomenon as absolute evil, it consists in treating another human being as a thing."
John Brunner, "The Shockwave Rider".

Can you spare 2 minutes to help with my research? If so, please click here

Replies are listed 'Best First'.
Re^3: RFC: Data::Sync
by mantadin (Beadle) on Apr 26, 2006 at 09:57 UTC
    Thank you very much for the quick reply. You wrote "An alternative approach (and the one I would favour for simplicity I think) would be to read LDIF as if it were an LDAP server".

    I will try it that way and post again, as soon as I have some useful results.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://545581]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (4)
As of 2020-05-31 23:43 GMT
Find Nodes?
    Voting Booth?
    If programming languages were movie genres, Perl would be:

    Results (177 votes). Check out past polls.