I had a different question, but deleted it. I see the issues related to dc:type and dc:date fields and noticed that dc:rights was discussed. So is it in the plan to eventually include dc:rights in the oai_dc feed? We are trying to figure out a way to designate records as not open access, or restricted just to asu affiliates so that the feed to Primo can recognize it and also mark them that way. I think Primo requires the oai_dc format. Is there a way to add the dc:rights field to the oai_dc feed manually in the dataverse code?
Hi @Deirdre Kirmis,
We have changed the oai dc:rights output in e-cienciaDatos. You can check it here: https://edatos.consorciomadrono.es/oai?verb=ListRecords&metadataPrefix=oai_dc
Our implementation is based in Dataverse v6.5, you can find the differences with the IQSS implementation here: https://github.com/IQSS/dataverse/compare/v6.5...Consorcio-Madrono:dataverse:v6.5Madrono
dc:rights changes are in the file DublinCoreExportUtil.java. Searching "rigths" in this file you can find our changes.
The information about closed / open access is copied from the oai_datacite oai output, but in this case is automatic, not manual.
This is awesome .. thank you for sharing! That is exactly what we need. We may want to do a similar thing for now, although I'm hoping eventually it will be added back as part of the default feed.
Do you have any records in the repo that are marked as "closedAccess" or "restrictedAccess"? Just want to see how the feed looks.
We only have some datasets with embargoed files that are shown as "restrictedAccess". Here is an example: https://edatos.consorciomadrono.es/oai?verb=GetRecord&metadataPrefix=oai_dc&identifier=doi:10.21950/3XF0IT
Perfect! Thank you!
Over at https://github.com/IQSS/dataverse/issues/5920#issuecomment-2339072490 I mentioned some unfinished dc:rights work that needs to be done.
@Juan please feel free to make a pull request. :big_smile:
Basically, I started working on dc:rights but backed out my changes when it got tricky.
@Philip Durbin βοΈ , sorry for the delay in the response, It was a little dark yesterday: https://edition.cnn.com/2025/04/28/europe/spain-portugal-power-outages-intl/index.html .
I am not sure that our approach is the best one for the general case. I think that for the dc metadata, it could be better to either:
What do you think? I can create a pull request with our current approach or any of the alternatives above.
@Julian Gautier and @Philipp Conzett are active on #5920. I'd like to hear what they think. Thanks for being willing to create a pull request! :heart:
Hey all. @Philip Durbin βοΈ thanks for the ping. I'd say I was active on #5920 but haven't been in a while and can't refocus on it for now. Too many other projects :sweat_smile:
real
hi there .. jumping back into this conversation as we still haven't figured out a solution to the issue of marking records in the default Dataverse OAI feed as "NOT open access" or "restricted" .. is there a plan to include the dc:rights field back into that feed ever, or does anyone have a solution for sending the feed and using one of the fields to designate a "type" (ie: open access, affiliates-only) for datasets, other than hard-coding the oai output? We could try sending the feed in a different format but Primo is really set up for dc .. it would require a lot of mapping to make a different one work ..
@Deirdre Kirmis I probably should have said this over a year ago when you started this thread but could you please create an issue describing your use case? It makes sense to me!
Yes will do .. I probably should have done that before! :slight_smile: I was just curious if anyone else had figured out a cool way to accomplish this. I do see that Juan (above) has managed to hard-code the dc:rights field .. so we may try that for now.
Sure, sure. If you get something working, please feel free to make a pull request!
Hi @Deirdre Kirmis ,
We have some new changes in the DublinCoreExportUtilClass and now the dc:rights is not harcoded.
The dc:rights metadata is taken from the dataset version reusing code from the DataCite metadata:
https://edatos.consorciomadrono.es/oai?verb=ListRecords&metadataPrefix=oai_dc
You can see the code here in the lines 260-291: https://github.com/Consorcio-Madrono/dataverse/blob/v6.11Madrono/src/main/java/edu/harvard/iq/dataverse/export/dublincore/DublinCoreExportUtil.java
Oh hmm this is interesting .. so what gets written to dc:type is based on whether there are restricted access files and/or if request access to the files is enabled?
thanks for the code change idea .. i was able to do a similar thing .. modify the OAI export to read the Kind of Data field (where we currently have the label to show NOT open access) and if that is there, add that label to the dc:rights OAI feed field and export that .. I will have to rebuild the war file every time we upgrade, but i'm also going to put a ticket in asking for something like this as a permanent solution
You are right, we use the dc:rights to indicate the open/embargoed/closed access to the dataset, I didn't see that you wanted to use the dc:type. I also think that having a permanent solution in the Dataverse code is a good idea.
oops i wrote dc:type and meant dc:rights .. dc:type is defaulted to "Dataset" .. we are using dc:rights since it isn't in the feed otherwise .. i will submit a ticket requesting .. perhaps that dc:rights field could just display all of the licenses applied to the dataset and one of those could be a custom label? idk?
Generally, I like it when the issue doesn't specify the solution.
I mean, it doesn't hurt to suggest some options, but I'm usually more interested in the pain point.
got it .. I don't know the solution anyway
We used to have this whole pattern.
"As a [type of user], I [description of problem]".
"As a contributor, I'd like the dev environment to allow uploading files (LocalStack instead of AWS with credentials)" -- https://github.com/IQSS/dataverse-frontend/issues/1056
Maybe a bad example because I'm suggesting a solution there. :sweat_smile:
Anyway, I do love it when you all open issues and they are expressed in your own words, unfiltered by us.
https://github.com/IQSS/dataverse/issues/12641
@Deirdre Kirmis looks great. I added a link back to this topic in Zulip.
oai_dc is the only format you care about for this, right? If so, can you please add that to the title?
For our use case this is specifically about the oai_dc feed. Primo harvests our Dataverse records with oai_dc, and that is the standard format our current Primo configuration is built around. Using a different metadata format would require us to create and maintain a custom mapping in Primo and could have other implications for the harvest, so changing formats isn't a good solution. There may be similar use cases involving other export formats, but for this ticket I think it makes sense to focus the request to oai_dc.
Cool. Often a smaller, more focused issue is better, anyway. Thanks for updating the title!
@Juan do you want to go ahead and create a pull request that closes #12641? Can you make the solution cover both your use case and Deirdre's?
Well, our solutions are different .. although we are both using the dc:rights field .. we are using the value in one field (Data Type) to populate the dc:rights. They are using file restrictions or access control state to populate it. I don't think we could use their solution as some of our datasets are metadata only.
Is there a way to just populate the dc:rights field with the selected license name, and perhaps add a "Custom Label" option?
IDK .. there I go speculating solutions again! :smile:
Ha, no the ideas are good!
Sorry I guess I was just hoping for a single fix. Sounds complicated.
@Deirdre Kirmis ooo, did you see Jim's idea of creating a custom exporter?
yes I looked at that briefly before our code modification .. that would be a great solution but I was unsure of how it worked .. i think we can use that if an external exporter registered as oai_dc can replace the built-in OAI-DC exporter used for OAI-PMH harvesting .. I put a question on there about it .. and i will look into that more as well .. that could be our solution .. thanks!
You're right. You have to replace the entire exporter.
Or create a new one, I guess. If you can point Primo at it.
okay i'll look into that .. i'm honestly not sure how much work it would be on the Primo side but I'll find out .. would be better than modifying the war file.
Sorry for the late responseβI was on vacation and then catching up on all the information here and on GitHub.
As you mentioned, finding a comprehensive global solution is tricky.
A potential option that can cover @Deirdre Kirmis needs is using the COAR vocabularies (https://vocabularies.coar-repositories.org/access_rights/printable/). However, this doesn't address complex cases like those indicated on GitHub (such as files with different access levels or distinguishing between closed and restricted access). Another challenge is that DC doesn't handle identifiers particularly well.
Creating a new exporter could be also complex. I am sorry but I think that I can't be useful in searching a global solution.
No worries .. thank you for the suggestion. I think the best option for us at this point is just adding a little custom code and rebuilding the war file after upgrading. That is working for now, and it is not as complicated as I thought it would be. For now that is our plan.
Last updated: Oct 02 2026 at 18:51 UTC