Skip to content

Conversation

@sekmiller
Copy link
Contributor

@sekmiller sekmiller commented Aug 13, 2025

What this PR does / why we need it: Adds a new api endpoint which may be used to retrieve a list of Dataverse Collections to which a given Dataset or Dataverse Collection may be linked. The end point also takes in a search term which currently must be the start of the collections' names.

Which issue(s) this PR closes:

Special notes for your reviewer:
One piece of new functionality is adding a search feature to the query on permissions - so that you can pass a search term along with a user and permission to further filter the collections returned.
The also fixes an unrelated test for retrieving a Dataverse Collection's Templates. In an existing database if there are templates created in Root then those templates will be inherited by any collection that is a child of Root that also shares Root's metadata blocks.Since the test asserts that only the newly created template should be available to the collection the inherited template causes a failure. I updated the test so that the child dataverse will have different metadata blocks than Root so that the only template available is the one created in the child as assumed by the test.
Also changed the name of findDvoByIdAndFeaturedItemTypeOrDie since I used it here and it really doesn't depend on the dvObject being a featured item.
Also added a new json object builder for dataverses which only returns the id, alias and name of the dataverse, this was needed to return the response suggested in the ticket.

Suggestions on how to test this: Try the new api endpoints and verify that the expected collections are returned.
-The end point also takes in an optional search term which is tested against the collections' names.

  • Try it with a blank search term and a large database - near prod if possible to test for performance.
    -The user calling this API must have Link Dataset or Link Dataverse permission on the Dataverse Collections returned and given the object type.
    -there is also a queryParam for "alreadyLinked" which returns a list of dataverses to which the queried dvObject (either dataset or dataverse) is linked, to be used for unlinking. (Only those collections that the requester has linking permissions will be returned.
  • also for performance - test with a superuser who will have perms on all collections.
    -If the Collection has already been linked to the given Dataset or Collection, it will not be returned.

Does this PR introduce a user interface change? If mockups are available, please link/include them here:
no

Is there a release notes update needed for this change?:
-included
Additional documentation:
docs added under native api

@github-actions github-actions bot added Original size: 30 Size: 30 A percentage of a sprint. 21 hours. (formerly size:33) SPA These changes are required for the Dataverse SPA SPA.Q3.2025.4 Link Dataset Type: Feature a feature request labels Aug 13, 2025
@coveralls
Copy link

coveralls commented Aug 13, 2025

Coverage Status

coverage: 23.517% (-0.02%) from 23.538%
when pulling 0982ff2 on 11710-find-dataverses-for-linking
into 56bf628 on develop.

@sekmiller sekmiller moved this to Ready for Review ⏩ in IQSS Dataverse Project Aug 13, 2025
@sekmiller sekmiller added this to the 6.8 milestone Aug 13, 2025
@sekmiller sekmiller moved this from Reviewed but behind develop ⬅️ to Ready for QA ⏩ in IQSS Dataverse Project Sep 26, 2025
@github-actions

This comment has been minimized.

@ofahimIQSS ofahimIQSS self-assigned this Sep 29, 2025
@ofahimIQSS ofahimIQSS moved this from Ready for QA ⏩ to QA ✅ in IQSS Dataverse Project Sep 29, 2025
@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@cmbz cmbz added the FY26 Sprint 8 FY26 Sprint 8 (2025-10-08 - 2025-10-22) label Oct 8, 2025
@github-actions

This comment has been minimized.

1 similar comment
@github-actions
Copy link

github-actions bot commented Oct 9, 2025

📦 Pushed preview images as

ghcr.io/gdcc/dataverse:11710-find-dataverses-for-linking
ghcr.io/gdcc/configbaker:11710-find-dataverses-for-linking

🚢 See on GHCR. Use by referencing with full name as printed above, mind the registry name.

@ofahimIQSS
Copy link
Contributor

11710server.log
looks good, merging

@ofahimIQSS ofahimIQSS merged commit 6c17c9d into develop Oct 14, 2025
21 checks passed
@github-project-automation github-project-automation bot moved this from QA ✅ to Merged 🚀 in IQSS Dataverse Project Oct 14, 2025
@ofahimIQSS ofahimIQSS deleted the 11710-find-dataverses-for-linking branch October 14, 2025 16:54
@ofahimIQSS ofahimIQSS removed their assignment Oct 14, 2025
@scolapasta scolapasta moved this from Merged 🚀 to Done 🧹 in IQSS Dataverse Project Oct 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

FY26 Sprint 4 FY26 Sprint 4 (2025-08-13 - 2025-08-27) FY26 Sprint 5 FY26 Sprint 5 (2025-08-27 - 2025-09-10) FY26 Sprint 6 FY26 Sprint 6 (2025-09-10 - 2025-09-24) FY26 Sprint 7 FY26 Sprint 7 (2025-09-24 - 2025-10-08) FY26 Sprint 8 FY26 Sprint 8 (2025-10-08 - 2025-10-22) Original size: 30 Size: 10 A percentage of a sprint. 7 hours. SPA.Q3.2025.4 Link Dataset SPA These changes are required for the Dataverse SPA Type: Feature a feature request

Projects

Status: Done 🧹

Development

Successfully merging this pull request may close these issues.

Feature Request: API Get/Find Dataverses For Dataset and Dataverse Linking

8 participants