Contribute to the DSpace Development Fund
The newly established DSpace Development Fund supports the development of new features prioritized by DSpace Governance. For a list of planned features see the fund wiki page.
This proposal aims to improve the usability of the UIs involving Scripts and Processes
The create process page
We've heard from clients that they often don't know what a script does simply by the script name. This is a problem when starting a new process, as well as on the overview page
So we propose two changes here.
First, show the description for a script underneath the script name in the script select. These descriptions already exist, but may need to be improved for some scripts
Second, add a name field for a process.
Initially the UI will automatically update this Name input, with the script name, followed by the parameters
But the user can overwrite that name, and once they do it will no longer change automatically.
The overview page
The goal here was to make it possible to search and filter processes, similar to the way we do for items in discovery. This makes it possible to only show processes with a certain status, or for a certain script or started by a certain user
The page is divided into 3 lists, because it gives you a better overview at a glance of the status, and because the relevant information for a process changes depending on its status. E.g for a running process it's important to know how long it's been running. For a queued process when it was added, and for a completed one, when it completed.
Each process also gets an icon to indicate its status at a glance
Each of these lists will have separate pagination, however the default page size will be large enough (e.g. 10) that in practice you usually won't see more than one page for Running and Queued
We add the ability to remove running and queued processes. We also investigated the ability to reorder queued processes, but this looks like it's quite difficult to do on the backend, so we'll keep that out for now
Running processes will be polled using the method contributed in #2480, when a process completes all 3 lists will be re-retrieved automatically
The processes also get a new "Name" property that will default to the script name + its parameters, but can be changed by the user. That's what's shown in the name field here
Here you see the page filtered using both a user name, and the search query "filter"
Bulk deletion
We also propose to include a script that will delete completed processes older than a given period. We discussed creating a custom endpoint for bulk deletion, but using a script has the advantage that it can be scheduled in a crontab (e.g. you schedule to run the script every day, to delete all processes older than 30 days), while it can still be run as a process from the UI too