Skip to content

Improve/change user deletion behavior #2847

@grantfitzsimmons

Description

@grantfitzsimmons

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:

  • Schema mappings for exports
  • Queries associated with reports and labels
  • Reports and labels associated with queries
  • Form definitions and other important app resources

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:

  • Add the ability to reassign their resources to the current user or another specified user (useful for transferring reports, labels, app resources, etc.)
  • Improve deletion behavior by better communicating the impact of the deletion (show a preview of the report being lost, show all associated records with an explanation of their purpose)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions