Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GSoC 2025 Qualification Task: Integrate New Single-Call DID Listing in Rucio WebUI #520

Open
maany opened this issue Mar 12, 2025 · 3 comments · May be fixed by #525
Open

GSoC 2025 Qualification Task: Integrate New Single-Call DID Listing in Rucio WebUI #520

maany opened this issue Mar 12, 2025 · 3 comments · May be fixed by #525
Labels
good first issue Good for newcomers

Comments

@maany
Copy link
Member

maany commented Mar 12, 2025

Description

The Rucio Server now provides a new endpoint, GET /dids/{scope}/dids/list, which returns a stream of NDJSON objects representing fully populated DIDs. Currently, the ListDID feature in the Rucio WebUI leverages a post processing pipeline that requires multiple calls (one initial stream followed by individual GET DID calls) to gather complete details.

Objectives

Create a New Gateway Endpoint

Implement a new Gateway endpoint in the WebUI that calls the Rucio Server’s new endpoint (GET /dids/{scope}/dids/list).

Update the ListDID Use Case

Convert the existing ListDID use case from a BaseSingleEndpointPostProcessingPipelineStreamingUseCase to a BaseSingleEndpointStreamingUseCase so that it makes a single call to the server.

Ensure Frontend Integration

Update the WebUI component that displays DID details to utilize the new single-call approach.

Testing and Validation

Add or update tests to verify that

  • The new Gateway endpoint correctly interfaces with the backend.
  • The updated ListDID use case processes and displays data as expected.
  • The overall performance improves by reducing the number of API calls.

Evaluation Criteria

  1. A new Gateway endpoint in the WebUI calls the new Rucio Server endpoint.
  2. The ListDID use case is refactored to use BaseSingleEndpointStreamingUseCase.
  3. The WebUI correctly displays fully populated DID data using the new single call.
  4. Appropriate tests are in place, and all tests pass.
  5. The code adheres to the project's contribution guidelines.
  6. The issue is referenced and assigned to the corresponding Pull Request.

Useful Resources

https://rucio.github.io/documentation/developer/webui/webui_frontend_vscode_dev_env

@maany maany added the good first issue Good for newcomers label Mar 12, 2025
@maany maany changed the title GSoC 2025 Qualification Task GSoC 2025 Qualification Task: Integrate New Single-Call DID Listing in Rucio WebUI Mar 12, 2025
@ahmedbilal008
Copy link

Hi, I'd like to work on this issue as a GSoC 2025 candidate. Could you please assign this task to me? Thanks!

@maany
Copy link
Member Author

maany commented Mar 13, 2025

Hi, I'd like to work on this issue as a GSoC 2025 candidate. Could you please assign this task to me? Thanks!

Hi @ahmedbilal008, please reach out to Martin and I over email and I can share a detailed set of instructions with you :) The emails are listed in the Mentor section of the GSoC Project Description

@Sahi1l-Kumar
Copy link

Sahi1l-Kumar commented Mar 15, 2025

@maany Instead of using this new endpoint GET /dids/{scope}/dids/list , we can also use GET /dids/{scope}/dids/search endpoint which is currently being used and just make the name parameter optional in the frontend and backend like shown in image.

Image

This approach improves application performance by initially retrieving only the names of the DIDs in a single request. Users can then fetch detailed information for a specific DID on demand by clicking on it, reducing unnecessary data transfer and improving responsiveness. What are your thoughts?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers
Projects
None yet
3 participants