Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

  1. The initial entry does not contain any of the RDN AVA
  2. The initial entry contains at least one of the RDN AVA which is not part of the original RDN

One special and important point : we can't use the deleteOldDN for composite operation, as this may lead to the deletion of a mandatory attribute, hence generating an error when applying the revert operation.

case

orginal entry

target RDN

deleteoldrdn

forward ldif

resulting entry

reverse ldif

1.1

dn: cn=test,ou=system
objectclass: top
objectclass: person
cn: test
sn: This is a test

cn=joe

no

dn: cn=test, ou=system
changetype: moddn
newrdn: cn=joe
deleteoldrdn: 0

dn: cn=joe, ou=system
objectclass: top
objectclass: person
cn: test
cn: joe
sn: This is a test

dn: cn=joe, ou=system
changetype: moddn
newrdn: cn=test
deleteoldrdn: 1

1.2

dn: cn=test,ou=system
objectclass: top
objectclass: person
cn: test
cn:small
sn: This is a test

cn=small

no

dn: cn=test, ou=system
changetype: moddn
newrdn: cn=small
deleteoldrdn: 0

dn: cn=small, ou=system
objectclass: top
objectclass: person
cn: test
cn: small
sn: This is a test

dn: cn=small, ou=system
changetype: moddn
newrdn: cn=test
deleteoldrdn: 0

2.1

dn: cn=test,ou=system
objectclass: top
objectclass: person
cn: test
sn: This is a test

cn=joe

yes

dn: cn=test, ou=system
changetype: moddn
newrdn: cn=joe
deleteoldrdn: 1

dn: cn=joe, ou=system
objectclass: top
objectclass: person
cn: joe
sn: This is a test

dn: cn=joe, ou=system
changetype: moddn
newrdn: cn=test
deleteoldrdn: 1

2.2

dn: cn=test,ou=system
objectclass: top
objectclass: person
cn: test
cn:small
sn: This is a test

cn=small

yes

dn: cn=test, ou=system
changetype: moddn
newrdn: cn=small
deleteoldrdn: 1

dn: cn=small, ou=system
objectclass: top
objectclass: person
cn: joe
cn: small
sn: This is a test

dn: cn=joe, ou=system
changetype: moddn
newrdn: cn=test
deleteoldrdn: 0

3

dn: cn=small+cn=test,ou=system
objectclass: top
objectclass: person
cn: test
cn: small
sn: This is a test

cn=joe

N/A

dn: cn=small+cn=test, ou=system
changetype: moddn
newrdn: cn=joe
deleteoldrdn: 0

dn: cn=joe, ou=system
objectclass: top
objectclass: person
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="1301fb08-d872-4148-8fde-89b5d48f01a6"><ac:plain-text-body><![CDATA[ [cn: test]
]]></ac:plain-text-body></ac:structured-macro>
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="081f7e7a-bb68-4188-92ea-cebcc347e026"><ac:plain-text-body><![CDATA[ [cn: small]
]]></ac:plain-text-body></ac:structured-macro>
cn: joe
sn: This is a [cn: test]
[cn: small]
cn: joe
sn: This is a test

dn: cn=joe, ou=system
changetype: moddn
deleteoldrdn: 1
newrdn: cn=small+cn=test

4

dn: cn=small+cn=test,ou=system
objectclass: top
objectclass: person
cn: test
cn: small
cn: big
sn: This is a test

cn=big

N/A

cn=test

4 dn: cn=small+cn=test, ou=system
changetype: moddn
newrdn: cn=big
deleteoldrdn: 0

dn: cn=bigsmall+cn=test,ou=system
objectclass: top
objectclass: person
cn: test
cn: small
cn: big
sn: This is a test

cn=big

N/A

dn: cn=small+cn=test, ou=system
changetype: moddn
newrdn: cn=big
deleteoldrdn: 0

dn: cn=big, ou=system
objectclass: top
objectclass: person
[cn: test]
[cn: small]
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="0962f662-cf74-4acd-8925-7c29055ac79e"><ac:plain-text-body><![CDATA[ [cn: test]
]]></ac:plain-text-body></ac:structured-macro>
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="ef04e749-6a8a-4cd2-bbf2-3a4424e37f94"><ac:plain-text-body><![CDATA[ [cn: small]
]]></ac:plain-text-body></ac:structured-macro>
cn: big
sn: This is a test

dn: cn=big, ou=system
changetype: moddn
deleteoldrdn: 0
newrdn: cn=small+cn=test

5

cn=small+cn=test
objectclass: top
objectclass: person
cn: test
cn: small
sn: This is a test

cn=test

N/A

dn: cn=small+cn=test, ou=system
changetype: moddn
newrdn: cn=test
deleteoldrdn: 0

dn: cn=test, ou=system
objectclass: top
objectclass: person
cn: test
[cn: small] dn: cn=test, ou=system
objectclass: top
objectclass: person
cn: test
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="2b270678-4b45-4da6-975d-008cb9b23a00"><ac:plain-text-body><![CDATA[ [cn: small]
]]></ac:plain-text-body></ac:structured-macro>
sn: This is a test

