Feature Wiki
Tabs
Refactor Trash/Deletion Process
Page Overview
[Hide]1 Initial Problem
The current repository deletion process is vulnerable agains errors in the object and object type specific deletion methods. Even if the trash is deactivated, objects are moved to the trash and then finally removed from the system. This leads to remaining trash objects, if the process is interrupted, see https://mantis.ilias.de/view.php?id=35943
2 Conceptual Summary
The deletion process should be refactored with the major goals:
- Remove the trash dependency/step from the deletion process (if trash is deactivated).
- Refactor the currently static methods to decent business logic manager classes.
- Decouple tree and object service parts.
- Make the process testable through unit tests.
- If feasible, make the process less vulnerable against errors in the object type specific implementations, e.g. through try/catch.
3 User Interface Modifications
3.1 List of Affected Views
- No views would be changed.
3.2 User Interface Details
No views will be changed.
3.3 New User Interface Concepts
No new user interface concepts.
3.4 Accessibility Implications
No accessibility implications.
4 Technical Information
No technical issues.
5 Privacy
Making the deletion processes more reliable should always improve privacy, since user related data might be affected.
6 Security
No security issues.
7 Contact
- Author of the Request: Killing, Alexander [alex]
- Maintainer: Killing, Alexander [alex]
- Implementation of the feature is done by: {The maintainer must add the name of the implementing developer.}
8 Funding
If you are interest in funding this feature, please add your name and institution to this list.
- Universität Bonn, Kozianka, Carsten [ckozianka]
- Universität Stuttgart, Bogen, Christian [bogen]
- ILIAS.nrw
9 Discussion
JourFixe, ILIAS [jourfixe], 12 JUN 2023: We highly appreciate this suggestion and accept this refactoring for ILIAS 10.
10 Implementation
Refactoring has been implemented, main deletion method is deprecated. 21 unit tests with 81 assertions have been added.
Test Cases
No change of behavior, thus no community test cases.
Unit tests were prepared.
Privacy
Information in privacy.md of component: updated on {date} by {user} | no change required
Approval
Approved by Killing, Alexander [alex], 22 Oct 2024. No changes of behaviour, only refactoring.
Last edited: 23. Oct 2024, 10:30, Tödt, Alexandra [atoedt]