I am using the import export API to copy a site from a Tridion 8.5 system to a Tridion 8.6 system. In the diagram below, the old blueprint is in yellow, with the new in green. Parent relationships are shown by black arrows, and Import mappings in red.
I have exported the "Woonland" category from publications 17,171 and 1712 into a package. In the new system, the publications are created independently with the correct blueprint relationships, so the goal is only to import the content.
The import mappings show up in the debug logging something like this:
UserMappings: /webdav/17%20foobar%20parent -> /webdav/4500%20Foobar%20Master /webdav/17%20foobar%20parent/Building%20Blocks/FOO -> /webdav/4500%20Foobar%20Master/Building%20Blocks/Modules/NEWFOO /webdav/17%20foobar%20parent/Building%20Blocks/FOO/System -> /webdav/4500%20Foobar%20Master/Building%20Blocks/Modules/NEWFOO/System /webdav/171%20foobar%20content -> /webdav/4511%20foobar%2Enl%20%5BNL%5D /webdav/171%20foobar%20content/Building%20Blocks/FOO/System -> /webdav/4511%20foobar%2Enl%20%5BNL%5D/Building%20Blocks/Modules/NEWFOO/System /webdav/171%20foobar%20content/Woonland -> /webdav/4511%20foobar%2Enl%20%5BNL%5D/Woonland /webdav/1712%20foobar%20de -> /webdav/45111%20foobar%2Enl%20%5BDE%5D /webdav/1712%20foobar%20de/Building%20Blocks/FOO/System -> /webdav/45111%20foobar%2Enl%20%5BDE%5D/Building%20Blocks/Modules/NEWFOO/System /webdav/1712%20foobar%20de/Woonland -> /webdav/45111%20foobar%2Enl%20%5BDE%5D/Woonland
The trouble is that when importing, the blueprint relationships don't seem to get established in the correct order. The import seems to create keywords first in the German publication (45111), and then fails because of a uniqueness conflict when it tries to create the same items in 4511
Here's some more output from the import:
Total items imported: 6 New items created: 4 Existing items updated: 0 Items partially imported: 0 Items failed: 1 Created items: /webdav/17%20foobar%20parent/Woonland /webdav/1712%20foobar%20de/Woonland/10_den%20Niederlanden.tkw /webdav/1712%20foobar%20de/Woonland/30_Deutschland.tkw /webdav/1712%20foobar%20de/Woonland/Belgi%C3%AB.tkw Failed items: /webdav/171%20foobar%20content/Woonland/30_Duitsland.tkw
The keywords are present in the 171 publication and localised in the 1712. In the package, you can see that the keyword XMLs from the 1712 have a PrimaryBlueprintParentUrl element pointing to the relevant item in 171. The import is performed with ResolveBluePrintMappings set to true.
What would cause this problem? Where can I look for further clues. Might it be a bug? Are there additional ways I can provide extra metadata to help the import succeed, perhaps by enhancing the user mappings in some way?