Bug 451525 - Maintenance tool dialog should not keep potentially destructive operations checked by default.
Summary: Maintenance tool dialog should not keep potentially destructive operations ch...
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Maintenance-Engine (other bugs)
Version First Reported In: 7.4.0
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-03-15 12:15 UTC by Jonathan Kamens
Modified: 2022-03-15 20:04 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed/Implemented In: 8.0.0
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jonathan Kamens 2022-03-15 12:15:20 UTC
It doesn't makes sense to me that when you check boxes in the maintenance tool, the next time you open the maintenance tool the same boxes remain checked. This is dangerous and potentially destructive behavior. I say this because, as noted in https://bugs.kde.org/show_bug.cgi?id=451524, there are maintenance operations which are frankly destructive, and those shouldn't happen by default.

I suppose that some of the maintenance tasks are sufficiently low risk that there's no harm in accidentally rerunning them, but it seems to me that for consistency all the boxes should be unchecked every time the dialog is opened and the user should explicitly select which maintenance tasks need to be performed.

If this isn't going to happen, then at the very least some other user interface strategy should be devised to make sure the user knows what they're running before it runs, even if they don't scroll to the bottom of the list of maintenance tasks to see that one off-screen was checked when they opened the dialog.
Comment 1 Maik Qualmann 2022-03-15 12:34:33 UTC
Well, I think many users would like to have the last settings. I would rather add a "Reset" button.

Maik
Comment 2 Jonathan Kamens 2022-03-15 12:38:40 UTC
(In reply to Maik Qualmann from comment #1)
> Well, I think many users would like to have the last settings. I would
> rather add a "Reset" button.

Regardless of what "many users would like," a program should not perform destructive operations that the user did not ask for and did not know were going to be performed. If a user uses the maintenance tool infrequently—which should be the case, since it shouldn't be necessary to perform maintenance frequently when things are working properly—they simply are not going to remember what was checked the last time they ran it long ago. That's the common use case.

I can open the maintenance tool dialog, check a box, and click the run button without ever seeing that there's another checkbox checked below the bottom of the viewing area in the dialog that I didn't scroll to and didn't know was checked. This is dangerous UX.

A reset button does not fix this because, again, the user does not know they need to click the reset button if they do not realize that there's a checkbox they can't see that's checked.
Comment 3 Maik Qualmann 2022-03-15 20:04:47 UTC
Git commit b8c32958f3370e52ba18352f520733d320d661cf by Maik Qualmann.
Committed on 15/03/2022 at 20:03.
Pushed by mqualmann into branch 'master'.

add option to restore active tools and settings
FIXED-IN: 8.0.0

M  +1    -1    NEWS
M  +112  -46   core/utilities/maintenance/maintenancedlg.cpp
M  +1    -0    core/utilities/maintenance/maintenancedlg.h

https://invent.kde.org/graphics/digikam/commit/b8c32958f3370e52ba18352f520733d320d661cf