Skip to content

Cleanup of DataCite registration implementation, add OnSuccess status #5430

@landreev

Description

@landreev

This is a followup issue to #5427

We've discussed some further improvements/safety checks to the DataCite registration process.

For example, it would be more prudent to actually read the response from the DataCite /metadata API and validate it; rather than rely on receiving a 200.
Some limit on the number of retries perhaps?
Review the transaction framework of the publishing process; makes sure nothing is left in a bad state when the publication process goes wrong due to the global id(s) registration.

Some overall cleanup of the code may be beneficial too... I may be missing something - but it's not immediately clear to me why we need the DOIDataCiteServiceBean and the separate DOIDataCiteRegisterService - ? It looks like duplication of code/more places for things to go wrong...

The code that actually talks to DataCite is isolated in DataCiteRESTfullClient.java btw; as of now - with the fixes in the PR #5428 - it is still possible to write some code that will call the DataCiteRESTfullClient.testDOIExists() directly, give it a junk string and get "true".

The above is just to open an issue; if anyone can think of things to further investigate and/or improve, please add.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions