[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: A changeLogEntry and LDIF question ..



sanjay jain wrote:

>
>    I was wondering why 'newRdn', 'deleteOldRdn' and 'newSuperior'
>    are attributes of 'changeLogEntry' object class when similar info
>    can be captured in the 'changes' attribute (according to LDIF) of
>    the 'changeLogEntry' object class.

The intent was that attribute values and modifications to attribute
values are contained in the "changes" attribute. Parameters to the LDAP
operations, on the other hand (e.g. the DN of an entry being deleted or
renamed) would be attributes of the changelog entry. In other words,
anything that would be in an LDAPMod array in the C LDAP SDK goes into
the "changes" attribute, and anything that ends up being a parameter
passed to an C LDAP SDK routine is an attribute of the changelog entry.
This makes it straightforward to parse a changelog entry and reconstruct
the LDAP operation that it represents.

It's rather arbitrary, though. One can imagine a different definition of
the changelog entry object class with only two attributes: a
changenumber and a changes attribute which completely describes the
changes to be made, in LDIF format. The drawback of a minimalist
approach like that is that you cannot search the changelog based on
attributes of the change, e.g. the DN of the entry being modified.
That's why "targetdn" and "changetype" are attributes of the changelog
entry, even though they could be represented in the LDIF that describes
the changes.