IQSS / IQSS/dataverse

Multiple PID providers and "legacy" provider since v6.2: extend documentation, change code for :DoiProvider

Open
#10,658 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Overview of the Feature Request
Since Dataverse v6.2 usage of multiple PID providers is supported. Documentation also allows to use backward-compatibility for a single PID provider using specific of each PID type JVM options and database settings (documentation is using wording "Legacy Single PID provider" in front of the options). Dataverse v6.2 has also new JVM options "dataverse.pid.providers" and "dataverse.pid.default-provider" which must be always configured (if they are empty - exception occurs in log). The problem is, that documentation does not mention the fact, that even when a legacy approach with a single PID provider is used these 2 options must be set. From the discussion in user group comes info, that special PID provider "legacy" can be used in the configuration (see this reply-1), what was tested and works well (see this reply-2).

Based on this the issue consist of 2 points:

  1. Extend documentation for backward compatibility explaining possibility of usage of a "legacy" string in options "dataverse.pid.providers" and "dataverse.pid.default-provider" e.g. like in the reply-1 above.

  2. Slightly adapt code for analysis of ":DoiProvider" database setting because of problem in reply-2 above, that ":DoiProvider" currently must be non-null when legacy approach is used, even for non-DOI PID providers. See code here with next "if" and also reply-3 here.

Since support of multiple PID providers in v6.2 is working correct this issue can be considered as not critical and only for the time, when backward-compatibility for a single PID provider is supported.

What kind of user is the feature intended for?
all

What inspired the request?
Extension of the documentation

What existing behavior do you want changed?

Any brand new behavior do you want to add to Dataverse?

Any open or closed issues related to this feature request?
See discussion in the user group linked above.

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

Read the backward-compatibility section in the installation configuration guide and inspect src/main/java/edu/harvard/iq/dataverse/pidproviders/PidProviderFactoryBean.java around line 147. Document how the "legacy" value is used for both PID provider options, and adjust the :DoiProvider analysis so legacy non-DOI configurations work as intended.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
backend, documentation
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.