Describe the bug
OrcidQueue entries are not removed from the orcid queue when some author has been added and removed in some short time span.
To Reproduce
Steps to reproduce the behavior:
Given some Person A with Orcid and common settings enabled for pushing Publications
Add Person A as author to some Publication
Save - OrcidQueueConsumer should create some new orcid entry
Remove Person A as author from Publication
Save - OrcidQueueConsumer should do nothing.
Push to Orcid
The record is falsely pushed to Orcid
Expected behavior
For profile entities/sections the values are removed using some checksum/metadata signature.
For OrcidEntities (Funding, Publication) there is no equivalent yet.
We expect the OrcidQueue Consumer to check existing OrcidQueue entries for the entity and delete all Insert-Operations where the profile is not found among the metadata authority values anymore.
Describe the bug OrcidQueue entries are not removed from the orcid queue when some author has been added and removed in some short time span.
To Reproduce Steps to reproduce the behavior:
Expected behavior For profile entities/sections the values are removed using some checksum/metadata signature. For OrcidEntities (Funding, Publication) there is no equivalent yet.
We expect the OrcidQueue Consumer to check existing OrcidQueue entries for the entity and delete all Insert-Operations where the profile is not found among the metadata authority values anymore.
This can be achieved by some check in consumeEntities https://github.com/4Science/DSpace/blob/fe36309c7a4eda36ecc23eb80b3309a53e96e0b8/dspace-api/src/main/java/org/dspace/orcid/consumer/OrcidQueueConsumer.java#L184 which finds all orcidqueue entries for the entitiy and loops again through the list of metadata.
Related work Should also affect the upstream DSpace implementation