dn: cn=test, ou=system
changetype: moddn
deleteoldrdn: 0
newrdn: cn=small+cn=test

6.1

cn=test
objectclass: top
objectclass: person
cn: test
cn: small
sn: This is a test

cn=joe+cn=plumber

no

dn: cn=test, ou=system
changetype: moddn
newrdn: cn=joe+cn=plumber
deleteoldrdn: 0

dn: cn=joe+cn=plumber, ou=system
objectclass: top
objectclass: person
cn: test
cn: small
cn: joe
cn: plumber
sn: This is a test

dn: cn=joe+cn=plumber, ou=system
changetype: moddn
deleteoldrdn: 1
newrdn: cn=test

6.2

cn=test
objectclass: top
objectclass: person
cn: test
cn: small
sn: This is a test

cn=joe+cn=small

no

dn: cn=test, ou=system
changetype: moddn
newrdn: cn=joe+cn=small
deleteoldrdn: 0

dn: cn=joe+cn=small, ou=system
objectclass: top
objectclass: person
cn: test
cn: small
cn: joe
cn: plumber
sn: This is a test

dn: cn=joe+cn=small, ou=system
changetype: moddn
deleteoldrdn: 1 0
newrdn: cn=test

and

dn: cn=test,ou=system
changetype: modify
add delete: cn
cn: small joe
-

7.1

cn=test
objectclass: top
objectclass: person
cn: test
cn: small
sn: This is a test

cn=joe+cn=plumber

yes

dn: cn=test, ou=system
changetype: moddn
newrdn: cn=joe+cn=plumber
deleteoldrdn: 1

dn: cn=joe+cn=plumber, ou=system
objectclass: top
objectclass: person
cn: joe
cn: plumber
sn: This is a test

dn: cn=joe+cn=plumber, ou=system
changetype: moddn
deleteoldrdn: 1
newrdn: cn=test

7.2

cn=test
objectclass: top
objectclass: person
cn: test
cn: small
sn: This is a test

cn=joe+cn=small

yes

dn: cn=test, ou=system
changetype: moddn
newrdn: cn=joe+cn=small
deleteoldrdn: 1

dn: cn=joe+cn=small, ou=system
objectclass: top
objectclass: person
cn: small
cn: joe
cn: plumber
sn: This is a test

dn: cn=joe+cn=small, ou=system
changetype: moddn
deleteoldrdn: 1 0
newrdn: cn=test

and

dn: cn=test,ou=system
changetype: modify
add delete: cn
cn: small joe
-

8.1

cn=test
objectclass: top
objectclass: person
cn: test
cn: big
sn: This is a test

cn=small+cn=test

no

dn: cn=test, ou=system
changetype: moddn
newrdn: cn=small+cn=test
deleteoldrdn: 0

dn: cn=small+cn=test, ou=system
objectclass: top
objectclass: person
cn: small
cn: test
sn: This is a test

dn: cn=small+cn=test, ou=system
changetype: moddn
deleteoldrdn: 1
newrdn: test

8.2

cn=test
objectclass: top
objectclass: person
cn: test
cn: big
sn: This is a test

cn=big+cn=test+
cn=small

no

dn: cn=test, ou=system
changetype: moddn
newrdn: cn=big+cn=test+
cn=small
deleteoldrdn: 0

dn: cn=big+cn=test+cn=small,
ou=system
objectclass: top
objectclass: person
cn: big
cn: test
cn: small
sn: This is a test

dn: cn=big+cn=test+cn=small,
ou=system
changetype: moddn
deleteoldrdn: 1 0
newrdn: test

and

dn: cn=test, ou=system
changetype: modify
cn: add delete
cn: big small
-

9.1

cn=test
objectclass: top
objectclass: person
cn: test
cn: big
sn: This is a test

cn=small+cn=test

yes

dn: cn=test, ou=system
changetype: moddn
newrdn: cn=small+cn=test
deleteoldrdn: 1

dn: cn=small+cn=test, ou=system
objectclass: top
objectclass: person
cn: small
cn: test
sn: This is a test

dn: cn=small+cn=test,ou=system
changetype: moddn
deleteoldrdn: 1
newrdn: test

9.2

cn=test
objectclass: top
objectclass: person
cn: test
cn: big
sn: This is a test

cn=big+cn=test+
cn=small

yes

dn: cn=test, ou=system
changetype: moddn
newrdn: cn=big+cn=test+
cn=small
deleteoldrdn: 1

dn: cn=big+cn=test+cn=small,
ou=system
objectclass: top
objectclass: person
cn: big
cn: test
cn: small
sn: This is a test

dn: cn=big+cn=test+cn=small,
ou=system
changetype: moddn
deleteoldrdn: 1 0
newrdn: test

and

dn: cn=test, ou=system
changetype: modify
cn: add delete
cn: big small
-

10.1

cn=small+cn=test
objectclass: top
objectclass: person
cn: test
cn: big
cn: small
sn: This is a test

