Closed Samk13 closed 8 months ago
This issue was automatically marked as stale.
I suspect this was an intended change, since previously it was difficult to figure out how to update name entries if multiple identifiers were present.
The update functionality still doesn't work from invenio vocabularies update
, but I think that's a separate bug.
@tmorrell Could you share the issue link for the invenio vocabularies update
, or if it doesn't exist, could you create one for this matter on how to reproduce?
Just added the issue: https://github.com/inveniosoftware/invenio-vocabularies/issues/292
Package version (if known): V12dev > 25
Describe the bug
The 'id' field requirement within the names schema in InvenioRDM is either an intentional change or a bug. When manually adding names through instance setup or command line, these entries lack an 'id' field leading to validation error that was not the case before V12dev25.
The Question:
Should we update the requirement for an
id
field in the names schema so we update names ex: here and update the documentation here by adding their id fieldsOr It's an oversight in handling vocabulary that needs correction.
Steps to Reproduce
1- on a fresh v12 latest using
app_data/vocabularies/names.yaml
2- Import names using the command:
invenio vocabularies import --vocabulary names --filepath app_data/vocabularies-future.yaml
3- Observe the behavior: names with an 'id' field (e.g., Stephen Hawking) are imported, while those without an 'id' (e.g., Albert Einstein) are not with validation error.
Expected behavior
Names should be imported consistently, regardless of the presence of an 'id' field in the YAML file.
Screenshots (if applicable)
This is before and after adding
id
field to each names vocabularies:Additional context
This problem seems to have arisen in versions after V12dev25. specifically, after this big refactor: https://github.com/inveniosoftware/invenio-vocabularies/commit/ba8d3c632de625a29206e4a369a7468fe5c1b2e1
I did not test other ways of importing names like ORCiD public dataset or other ways...