IQSS / IQSS/dataverse

Suggestion: Support for Self-Hosted Handle.NET Server as PID Provider

Open
#11,978 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Feature Request: Support for Self-Hosted Handle.NET Server as PID Provider

Overview of the Suggestion

Introduce full support for an institution-run ©Handle.NET server (self-hosted) as a configurable PID provider in Dataverse. This includes configuring base URL, authentication key/privileges, index/authority mapping, and monitoring/logging of PID-creation operations.

What kind of user is the suggestion intended for?

System Administrator / DevOps engineer of a self-hosted Dataverse installation who requires full control of the PID infrastructure and must meet institutional, compliance or network/ security requirements.

What inspired this idea?

  • Earlier versions of Dataverse documented support for independent Handle.NET services.
  • Institutions may wish to run their own PID service (e.g., for data sovereignty, auditability, custom workflows) rather than relying on third-party or shared providers.
  • The current documentation/configuration may not clearly support this scenario in all deployment models (especially containerised/Kubernetes setups).

What existing behavior do you want changed?

  • Provide clear and comprehensive configuration to enable a self-hosted Handle.NET service (including base URL override, full key/auth file configuration, handle prefix/authority settings, and disable fallback to external/global handle registry if desired).
  • Ensure the deployment path (Docker image, Helm values, environment variables) supports injecting these values and verifying usage of the custom service.
  • Improve logging/monitoring so that it is evident which PID provider is used and whether registrations went to the custom service or external.
  • Possibly remove implicit dependencies on external services or “global registry” for Handle where not required.

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

  • A new config section (for example in dataverse.ini or via ENV/Helm values) such as:
    handle.provider = own
    handle.baseUrl = https://handle.my-university.edu/
    handle.keyFile = /etc/dataverse/handle/admpriv.bin
    handle.keyPassphraseEnv = HANDLE_PRIV_PASSPHRASE
    handle.index = 300
    handle.independentService = true
    handle.authorityPrefix = 12345
    
  • On application startup: perform a self-check connecting to the custom Handle server, verify authentication and index access, log result (INFO or WARN).
  • Add an Admin UI page (or CLI query) displaying “Active PID Provider: Handle.NET (custom)” and recent registration/resolution stats.
  • Backwards-compatible fallback: if no custom Handle service configured, continue to use existing default provider model.

Any open or closed issues related to this suggestion?

None found that exactly match “self-hosted Handle.NET server support” as a feature request. PID-provider documentation exists, but this specific scenario is not clearly addressed.

Are you thinking about creating a pull request for this issue?

Not at this time, but I would be willing at a later point.

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 locating the existing PID-provider configuration and documentation, then trace how dataverse.ini, environment variables, Docker images, and Helm values reach the deployment. Define the supported self-hosted Handle.NET configuration, startup verification, fallback behavior, and monitoring or Admin UI scope before implementation; confirm completion with configuration and deployment tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, helm, java, kubernetes
Domain
backend, devops, infrastructure
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.