IQSS / IQSS/dataverse

Feature Request/Idea: Consider error handling when trying to load metadata block where field's allowControlledVocabulary property is TRUE but vocabulary terms are missing

Open
#10,461 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Feature: Metadata Type: Feature
Dominant language
Java
Stars
1.1k
Forks
564
Avg merge
2d 2h
Merged PRs (30d)
29

Description

Also maybe the Dataverse software can return some error when it tries to load a TSV file that has any fields where allowControlledVocabulary is TRUE but no terms are listed for that field in the TSV file's #controlledVocabulary section.

Overview of the Feature Request
When an installation manager tries to load a metadata block TSV file that has a field whose allowControlledVocabulary property is TRUE, but there are no vocabulary terms for that field in the TSV file's #controlledVocabulary section, the Dataverse software doesn't load the metadata block and returns an error to let the installation manager know.

What kind of user is the feature intended for?
(Example users roles: API User, Curator, Depositor, Guest, Superuser, Sysadmin)
Sysadmin

What inspired the request?
https://github.com/IQSS/dataverse/issues/8857

What existing behavior do you want changed?
The Dataverse software lets an installation manager load a metadata block TSV file that has a field whose allowControlledVocabulary property is TRUE while there are no vocabulary terms for that field in the TSV file's #controlledVocabulary section.

Any brand new behavior do you want to add to Dataverse?
When an installation manager tries to load a metadata block TSV file that has a field whose allowControlledVocabulary property is TRUE, but there are no vocabulary terms for that field in the TSV file's #controlledVocabulary section, the Dataverse software returns an error to let the installation manager know.

Any open or closed issues related to this feature request?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing Dataverse's metadata block TSV loading and #controlledVocabulary parsing, using issues 8857 and pull request 9984 for context. Done means a metadata block with allowControlledVocabulary set to TRUE but no terms for that field is rejected with an informative error, while valid blocks continue to load.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
backend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.