Forum .LRN Q&A: deleting a user

Collapse
Posted by Jon Rowell on
I am using dotLRN 1.0 Final and postgres 7.2.1.

I am having a problem deleting users.  I go to the Users area under Site Wide Administration and click on the user I want to delete.  Then I click "delete"next to Member state.  I then get a page back that says the user is deleted.  If I go back to the Users page the user is still there.  If I click on them it says the user can't be found.  How can I get them to completely go away?

It is very possible that the delete link in this situation means something different than what I think it does.  Can someone set me straight if that is the case?

Jon Rowell

Collapse
2: Re: deleting a user (response to 1)
Posted by Deirdre Kane on
Jon,

You are correct that delete means something different than you would assume.  As I understand dotlrn and use it, you can put users into 2 inactive states: deleted and banned.  "Deleted" means that an account is inactive BUT the user can reactivate that account when they try logging in again.  "Banned" means that they cannot get in and will get a very inelegant message when they try (you've been banned).  The third non-state of existence for users is "nuked" BUT you can only use this if they have never logged in and/or made any contributions to the system, so I only use it/can use it successfully with those external folks who have self-registered and whose accounts I don't want to approve for access.  Nuked users go away altogether; banned and deleted users do not.

A couple other things:  1) a banned user who is an admin of a group will still receive "request to join" emails (clearly a bug, at least for us at Sloan); to prevent this, remove the user from their groups and then ban them; 2) on the /admin/users page, there is a User Type called "Deactivated" but there is no display page for this group, so if you want to look up a deactivated user, you have do a quick search for them; 3) if you can't nuke someone who's listed as a pending user on the /admin/users page, try approving them and then nuking them - sometimes that works.

Hope this info is useful to you.

Collapse
3: Re: deleting a user (response to 2)
Posted by Jon Rowell on
Thank you for the clarification.  That makes sense with what I am
seeing on my server.

Is there a way to completely remove a user from the system?  Even if
it's going into postgres and running a sql statement directly to remove
them?

Jon Rowell

Collapse
4: Re: deleting a user (response to 1)
Posted by Deirdre Kane on
Jon,

Someone much more technically adept should really answer this question for you, but in lay terms, I can say that yes, it is possible to do this, but you have to also remove everything that user has touched and then you get into questions of how to deal with forums posts, survey responses, personal files, etc. (if there are any).

Collapse
5: Re: deleting a user (response to 1)
Posted by Dirk Gomez on
Deirdre, I think you are pointing in the right direction:You almost never want to delete a user or an object physically, you just want something to not pop up anymore.

Jon, yeah it should be doable to just nuke a user physically from the system by going to the database. What exactly do you want to achieve? And why can't you just ignore a couple of useless rows in the database?

Collapse
6: Re: deleting a user (response to 1)
Posted by Jade Rubick on
I think what we should do is have a general facility for deleting users that does this:

- we have a dummy user named Deleted User, who has no rights to do anything
- when a user is nuked, all objects owned by that user are transfered to the Deleted User
- then the user can be cleanly nuked.

Just my suggestion. That way, all postings by that user are kept, but we can cleanly remove the user.

There could be a log file for this, so that a record of which objects were transfered to the deleted user could be maintained.

Collapse
7: Re: deleting a user (response to 6)
Posted by Andrew Piskorski on
Jade, this subject comes up from time to time, but I don't remember anyone ever giving a good reason for why you should ever truly nuke a user from the system, rather than simply deleting, banning, disabling, or whatever that user.

Yes, nuking the user can always be done in some way (hack some SQL), either by also nuking all the user's content or by transferring that content to some bogus "nuked user" placeholder. But why? Is there ever a good reason to do so? (There may well be, I just don't remember any...)