cn=joe+cn=plumber

no

dn: cn=small+cn=test, ou=system
changetype: moddn
newrdn: cn=joe+cn=plumber
deleteoldrdn: 0

dn: cn=joe+cn=plumber, ou=system
objectclass: top
objectclass: person
cn: test
cn: big
cn: small
cn: joe
cn: plumber
sn: This is a test

dn: cn=joe+cn=plumber, ou=system
changetype: moddn
deleteoldrdn: 1
newrdn: cn=small+cn=test

10.2

cn=small+cn=test
objectclass: top
objectclass: person
cn: test
cn: big
cn: small
sn: This is a test

cn=joe+cn=big

no

dn: cn=small+cn=test, ou=system
changetype: moddn
newrdn: cn=joe+cn=big
deleteoldrdn: 0

dn: cn=joe+cn=big, ou=system
objectclass: top
objectclass: person
cn: test
cn: big
cn: small
cn: joe
sn: This is a test

dn: cn=joe+cn=big, ou=system
changetype: moddn
deleteoldrdn: 1newrdn0
newrdn: cn=small+cn=test

and

dn: cn=small+cn=test, ou=system
changetype: modify
cn: add delete
cn: big small
-

11.1

cn=small+cn=test
objectclass: top
objectclass: person
cn: test
cn: big
cn: small
sn: This is a test

cn=joe+cn=plumber

yes

dn: cn=small+cn=test, ou=system
changetype: moddn
newrdn: cn=joe+cn=plumber
deleteoldrdn: 1

dn: cn=joe+cn=plumber, ou=system
objectclass: top
objectclass: person
cn: big
cn: joe
cn: plumber
sn: This is a test

dn: cn=joe+cn=plumber, ou=system
changetype: moddn
deleteoldrdn: 1
newrdn: cn=small+cn=test

11.2

cn=small+cn=test
objectclass: top
objectclass: person
cn: test
cn: big
cn: small
sn: This is a test

cn=joe+cn=big

yes

dn: cn=small+cn=test, ou=system
changetype: moddn
newrdn: cn=joe+cn=big
deleteoldrdn: 1

dn: cn=joe+cn=big, ou=system
objectclass: top
objectclass: person
cn: big
cn: joe
sn: This is a test

dn: cn=joe+cn=big, ou=system
changetype: moddn
deleteoldrdn: 1 0
newrdn: cn=small+cn=test

and

dn: cn=small+cn=test, ou=system
changetype: modify
cn: add delete
cn: big joe
-

12.1

cn=small+cn=test
objectclass: top
objectclass: person
cn: test
cn: big
cn: small
sn: This is a test

cn=joe+cn=test

no

dn: cn=small+cn=test, ou=system
changetype: moddn
newrdn: cn=joe+cn=test
deleteoldrdn: 0

dn: cn=joe+cn=test, ou=system
objectclass: top
objectclass: person
cn: test
cn: small
cn: joe
sn: This is a test

dn: cn=joe+cn=test, ou=system
changetype: moddn
deleteoldrdn: 1
newrdn: cn=small+cn=test

12.2

cn=small+cn=test
objectclass: top
objectclass: person
cn: test
cn: big
cn: small
sn: This is a test

cn=big+cn=test

no

dn: cn=small+cn=test, ou=system
changetype: moddn
newrdn: cn=big+cn=test
deleteoldrdn: 0

dn: cn=big+cn=test, ou=system
objectclass: top
objectclass: person
cn: test
cn: small
cn: big
sn: This is a test

dn: cn=big+cn=test, ou=system
changetype: moddn
deleteoldrdn: 0
newrdn: cn=small+cn=test
and
dn: cn=small+cn=test
changetype: modify
cn: add
cn: big

13.1

cn=small+cn=test
objectclass: top
objectclass: person
cn: test
cn: big
cn: small
sn: This is a test

cn=joe+cn=test

yes

dn: cn=small+cn=test, ou=system
changetype: moddn
newrdn: cn=joe+cn=test
deleteoldrdn: 1

dn: cn=joe+cn=test, ou=system
objectclass: top
objectclass: person
cn: test
cn: big
cn: joe
sn: This is a test

dn: cn=joe+cn=test, ou=system
changetype: moddn
deleteoldrdn: 1
newrdn: cn=small+cn=test

13.2

cn=small+cn=test
objectclass: top
objectclass: person
cn: test
cn: big
cn: small
sn: This is a test

cn=big+cn=test

yes

dn: cn=small+cn=test, ou=system
changetype: moddn
newrdn: cn=big+cn=test
deleteoldrdn: 1

dn: cn=big+cn=test, ou=system
objectclass: top
objectclass: person
cn: test
cn: big
sn: This is a test

dn: cn=big+cn=test, ou=system
changetype: moddn
deleteoldrdn: 0
newrdn: cn=small+cn=test
and
dn: cn=small+cn=test , ou=system
changetype: modify
cn: add
cn: big
-

The following picture represent all the different cases as a decision tree :