[horde] horde-remove-user-data leaves data of user in various tables
Michael J Rubinsky
mrubinsk at horde.org
Fri Jun 20 16:53:32 UTC 2014
Quoting Steffen <skhorde at smail.inf.fh-bonn-rhein-sieg.de>:
> I'm using 2014-06-20's stable PEAR packages of Horde 5.
>
> If I remove the user data with horde-remove-user-data, the user data
> in the rampage tables are left untouched and there are entries
> imp:<user>: in horde_histories still.
>
> a) Would it make sense to call history->removeByParent("imp:<user>")
> in removeUserData() of imp?
We don't remove history data for any other application. I would say we
shouldn't remove it for IMP either. For other apps, it's possible the
data could still be used for synchronization, for IMP even though this
is not the case, I could see it being used as some type of audit trail.
> I think those entries are used by the <user> only and never, if
> <user> shares messages via IMAP or a message has more than one
> recipient, is this correct?
>
> b) Would it make sense to remove rampage entries of objects, when
> they are removed, e.g.:
> rampage_objects contains KOrganizer-1071308750.554 type = event
> horde_histories contains
> 67131 kronolith:<user>:KOrganizer-1071308750.554 delete 1403014360
I thought the content system already had some GC functionality to
check for orphaned rampage_objects, though I could be wrong.
> c) Would it make sense to remove rampage entries of users in
> removeUserData()?
I think this *should* be ok. IIRC, for shared resources we tag the
entry twice, once as the owner and once as the user doing the tagging.
Not sure if this is something we can always assume going forward, but
the way things are now, I don't see this as a problem.
> http://wiki.horde.org/DatabaseCleanup
> contains some code to remove tags and finally users from the rampage
> tables, I guess. Would it make sense to incorporate those steps into
> removeUserData()?
Again, it depends on if we think the data would ever be used from
shared resources. I'm guessing the reason why it hasn't been included
up to now is that we haven't made that decision yet.
> d) horde_activesync_cache, horde_activesync_device_users
> still contains entries with cache_user or device_user = <user>, the
> device referenced here, is in horde_activesync_device and
> horde_activesync_state, too.
>
> That might probably happen because of:
> http://bugs.horde.org/ticket/13277 -> orphan devices not removed
> http://bugs.horde.org/ticket/13278 -> function call at wrong place
Correct.
> e) the same for: horde_dav_collections
> calendars a.s.o. deleted by the script are still listed
>
> Neither deleteInternalCollectionId() nor
> deleteExternalCollectionId() from
> /usr/share/php/Horde/Dav/Storage/Base.php are called anywhere in
> Horde it seems. So cleanup is not implemented, yet?
>
> f) imp_sentmail
> has entries with sentmail_who = <user>
This table is self-cleaning, IIRC.
--
mike
The Horde Project
http://www.horde.org
https://www.facebook.com/hordeproject
https://www.twitter.com/hordeproject
More information about the horde
mailing list