dataverse icon indicating copy to clipboard operation
dataverse copied to clipboard

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

Open 22tb opened this issue 1 month ago • 1 comments

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.

22tb avatar Nov 14 '25 14:11 22tb

Related:

  • #4106
  • #10234
  • dataverse.spi.pidproviders.directory - https://guides.dataverse.org/en/6.8/installation/config.html#dataverse-spi-pidproviders-directory

pdurbin avatar Nov 14 '25 16:11 pdurbin