add email and sha1 identifiers
:heart: Thank you for your contribution!
Description
This adds support for email and sha1 identifiers.
I was interested to learn that WADM (and possibly other W3C standards) allow the sha1 of an email address as a personal identifier for a creator to allow identification without revealing email addresses.
https://www.w3.org/TR/annotation-model/#agents
Checklist
Ticks in all boxes and 🟢 on all GitHub actions status checks are required to merge:
- [x] I'm aware of the code of conduct.
- [x] I've created logical separate commits and followed the commit message format.
- [x] I've added relevant test cases.
- [x] I've added relevant documentation.
- [x] I've marked translation strings (for relevant code).
- [x] I've followed the CSS/JS and React guidelines (for relevant code).
- [x] I've followed the web accessibility guidelines (for relevant code).
- [x] I've followed the user interface guidelines (for relevant code).
- [x] I've identified the copyright holder(s) and updated copyright headers for touched files (>15 lines contributions).
- [x] I've NOT included third-party code (copy/pasted source code or new dependencies).
Third-party code
If you've added third-party code (copy/pasted or new dependencies), please reach out to an architect.
Reminder
By using GitHub, you have already agreed to the GitHub’s Terms of Service including that:
- You license your contribution under the same terms as the current repository’s license.
- You agree that you have the right to license your contribution under the current repository’s license.
I note that a new version of black (>24) has caused tests to fail on an existing line. Happy to fix the line length - or should we pin black?
i think this PR changed the behavior with long lines in dict's.
we had the problem of different rules in newer black versions already and as i know already used the new style.
This is an issue that's going to affect all packages... I'll wait and see what happens elsewhere :) I assume this change would produce backward-compatible dicts so it might be easiest just to fix...
i also think that the easiest would be to just fix it and adopt the new style.
Done, does this otherwise seem sensible?
yes it does, although i am not sure where you will use it.
The (in my view overlooked) use case is any Invenio instance where you want to associate one or more email addresses with a creatibutor (in addition / as an alternative to ORCID, GND etc). We have instances doing this, and others have asked the question on Discord.
The email_sha1 is specifically for planned work on WADM based annotation.
The DataCite schema accepts any scheme + URI as a nameIdentifier, so these additions are compatible with DataCite.