SFULibrary / islandora_doi_framework

Utility module that provides a framework for other modules to assign DOIs (Digital Object Identifiers) to objects.
GNU General Public License v3.0
5 stars 1 forks source link

Issues assigning DOI when multiple dc.type elements exist #14

Closed bondjimbond closed 4 years ago

bondjimbond commented 4 years ago

From one of my sites:

I'm getting an error when assigning DOIs: Error registering metadata for object capu:5646, so cannot mint DOI: 400, Unprocessable Entity: [facet 'enumeration'] The value 'article' is not an element of the set {'Audiovisual', 'Collection', 'DataPaper', 'Dataset', 'Event', 'Image', 'InteractiveResource', 'Model', 'PhysicalObject', 'Service', 'Software', 'Sound', 'Text', 'Workflow', 'Other'}. at line 14, column 0

Example item I'm trying to assign a DOI to: https://capu.arcabc.ca/islandora/object/capu%3A5646# Example item that I was able to assign a DOI to last year: https://capu.arcabc.ca/islandora/object/capu%3A5514

The DC metadata for these objects is more or less identical:

Each has the following:

<dc:type>article</dc:type>
<dc:type>Text</dc:type>

But I think the new DOI registration home at DataCite Canada has changed how it processes dc:type values.

I had the user modify their DC datastream and reorder the <dc:type> elements so that Text appears first, and it was accepted.

Can we tweak the module so that it checks for multiple iterations of the element, and only uses one that contains an acceptable value?

mjordan commented 4 years ago

The resource type is being added explicitly to the theme variables from the form selection at https://github.com/SFULibrary/islandora_doi_framework/blob/7.x/modules/islandora_doi_datacite/includes/utilities.inc#L240. It shouldn't be related to the DC values... still investigating.

mjordan commented 4 years ago

@bondjimbond OK to close this?

bondjimbond commented 4 years ago

Yep. For the record: this issue came up using an older version of the module which did not include the prepopulated submission form as part of the "assign DOI" step.