-
Notifications
You must be signed in to change notification settings - Fork 531
Description
Dear Dataverse team,
after testing of Handles I have found an issue, that every new Handle will be stored as globally visible (with a permission "public read"), that you can find it right away on the http://hdl.handle.net/ server, even if the corresponded dataset is not published yet (is only a draft).
Complete description of the issue and proposal for the solution (thanks Jim!) you can find in the user group: https://groups.google.com/g/dataverse-community/c/wzoRh-LAgTc
-
That said, with a quick look in the code, it appears to me that handles are created/reregistered with publicRead – true (e.g. in https://github.com/IQSS/dataverse/blob/ba0183d1eda2260f9eccbda886f60c9b800c90ee/src/main/java/edu/harvard/iq/dataverse/HandlenetServiceBean.java#L116-L122 I think publicRead is the last true) rather than public read depending on whether the dataset is released or not.
-
maybe the code changes should be done only in the method "registerNewHandle", when Handle is created at the first time (when dataset has only a draft status):
dataverse/src/main/java/edu/harvard/iq/dataverse/HandlenetServiceBean.java
Lines 164 to 170 in ba0183d
HandleValue[] val = {new HandleValue(100, "HS_ADMIN".getBytes("UTF8"), Encoder.encodeAdminRecord(admin), HandleValue.TTL_TYPE_RELATIVE, 86400, timestamp, null, true, true, true, false), new HandleValue(1, "URL".getBytes("UTF8"), datasetUrl.getBytes(), HandleValue.TTL_TYPE_RELATIVE, 86400, timestamp, null, true, true, true, false)};
As discussed there in the user group, it is not a real problem and this issue can be ignored. But maybe it would be better to have the same behaviour for Handles as we have it for DOIs - new Handles for the draft dataset (and files inside the datasets) should be not visible for everyone (permission "1100" - "admin read = 1", "admin write = 1", "public read = 0", "public write = 0" [see "permission set" in the Create Handle Batch format]), and only when Dataset is published these Handles have to change the status to globally visible ("public read = 1", permission "1110"). Otherwise we can have a situation (it is only an idea, without proofs), that visible and not yet published Handles can be indexed by the search engines, and if the draft dataset is deleted (together with the related Handles), then the search engines will link to the not existed Handle, what can be controversial to the idea of a PID.
Tested Dataverse version - 5.10.1
Many thanks
Vladimir