Rucio WebUI Revamp

Description

Rucio is an open-source software framework that provides functionality to scientific collaborations to organize, manage, monitor, and access their distributed data and dataflows across heterogeneous infrastructures. Originally developed to meet the requirements of the high-energy physics experiment ATLAS, Rucio has been continuously enhanced to support diverse scientific communities. Since 2016, Rucio has orchestrated multiple exabytes of data access and data transfers globally.

The Rucio WebUI is a Next.js application utilized by various users within collaborating communities to access, monitor, and manage their distributed data. Key features of the Rucio WebUI include:

Tasks

  1. Upgrade to Next.js 15, React 19, TailwindCSS 4.x:
    • Migrate the existing codebase to Next.js 15 to leverage the latest features and performance improvements.
    • Utilize Server Side Rendering and React Query in Client Side Components to enhance data-fetching capabilities.
    • Migrate tailwind.config.js to new CSS based configuration for TailwindCSS 4.x.
  2. Enhance User Experience for Site Administrators and Operators:
    • Currently the WebUI focuses on List/Get views with the exception of allowing users to Create Rules. Add features to Create/Edit resources for site administrators and operational experts.
    • Investigate legacy views in the previous Flask application and migrate them to the new WebUI.
    • Redesign these views to be more user-friendly, incorporating feedback from site administrators and operators.
  3. Migrate Authentication to NextAuth (Auth.js):
    • Transition existing x509 and user/password authentication mechanisms to NextAuth.
    • Ensure compatibility with various authentication flows, including OAuth and OpenID Connect.
    • Develop an RBAC system to ensure users have access only to functionalities relevant to their roles, enhancing security and usability.
  4. Transition to a Monorepo Structure:
    • Migrate the Rucio WebUI to a monorepo structure to improve code organization and facilitate the sharing of common components across different projects.

Requirements

Mandatory:

Good to Have:

Expected Results

By the end of GSoC 2025, we expect to have a revamped Rucio WebUI that:

  1. Rucio GitHub Repository
  2. Rucio UI Presentation
  3. Rucio Documentation
  4. Rucio System Overview Journal Article (Springer)
  5. Rucio Operational Experience Article (IEEE Computer Society)

Mentors

Additional Information

Corresponding Project

Participating Organizations