Bug #5885

Upgrading EML version causes access policy to be lost

Added by ben leinfelder over 9 years ago. Updated over 9 years ago.

morpho - general
Target version:
Start date:
Due date:
% Done:


Estimated time:


Matt saved a DataONE package to the MN using R, but the EML was 2.0.1 and had no access rules in it. The SystemMetadata specified public access. When he opened it in Morpho it had him upgrade it to 2.1.1, but the access rules were lost.


#1 Updated by ben leinfelder over 9 years ago

My hunch is that the original SystemMetadata (from the MN) is discarded during the upgrade process and new SystemMetadata is generated from the EML fields. We should really be saving the original SystemMetadata and then just setting these fields:
-identifier (new identifier)
-obsoletes (the original identifier)
-formatId (new EML version)

#2 Updated by ben leinfelder over 9 years ago

Here is an example EML 2.0.1 file that has an accessPolicy set in SystemMetadata. When I open it by id in Morpho (after many exceptions because it cannot find the referenced data file) it asks me to upgrade to 2.1.1. I say yes, and then look at the access policy and there are none.

See the SM has an access policy:

#3 Updated by Jing Tao over 9 years ago

If i didn't upgrade the eml version and saved it locally, the access policies can be preserved in the system metadata. So, during the upgrade process, the system metadata was lost.

#4 Updated by Jing Tao over 9 years ago

Before the upgrading, the system metadata should be preserved. Then we set it backup when the upgrading is done.

After doing that, the access rules will not be lost. And the format in the system metadata still is the eml-2.1.1.

#5 Updated by ben leinfelder over 9 years ago

Looks good - thanks, Jing!

#6 Updated by Redmine Admin over 9 years ago

Original Bugzilla ID was 5885

Also available in: Atom PDF