METS Disseminator never resets its counter for METS @ID attributes ------------------------------------------------------------------
Key: DS-931 URL: https://jira.duraspace.org/browse/DS-931 Project: DSpace Issue Type: Bug Components: DSpace API Affects Versions: 1.7.2, 1.7.1, 1.7.0 Reporter: Tim Donohue Assignee: Tim Donohue Fix For: 1.8.0 The org.dspace.content.packager.AbstractMETSDisseminator class never resets the internal counter that it uses to assign METS @ID attribute values. Although this is not an issue when disseminating METS files (as all @ID values still end up unique), it can be of issue for AIP dissemination (which uses the METS Disseminator). During AIP dissemination, we want the generated METS file to always be identical (same checksum) when the DSpace object itself is unchanged. However, because the @ID attribute counter never resets itself, it's possible (though rare) to have a slightly different METS file generated (for an unchanged object) which only has different @ID values. For example: (1) Disseminate a METS file for an object -- initially the @ID values count up from 1 (2) If you generate another METS file for that same unchanged object from that same instance of AbstractMETSDisseminator, then the @ID values will *NOT* begin at 1...instead they will continue incrementing from the last @ID value of the last METS dissemination. Even though the Object itself is unchanged in DSpace, the METS file will be slightly different, since the @ID attributes will no longer be identical. Again, for AIP generation we want the METS file to remain identical (no matter how many times you generate it), so that the AIP itself is identical when and object is unchanged. Hopefully that example makes sense...admittedly this is a slightly confusing issue, but is easy to resolve. The resolution is to ensure that the counter which is used for @ID attributes is always reset (back to 1) each time the disseminate() method is called. This ensures, that for each new METS file dissemination the counter always begins from 1. I'll apply a quick fix to Trunk shortly, so that this issue is resolved for DSpace 1.8.0. (This bug was encountered as part of the DS-876 Replication Task Suite work) -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: https://jira.duraspace.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira ------------------------------------------------------------------------------ EditLive Enterprise is the world's most technically advanced content authoring tool. Experience the power of Track Changes, Inline Image Editing and ensure content is compliant with Accessibility Checking. http://p.sf.net/sfu/ephox-dev2dev _______________________________________________ Dspace-devel mailing list Dspace-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dspace-devel