Feature Wiki

Information about planned and released features

Tabs

Refactor Trash/Deletion Process

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

8 Funding

If you are interest in funding this feature, please add your name and institution to this list.

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]