Multiple PID providers and "legacy" provider since v6.2: extend documentation, change code for :DoiProvider
Nobody has claimed this yet.
- 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:
-
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.
-
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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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