Feature #6845
closedUpdate Identifier in the metadata document when it is updated
0%
Description
Matt and I talked today about the possibility of updating the Id (packageId in EML) in the raw metadata document when it is published with a DOI so that when users download the metadata document it has the correct identifier listed.
Updated by Lauren Walker about 9 years ago
- Status changed from New to Resolved
Anytime an EML document is updated, the packageId attribute value will be updated with the new identifier.
FGDC metadata doesn't contain an Id - only online location URLs - which appear to often not include the exact identifier. The id is displayed in MetacatUI because the XSL for FGDC just displays the pid parameter passed to it from metacatui.xsl
We could expand this functionality to update the packageId on create as well
We could also update the online distribution link, if it contains the identifier (could match on ecogrid and dataone API URLs only, to be sure)
Updated by ben leinfelder about 9 years ago
One point of caution - I worry about modifying user's content on create. Historically we've relied on the client to provide us content and (hopefully) keep it exactly as it was on their end. Our publish action seem appropriate (we are the client and the server at that point!) but I don't know if we want to start changing content right when we get it on create() calls. $0.02
Updated by Lauren Walker about 9 years ago
- Subject changed from Update Identifier in the metadata document when it is published to Update Identifier in the metadata document when it is updated
Clarification: The packageId is updated anytime the EML is updated - including but not exclusive to publishing
Updated by Lauren Walker about 9 years ago
- Status changed from Resolved to In Progress
Change the EML update to only occur on mn.publish()
Updated by Lauren Walker about 9 years ago
- Status changed from In Progress to Resolved
- Target version changed from Unspecified to 2.5.0
I've moved the edit science metadata method call to the publish() method so that update() is not affected.