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

Deleting user must delete all their tags #12816

Closed
PVince81 opened this issue Dec 12, 2014 · 17 comments · Fixed by #25093
Closed

Deleting user must delete all their tags #12816

PVince81 opened this issue Dec 12, 2014 · 17 comments · Fixed by #25093
Assignees
Milestone

Comments

@PVince81
Copy link
Contributor

Steps

  1. Create user
  2. Create/assign tags for this user (for example using the contacts app or favorites feature Add favorites to files app #12360)
  3. Delete user
  4. Check table oc_vcategory

Expected result

User tags are deleted

Actual result

User tags are still there

Versions

master 4b57892

@PVince81
Copy link
Contributor Author

Not sure how to proceed here. Normally I'd register a hook for deleteUser and delete the tags.
I'm not clear about where to put that code as this has to be done in core.

Making the TagManager listen to that hook will not work because it implies having it initialized (currently it's lazy-inited in the server container).
Making the files app register the hook doesn't make sense, as this applies to any tag, not only files tags.
Should I add this in gasp base.php ?
Or is there a better location ? Maybe the user manager ?

@icewind1991 @blizzz @schiesbn any idea where to register the hook ?

@PVince81
Copy link
Contributor Author

Started a PR here: #12821

@PVince81 PVince81 added this to the 8.0-current milestone Dec 15, 2014
@MorrisJobke
Copy link
Contributor

@PVince81 As a first step you could add a command to cleanup the tags ;) There you can invoke the logic and then decide after the release where and how to register the hooks properly ;)

@PVince81
Copy link
Contributor Author

Raised repair step ticket here: #13334
That would be the bare minimum to avoid too much DB pollution in the long run.

@MorrisJobke
Copy link
Contributor

The repair step is now merged

@blizzz
Copy link
Contributor

blizzz commented Jan 15, 2015

On which conditions will it be lazy-initialized?

@PVince81
Copy link
Contributor Author

The repair step is just a workaround for now.
@nickvergessen suggested to have it run as a background job.

@PVince81
Copy link
Contributor Author

Not a showstopper, moving to 8.1.

@nickvergessen suggested to make it a one-shot background job: as soon as a user is deleted, the bkg job for cleanup is created. This way the user deletion isn't delayed. Same could be done for other cleanup tasks.

@PVince81 PVince81 modified the milestones: 8.1-next, 8.0-current Jan 19, 2015
@PVince81
Copy link
Contributor Author

Oh, look what I just found: https://github.com/owncloud/core/blob/master/lib/public/itags.php#L34

It looks like tag deletion whenever a user is deleted was already implemented...

@DeepDiver1975
Copy link
Member

Oh, look what I just found: https://github.com/owncloud/core/blob/master/lib/public/itags.php#L34

It looks like tag deletion whenever a user is deleted was already implemented...

but the location is rater sub optimal .... we need that on IRC discussed hook manager ...

@DeepDiver1975
Copy link
Member

but the location is rater sub optimal .... we need that on IRC discussed hook manager ...

#13477

@DeepDiver1975 DeepDiver1975 modified the milestones: 8.1-current, 8.2-next Mar 3, 2015
@DeepDiver1975 DeepDiver1975 modified the milestones: backlog, 8.2-next Jul 3, 2015
@MorrisJobke
Copy link
Contributor

#13477

This was merged to 8.2 #18316

@PVince81
Copy link
Contributor Author

Would be better to extend CleanTags to delete the tags of deleted users instead.

@nickvergessen
Copy link
Contributor

I can take care of this.

@phpweb
Copy link

phpweb commented Mar 6, 2017

Version 9.1.4

I created one user and I logged in as this newly created user and I uploaded an image and I assigned a tag. Later I logged out and logged in as Admin and I deleted this newly created user. Files and folders were deleted. The tag is but still there.

In terminal I called the cron.php

php -f cron.php

This did not also delete the tag.

@PVince81
Copy link
Contributor Author

PVince81 commented Mar 7, 2017

You are likely talking about system tags which have no owners, the admin must delete these manually.

The original ticket was about private tags which were only used by the contacts app.

@lock
Copy link

lock bot commented Aug 2, 2019

This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@lock lock bot locked as resolved and limited conversation to collaborators Aug 2, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
6 participants