implementing handle support

Skip to first unread message


Apr 19, 2016, 10:08:44 AM4/19/16
to Dataverse Users Community
Forgive me if this message is a bit chaotic with a lot of questions. I'm afraid that is the way how I chew on new challenges and not an indication for the quality of my work.

Ben gave me a Dutch document with our requirements for handle support, among others about moving and deleting datasets. Perhaps it is better to initially narrow down the scope and least omit deleting dataverses. Which other organisations are relying on handles? Are other organisations relying on other identification systems, perhaps even multiple systems?

I get a bit lost in all the issues and other communications related to handles, I found an FRD that does not contain much more than github issue references. By the way, issue 888 confuses redmine numbers 2214 and 1843 for github issues ??? respective 886. There is also issue 2437, its title is about registration functionality but much of the discussion is about problems with resolving existing handles.

How can I get access to the ticket mentioned in I'm afraid by playing around with my vagrant machine I created a "hello world" ticket, sorry for my ignorance about the virtual machine linking to the real world.

irc is also new to me, where can I sign up?

From what I've read an heard I understand:
  • v3 supported handles
  • v4 no longer registers handles, uses DOI as primary ID and an shows old handles as other id (!topic/dataverse-community/FXefYcoj61o)
  • batch jobs to hunt down unregistered DOI's and/or handles are not yet implemented (issue 888, 937)
  • services to register DOI's or handles can be down, the system should retry in such a case until success (issue 1100)
  • there has also been some migration issue preventing old handles from resolving (2437)
Ben told me about IISH relying on handles. They seem to go with a parallel development path for their own customisations. We prefer not to follow that example but rather contribute with a general solution. Just to familiarise myself with the code I cherry-picked the IISH solution to assign handles onto the develop branch and polished it a bit, some observations:
  • "Use constants" from the style Guide is not obeyed (please consider enums for constants where apropriate)
  • The doiProvider, seems to be abused for handle provider, or needs a more generic name
  • Please don't check for the provider instance but type of provider
  • I added a new Interface as a suggestion
  • IISH is using a SOAP interface, at DANS our handle service is still at v7, to not rock the migration boat too much at once, it might be safer to stik to the TCP protocol
My cherry-picked branch is not intended as a solution but now that I created it I'm wondering how to test anything. I saw my local git repo is mounted on the vagrant :) but how to get the changed code running?
  • I suppose I need to execute scripts/deploy/
  • should I shut down anything in advance?
  • how/where do I configure the system properties required by the new PidServiceBean? I found them in .rst files, but I suppose these just are used to generate documentation and have otherwise nothing to do with the actual configuration.
  • how/where is CommandContext configured?
Jo Pol
Software Developer
+31 6 20 10 55 18

Data Archiving and Networked Services (DANS)
DANS promotes sustained access to digital research data. See for more information and contact details. DANS is an institute of KNAW and NWO.

DANS | Anna van Saksenlaan 51 | 2593 HW The Hague | P.O. Box 93067 | 2509 AB The Hague | +31 70 349 44 50 | |

Eleni Castro

Apr 19, 2016, 1:20:33 PM4/19/16
to Dataverse Users Community
Hi Jo,

Thanks for your email and for looking at contributing towards a general solution. I am going to bring this issue up to our team at our weekly meeting tomorrow and will propose that Handles are including as a topic for an upcoming Community Call so that you and anyone else interested can receive guidance from development on this issue.

I should have more information to share by Thursday.



Eleni Castro
Research Coordinator, Data Curation and Outreach
IQSS, Harvard University

Philip Durbin

Apr 20, 2016, 9:18:34 AM4/20/16
Hi Jo! I'm always excited to hear about developers taking an interest in the code and I'd love to help you get unblocked. Because you raised so many (valid!) points in your email I'm finding it easier to copy and paste your entire message into a Google Doc and then leave comments on various sections. I'm not quite done (and some I don't have answers for) but you can see my progress here (where follow up comments are enabled and encouraged!):

Fundamentally, I think the next thing that needs to happen is for a Business Requirements Document (BRD) to be created. This will help centralize all the various notes and issues into a single coherent document.


You received this message because you are subscribed to the Google Groups "Dataverse Users Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
To post to this group, send email to
To view this discussion on the web visit

For more options, visit


Philip Durbin

Apr 22, 2016, 9:47:46 AM4/22/16
Jo and I have been discussing his original post at and one of the most interesting things I've learned is the Handle support has already been implemented in a fork of Dataverse at that appears to be running in production at . I say this because a dataset published today has a handle as its persistent id:

We recently blogged about how we incorporated code from Peking University to add support for creating DOIs using the DataCite API at and I wonder if the code from IISH will be helpful in implementing Handle support. Here seems to be the main commit but it's called "custom" and I'm not sure if the "pidwebservice.endpoint" is a custom IISH thing:

For our part, we'd want any developer interested in working on Handle support to be aware of the HandlenetServiceBean at . We need all the code to play nicely together, of course. explains what *is* supported with regard to Handles in Dataverse 4: "v4.3 of Dataverse supports updating, resolving, and publishing datasets with existing handles created in a previous version but does not yet support creating new handles."

Anyway, all very interesting... I'd say that people should stay tuned for the "Minting Handles For Datasets BRD" which I can see has been started. I'd link to it now but I don't want to steal anyone's thunder. :)

The BRD is starting to list stakeholders so if any Dataverse installations would like to indicate their interest in Handle support, it wouldn't hurt to reply to this thread. Judging from there might be a community call about Handles in a few weeks.

Reply all
Reply to author
0 new messages