eprints / orcid_support_advance

ORCID Support Advance plugin
1 stars 6 forks source link

Errors when ORCID Exporter not called by user #84

Open drn05r opened 7 months ago

drn05r commented 7 months ago

Event::DataCiteEvent::datacite_doi from the DataCiteDoi plugin appears to call the ORCID::Exporter and generates the following error messages:

Use of uninitialized value in numeric gt (>) at /opt/eprints3/lib/plugins/EPrints/ORCID/Exporter.pm line 444.

[urn:uuid:008637e0-a9b1-49e4-8f2d-6021c93b2baf] Event::DataCiteEvent::datacite_doi: Error during execution: Can't call method "get_value" on an undefined value at /opt/eprints3/lib/plugins/EPrints/ORCID/Exporter.pm line 458.

I believe that based on the current codebase these are the following lines: https://github.com/eprints/orcid_support_advance/blob/e0b99870faa3947119dbc55920d1f6168ee5da10/lib/plugins/EPrints/ORCID/Exporter.pm#L447 https://github.com/eprints/orcid_support_advance/blob/e0b99870faa3947119dbc55920d1f6168ee5da10/lib/plugins/EPrints/ORCID/Exporter.pm#L461

I purpose that for the first issue and the other checks to see whether other indexes in the $results hashref are set should be updated to check they are defined before checking their value. For the second issue just returning immediately if $current_user is not set. In theory this second change negates the specific need for the first change but I think this may still be a good sanity check.