specify / specify7

Specify 7
https://www.specifysoftware.org/products/specify-7/
GNU General Public License v2.0
66 stars 36 forks source link

Improve/change user deletion behavior #2847

Open grantfitzsimmons opened 1 year ago

grantfitzsimmons commented 1 year ago

This change will involve discussion with the team.

Rather than deleting a user, they could be hidden and no longer visible in the UI.

Hiding a user would immediately prevent them from accessing the software (removing access and permissions), while still retaining their app resources and other associated information. This can be beneficial if the user needs to be removed from the software (retirement, contracted help, leaving the institution) but the data associated with them still needs to be preserved.

Some important components that can be lost upon the deletion of a user are:

Hiding a user can also be useful for archiving purposes. Hiding a user rather than deleting them can also be a more secure and reliable way to manage user accounts, as deleting a user completely is more difficult and potentially more vulnerable to data loss.

Due to the long list of cascading deletion behaviors we face a lot of issues when admins attempt to delete users and realize that they have a multitude of associated records preventing deletion, and often deleting those results in an error.


Alternatives:

maxpatiiuk commented 1 year ago

See also https://github.com/specify/specify7/issues/2127