Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add option so that deleted users don't get deleted but are archived #108

Open
cash opened this issue Feb 5, 2021 · 4 comments
Open

Add option so that deleted users don't get deleted but are archived #108

cash opened this issue Feb 5, 2021 · 4 comments

Comments

@cash
Copy link
Member

cash commented Feb 5, 2021

Currently, if a user is deleted you not only loose the assignments, but the completed status is not updated on the Batch/Task so annotators won't see it.

The DeletedUser will function like the AnonymousUser.

@cash
Copy link
Member Author

cash commented Mar 16, 2021

Maybe convert each user into a deleted user

@charman
Copy link
Member

charman commented Apr 6, 2021

Some existing Turk analysis workflows assume that the "WorkerId" field from the CSV files (which, for Turkle CSV files, is the value of the database field User.id) is a stable identifier that can be used to uniquely identify a worker across Batches. Keeping the WorkerId field stable across CSV-files/Batches allows the contributions of a particular Worker to be modeled for QA and calibration purposes.

Because the stable WorkerId assumption is important, I don't think we should assign Task Assignments from deleted users to a single DeletedUser.

I believe we need a mechanism to deidentify or decommission user accounts without deleting the User object (and associated TaskAssignment objects). This could be implemented by adding a new Django Admin action:

https://docs.djangoproject.com/en/2.2/ref/contrib/admin/actions/

that overwrites identifying information associated with the User object.

The ability to delete User objects (and associated TaskAssignments) should be restricted if not completely disabled.

@cash
Copy link
Member Author

cash commented Apr 6, 2021

Agreed. I would prefer to keep the username and first and last names and remove their password hash and email address. The reason for this is being able to trace an annotation back to a user in case you later find out an issue with an annotator.

@cash cash changed the title Add a DeletedUser and assign completed task assignments to it when a user is deleted Add option so that deleted users don't get deleted but are archived Apr 10, 2022
@cash
Copy link
Member Author

cash commented Apr 10, 2022

Current idea is that deleting doesn't remove the user, but does the following:

  • makes them inactive
  • removes username/email - so that the same person can have a new account later
  • sets some field to mark them as archived so that they don't appear in the list of users

Would have to change the UserManager to remove archived users.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants