When making a deposit to an Invenio- or InvenioRDM-based platform, hermes sets a IsCompiledBy relation on the created record, to indicate that it was created by hermes. Currently, the DOI used for this, is hard-coded.
|
"identifier": hermes_doi, |
This leads to two issues:
- The DOI needs to be updated manually which can easily be forgotten.
- We run into a chicken-and-egg problem. While a new version of hermes is being published and pushed to PyPI, the DOI of this version is not known yet and can't be included in the release.
There are two different ways to fix this:
- Use the hermes concept DOI as the related identifier
- ➕ Easy to implement
- ➖ We "loose track" of which hermes versions are used and we loose valuable debugging information in case we find issues in publications. Though this might not be too bad as hermes is still in its infancy.
- Figure out the DOI at runtime
- ➕ Enables more insights
- ➖ Complex implementation that needs to find all possible hermes DOIs on DataCite and then select the one which matches best (could go wrong with pre-released versions, forks, in development, etc.)
When making a deposit to an Invenio- or InvenioRDM-based platform, hermes sets a
IsCompiledByrelation on the created record, to indicate that it was created by hermes. Currently, the DOI used for this, is hard-coded.hermes/src/hermes/commands/deposit/invenio.py
Line 388 in 58c642c
This leads to two issues:
There are two different ways to fix this: