We have a workflow that is heavily based on the unique IDs of the XML tags (Self attribute) in the IDML, for example:
In the past, these IDs were created once an element was created and then never changed, even if an element was edited and the IDML re-exported. InDesign 2022 seemed to change that, so we suddenly have new IDs everywhere (e.g. XML elements, spreads, stories etc.) when we edit a file and re-export it to IDML. This messes up some data-matching on our side, because all of the IDs changed and we can't map them anymore. You can see an example of this in the attached screenshot; as you can see, all spread and stories IDs are new, same with the "Self" attribute on XML tags. This is after some minor changes (moving around elements) and exporting it with InDesign 2022.
Can someone confirm if something changed with a new version? Or why and how (re-) generating unique IDs exactly works?
Thanks so much, any help is greatly appreciated.
did that happen after "Save" or after "Save As" to the same document name?
Or did it happen after "Save As" to a different document name?
Do you see this on Mac OS only?
And: Was the document created in a previous version of InDesign and saved with InDesign 2022?
( ACP )
thanks for you quick reply!
The documents were created in an older version, i.e. InDesign 13 and 14. It happened after "Save As" in InDesign 17 (2022), the "Save" option automatically redirected to "Save As" - probably because the document was created in an older version?! I only have MacOS here, so I can't comment on how the behaviour is on Windows. It does not make a difference if I save it to the same name or not.
What I have is a package folder, containing an .indd, .idml and .pdf files as well as the "Links" and "Document fonts" folder. What I could observe after a bit of testing now:
- When I open the .idml file (created in an older version), save it (Save As) and then re-package it, all "Self" IDs are different (Elements, Spreads, Stories, all of them) - regardless of if I change anything in the document or not.
- When I open the .indd file (created in an older version), save it (Save As) and then re-package it, the IDs stay the same. If I change anything on an element, however, its ID changes. Changes I tested include relinking images, moving items, or changing text.
- When I open the new .indd file I created earlier with InDesign 2022, do changes, and package it again, some element IDs change, but not all. Simple changes apparently don't change the ID, but maybe if the element node gets re-written, the ID is changed - e.g. when I replace a JPEG image with an EPS image, the "<Image>" tag gets rewritten to "<EPS>" and receives a new ID. (Alright, that might be expected, since the tag is new.)
To me, it seems like the conversion from an older InDesign version causes all edited elements to get new IDs, no matter the change. Can you confirm that, or is there a logic behind that?
did some tests with InDesign 2021 and 2022 on Windows 10.
Opened a 220.127.116.11 document with 18.104.22.168.
Had exported both files to IDML.
The IDs for spreads and stories did not change.
Even after I did some changes, like moving around text frames from spread to spread in 22.214.171.124, the IDs did not change compared to the ones in the IDML file exported from 126.96.36.199.
Of course that does not mean, that there is no issue.
Could be a bug with the Mac OS version only, could be that I did not do what you did by changing something.
Nevertheless I would recommend to use the label property on all the items to make sure that you can clearly identify elements like spreads, pages, stories and page items. There are ExtendScript methods like insertLabel() and extractLabel() to assign values and read out values from spreads, pages, stories and page items. Even for the document object. You only have to know that by duplicating objects the labels with their values are duplicated as well.
( ACP )