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. Rucio was originally developed to meet the requirements of the high-energy physics experiment ATLAS, and is continuously enhanced to support diverse scientific communities. Since 2016 Rucio orchestrated multiple Exabytes of data access and data transfers globally.
Rucio WEBUI, currently, is a Flask(python) application that is used by different types of users in the collaborating communities to access, monitor and manage their distributed data.
This Flask application serves Jinja2 templates with custom JQuery code that queries the Rucio Server and renders the retrieved information. There are some special cases with direct database access occurs on the Flask side.
The first goal of this proposal is to migrate the WEBUI to a pure REST’ful architecture. This would require identifying and implementing new REST endpoints on the Rucio Server and developing a dynamic cross-platform ReactJS application that consumes the REST API directly, instead of having a middle layer in Flask, like we currently have.
The second goal of the proposal is to improve the overall user experience for the different types of users. In additional to migration of existing Rucio UI views to ReactJS app, we’d also like to introduce a new Dashboard
view that would allow users to get a quick overview of relevant activity and provide quick access to frequently used functionalities.
The tasks are as follows:
By the end of GSoC’22 we expect a Rucio WebUI ReactJS application that