Skip to content

Adding filtering and pagination to collectionList APIs#12436

Open
stevenwinship wants to merge 2 commits into
developfrom
12423-collection-list-search-and-pagination
Open

Adding filtering and pagination to collectionList APIs#12436
stevenwinship wants to merge 2 commits into
developfrom
12423-collection-list-search-and-pagination

Conversation

@stevenwinship

Copy link
Copy Markdown
Contributor

What this PR does / why we need it: Result lists for collections can be quite large so a way to filter and use pagination is needed.

Which issue(s) this PR closes:#12423

Special notes for your reviewer:

Suggestions on how to test this:

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

Is there a release notes update needed for this change?: included

Additional documentation:

@stevenwinship stevenwinship self-assigned this Jun 4, 2026
@github-actions github-actions Bot added FY26 Sprint 24 FY26 Sprint 24 (2026-05-20 - 2026-06-03) FY26 Sprint 25 FY26 Sprint 25 (2026-06-03 - 2026-06-17) GREI Re-arch Issues related to the GREI Dataverse rearchitecture Original size: 30 Size: 30 A percentage of a sprint. 21 hours. (formerly size:33) SPA These changes are required for the Dataverse SPA labels Jun 4, 2026
@stevenwinship stevenwinship moved this to In Progress 💻 in IQSS Dataverse Project Jun 4, 2026
@coveralls

coveralls commented Jun 4, 2026

Copy link
Copy Markdown

Coverage Status

Coverage is 25.02%12423-collection-list-search-and-pagination into develop. No base build found for develop.

@github-actions

This comment has been minimized.

@github-actions

github-actions Bot commented Jun 4, 2026

Copy link
Copy Markdown

Test Results

403 tests  ±0   388 ✅ ±0   33m 29s ⏱️ +4s
 55 suites ±0    15 💤 ±0 
 55 files   ±0     0 ❌ ±0 

Results for commit 08ef2bb. ± Comparison against base commit 0df5da7.

♻️ This comment has been updated with latest results.

@stevenwinship stevenwinship removed their assignment Jun 4, 2026
@stevenwinship stevenwinship moved this from In Progress 💻 to Ready for Review ⏩ in IQSS Dataverse Project Jun 4, 2026
@stevenwinship stevenwinship modified the milestone: 6.12 Jun 4, 2026
@stevenwinship stevenwinship force-pushed the 12423-collection-list-search-and-pagination branch from 5a0bf16 to c73b373 Compare June 8, 2026 13:32
@github-actions

This comment has been minimized.

@stevenwinship stevenwinship force-pushed the 12423-collection-list-search-and-pagination branch from c73b373 to eca44a4 Compare June 9, 2026 20:07
@github-actions

This comment has been minimized.

@stevenwinship stevenwinship force-pushed the 12423-collection-list-search-and-pagination branch from eca44a4 to 6c33308 Compare June 15, 2026 18:36
@github-actions

This comment has been minimized.

@stevenwinship stevenwinship force-pushed the 12423-collection-list-search-and-pagination branch from 6c33308 to 98baff1 Compare June 15, 2026 21:19
@github-actions

This comment has been minimized.

@cmbz cmbz added the FY26 Sprint 26 FY26 Sprint 26 (2026-06-17 - 2026-07-01) label Jun 18, 2026
@stevenwinship stevenwinship force-pushed the 12423-collection-list-search-and-pagination branch from 98baff1 to e166e23 Compare June 22, 2026 17:42
@github-actions

This comment has been minimized.

@cmbz cmbz added the FY27 Sprint 1 FY27 Sprint 1 (2026-07-01 - 2026-07-15) label Jul 1, 2026
@stevenwinship stevenwinship force-pushed the 12423-collection-list-search-and-pagination branch from e166e23 to e1391a1 Compare July 2, 2026 13:14
@github-actions

This comment has been minimized.

@qqmyers qqmyers left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've looked through the code and it looks like it addresses the issue.

However, it seems to be a one off approach - no other paginated apis use 'nextOffset' and 'previousOffset', this api asks for offset (in # of items, not pages) and pageSize, while /api/datasets/{id}/versions/{versionId}/files uses offset and limit, this api returns a 'count' while the /files api and three others return 'totalCount', written by an ok() method while this one sends a 'count' (in all cases, but I think this is the number returned when paging, not all that exist) along with a duplicate 'pageSize' when paging is used and these are all done in the jsonArray(LIst, Pager) call (rather than somewhere reusable).

I don't know how much to push into any give PR, but, since pagination is a common theme in the API changes for the modern interface, can we standardize an approach (has this been discussed already?)? Are offsets in terms of pages or items? Do API calls return prev and next? Are the items or page numbers? Etc. Can the apis use the same keys? In the same json structure?

I've marked this as requesting changes, but I think we made need some discussion to decide what (if anything) should actually be changed before this goes forward.

@qqmyers qqmyers moved this from Ready for Review ⏩ to In Review 🔎 in IQSS Dataverse Project Jul 2, 2026
@stevenwinship stevenwinship force-pushed the 12423-collection-list-search-and-pagination branch from e1391a1 to 08ef2bb Compare July 2, 2026 20:48
@github-actions

github-actions Bot commented Jul 2, 2026

Copy link
Copy Markdown

📦 Pushed preview images as

ghcr.io/gdcc/dataverse:12423-collection-list-search-and-pagination
ghcr.io/gdcc/configbaker:12423-collection-list-search-and-pagination

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

FY26 Sprint 24 FY26 Sprint 24 (2026-05-20 - 2026-06-03) FY26 Sprint 25 FY26 Sprint 25 (2026-06-03 - 2026-06-17) FY26 Sprint 26 FY26 Sprint 26 (2026-06-17 - 2026-07-01) FY27 Sprint 1 FY27 Sprint 1 (2026-07-01 - 2026-07-15) GREI Re-arch Issues related to the GREI Dataverse rearchitecture Original size: 30 Size: 30 A percentage of a sprint. 21 hours. (formerly size:33) SPA These changes are required for the Dataverse SPA

Projects

Status: In Review 🔎

Development

Successfully merging this pull request may close these issues.

Update collectionList API: add pagination and filtering

4 participants