[PROPOSAL] Remove Cloud Data from ILIAS
There is still code from Cloud in ILIAS, although the Cloud functionality was removed with ILIAS 8. i have worked out a proposal to remove the remaining code if possible and also to delete the data if it still exists. But I think a few people still need to think about what else we need to remove, for example:
- Entries in the tree?
- Directories, if available?
- what else?
See https://mantis.ilias.de/view.php?id=41575 as well
Hi @chfsx
IMPORTANT: After the Update to ILIAS 10, cloud data will be gone and cannot be migrated anymore to plugins. Therefore, please make sure to perform any Migration, backup beforehand.
I looked through the code, thx a lot for this commit and for cleaning things up and removing all data. I am sure, there are some fragments in e.g. RBAC Tables we missed, however, they will be difficult to get rid of completely and are not sensitive in any way (no user data).
So ill ask the JF kindly to merge this PR.
Thx a lot.
Jour Fixe, 14 OCT 2024: We highly appreciate this suggestion and accept the PR for ILIAS 10. Cloud object related data will no longer be available in ILIAS 10 (but also not needed by the new cloud plugin).
@chfsx Maybe the following queries help to remove as much code of an object type (non-container) as possible.
- Remove objects from the repository
Build a sub-query:
SELECT ref_id
FROM object_data od
INNER JOIN object_reference objr ON objr.obj_id = od.obj_id
WHERE od.type = 'cld';
Use this query as sub-select for the following queries:
DELETE FROM tree WHERE child IN (?);
DELETE FROM object_reference WHERE ref_id IN (?);
TODO: Afterwards, delete object type specific tables ...
- Remove object-type-based data
Determine the object type id and use it for ?:
SELECT obj_id FROM object_data WHERE type = 'typ' AND title = 'cld';
DELETE FROM rbac_ta WHERE typ_id = ?;
- Clean up RBAC
Determine the operation id and use it for ?:
SELECT ops_id FROM rbac_operations WHERE class = 'create' AND operation = 'create_cld';
DELETE FROM rbac_operations WHERE ops_id = ?;
DELETE FROM rbac_templates WHERE ops_id = ?;
DELETE FROM rbac_ta WHERE ops_id = ?;
- Remove object related settings
DELETE FROM settings WHERE keyword = 'obj_dis_creation_cld';
DELETE FROM settings WHERE keyword = 'obj_add_new_pos_cld';
DELETE FROM settings WHERE keyword = 'obj_add_new_pos_grp_cld';
- Finally, delete the type
DELETE FROM object_data WHERE type = 'typ' AND title = 'cld';
I would love to have this before starting of testing. Ill merge this in the current state. Feel free to add a further iteration improving this as michael sketches out.
I looked with @chfsx into the failing check, however, we believe that this is some issue with the checker. The file in question has been removed.