Closed sromkey closed 1 year ago
Here is what the 2 structMaps should look like when an item has been arranged (in this example, County/town/799px-Euroleague-LE_Roma_vs_Toulouse_IC-27.bmp
) and AtoM levels of description applied (Series/Sub-series/File
)
<mets:structMap TYPE="physical" ID="structMap_1" LABEL="Archivematica default">
<mets:div TYPE="Directory" LABEL="County-e5b288dc-b06b-4da0-9b02-d1ff8a58ec6e" DMDID="dmdSec_1">
<mets:div TYPE="Directory" LABEL="objects">
<mets:div TYPE="Directory" LABEL="metadata">
<mets:div TYPE="Directory" LABEL="transfers">
<mets:div TYPE="Directory" LABEL="transfer-b77e24a4-2110-4825-bfa0-7643333b92fd">
<mets:div LABEL="directory_tree.txt" TYPE="Item">
<mets:fptr FILEID="file-7b711ff2-8a9e-4742-9152-91e52b55ca36"/>
</mets:div>
</mets:div>
</mets:div>
</mets:div>
<mets:div TYPE="Directory" LABEL="submissionDocumentation">
<mets:div TYPE="Directory" LABEL="transfer-spr-b77e24a4-2110-4825-bfa0-7643333b92fd">
<mets:div LABEL="METS.xml" TYPE="Item">
<mets:fptr FILEID="file-e4f72908-1620-45a9-8db5-d08fd00935ef"/>
</mets:div>
</mets:div>
</mets:div>
<mets:div TYPE="Directory" LABEL="town">
<mets:div LABEL="799px-Euroleague-LE_Roma_vs_Toulouse_IC-27.bmp" TYPE="Item">
<mets:fptr FILEID="file-de709291-c391-462f-bff5-495938c6c065"/>
</mets:div>
</mets:div>
</mets:div>
</mets:div>
</mets:structMap>
<mets:structMap TYPE="logical" ID="structMap_dddacba8-74e0-417a-84ac-e1b52e24be9b" LABEL="Hierarchical">
<mets:div LABEL="County-e5b288dc-b06b-4da0-9b02-d1ff8a58ec6e" DMDID="dmdSec_1">
<mets:div TYPE="Series" LABEL="objects">
<mets:div TYPE="Sub-series" LABEL="town">
<mets:div LABEL="799px-Euroleague-LE_Roma_vs_Toulouse_IC-27.bmp" TYPE="File">
<mets:fptr FILEID="file-de709291-c391-462f-bff5-495938c6c065"/>
</mets:div>
</mets:div>
</mets:div>
</mets:div>
</mets:structMap>
This regression was introduced during https://github.com/artefactual/archivematica/pull/1787 where the create_mets_v2
client script was changed to rely more on the mets-reader-writer
library in the generation of the AIP METS.
The mets-reader-writer
is not able to parse the logical
structMap
element and recreates it from the files and directories contained in the physical
structMap
losing the metadata information from AtoM.
This is how the structMap
s from Sarah's example look like after being parsed and serialized again by the mets-reader-writer
:
<mets:structMap TYPE="physical" ID="structMap_1" LABEL="Archivematica default">
<mets:div TYPE="Directory" LABEL="County-e5b288dc-b06b-4da0-9b02-d1ff8a58ec6e" DMDID="dmdSec_1">
<mets:div TYPE="Directory" LABEL="objects">
<mets:div TYPE="Directory" LABEL="metadata">
<mets:div TYPE="Directory" LABEL="transfers">
<mets:div TYPE="Directory" LABEL="transfer-b77e24a4-2110-4825-bfa0-7643333b92fd">
<mets:div TYPE="Item" LABEL="directory_tree.txt">
<mets:fptr FILEID="file-7b711ff2-8a9e-4742-9152-91e52b55ca36"/>
</mets:div>
</mets:div>
</mets:div>
</mets:div>
<mets:div TYPE="Directory" LABEL="submissionDocumentation">
<mets:div TYPE="Directory" LABEL="transfer-spr-b77e24a4-2110-4825-bfa0-7643333b92fd">
<mets:div TYPE="Item" LABEL="METS.xml">
<mets:fptr FILEID="file-e4f72908-1620-45a9-8db5-d08fd00935ef"/>
</mets:div>
</mets:div>
</mets:div>
<mets:div TYPE="Directory" LABEL="town">
<mets:div TYPE="Item" LABEL="799px-Euroleague-LE_Roma_vs_Toulouse_IC-27.bmp">
<mets:fptr FILEID="file-de709291-c391-462f-bff5-495938c6c065"/>
</mets:div>
</mets:div>
</mets:div>
</mets:div>
</mets:structMap>
<mets:structMap TYPE="logical" ID="structMap_2" LABEL="Normative Directory Structure">
<mets:div TYPE="Directory" LABEL="County-e5b288dc-b06b-4da0-9b02-d1ff8a58ec6e">
<mets:div TYPE="Directory" LABEL="objects">
<mets:div TYPE="Directory" LABEL="metadata">
<mets:div TYPE="Directory" LABEL="transfers">
<mets:div TYPE="Directory" LABEL="transfer-b77e24a4-2110-4825-bfa0-7643333b92fd">
<mets:div TYPE="Item" LABEL="directory_tree.txt"/>
</mets:div>
</mets:div>
</mets:div>
<mets:div TYPE="Directory" LABEL="submissionDocumentation">
<mets:div TYPE="Directory" LABEL="transfer-spr-b77e24a4-2110-4825-bfa0-7643333b92fd">
<mets:div TYPE="Item" LABEL="METS.xml"/>
</mets:div>
</mets:div>
<mets:div TYPE="Directory" LABEL="town">
<mets:div TYPE="Item" LABEL="799px-Euroleague-LE_Roma_vs_Toulouse_IC-27.bmp"/>
</mets:div>
</mets:div>
</mets:div>
</mets:structMap>
I tested this by placing material in backlog, arranging and assigning levels of description and uploading to AtoM- all working as expected now.
Expected behaviour
When a transfer is sent to backlog and a SIP is arranged from there, there should be a second structMap in the METS file, labeled as "logical". If AtoM levels of description are applied in arrangement, those should be present in the structMap as well.
Current behaviour
The physical structMap is not being produced. As a result, if a DIP is uploaded to AtoM it is not reflecting the arrangement.
Your environment (version of Archivematica, operating system, other relevant details)
Ubuntu installation of 1.14 release
For Artefactual use:
Before you close this issue, you must check off the following: