Design feature to "archive" a project tree
(Total: 0.00 h)
Feature: user can put a project tree in "archive" state which makes it read-only to everyone
- New boolean attribute of group "archived"
- Users with can_manage access can set "archived"
- Once set, "archived" cannot be cleared by users, only admins
- "archived" state applies to everything owned by the project, recursively.
- Archived objects are read-only for users and admins(?) regardless of permissions (with limited exceptions for the archived_at field itself described above)
- Cannot create/move objects in an archived project (owner_uuid cannot be an archived project)
- Cannot move objects out of an archived project (owner_uuid cannot be changed)
- Cannot update any other field on archived objects, e.g. name, manifest_text
- Cannot delete objects owned by archived project or modify trash_at, delete_at
- Cannot archive a project that contains trashed objects (return error)
- Cannot trash a project that contains archived objects (returns error)
- Users with can_manage permission can still adjust sharing (create and remove permission links on archived objects)
Q: would "Locked" be better than "Archived"