[horde] Database cleanup horde_histories

Michael J Rubinsky mrubinsk at horde.org
Sun May 5 16:20:56 UTC 2019

Quoting Philipp Faeustlin <philipp.faeustlin at uni-hohenheim.de>:

> Am 02.05.19 um 15:28 schrieb Michael J Rubinsky:
>> Quoting Jens Wahnes <wahnes at uni-koeln.de>:
>>> Michael J Rubinsky wrote:
>>>> The history data doesn't really have anything to do with the  
>>>> *display* of entries. If the entry in question still exists in  
>>>> the application's backend storage, the entry will display fine.  
>>>> In general, the history data is used for synchronization of  
>>>> things like ActiveSync clients on a mobile device, or *DAV  
>>>> clients. If you don't care about synchronization it is generally  
>>>> safe to delete this information. Even if you do care about  
>>>> synchronization, it would generally be safe to delete REALLY old  
>>>> entries - basically as long as any clients you care about have  
>>>> synchronized since the history event date, you should be fine.
>>> Thank you for explaining.
>>> I think the trouble really comes in when there are in fact entries  
>>> of the kind I mentioned previously (e.g. monthly meeting entered  
>>> into a group calendar by someone who has long left the workgroup).  
>>> When the history records are incomplete, and there are members  
>>> joining and leaving the workgroup all the time, there will be  
>>> issues with syncing these recurring events (e.g. to mobile devices  
>>> with reminders supposed to be popping up there).
>> I'm curious what kind of issues with syncing you see in this  
>> situation. With regards to syncing, the history data is ONLY used  
>> to detect if an entry has changed between two sync points. The  
>> actual data for the event entry is stored in Kronolith, outside of  
>> the history system. As long as the user has enough permissions to  
>> synchronize the shared calendar, there should be no issue. When a  
>> new user is given permissions to a calendar to sync, the complete  
>> calendar is synchronized at that time, and the "sync point" of that  
>> state is saved in association with that sync client. This is  
>> greatly simplified, but basically during sync the history system is  
>> consulted to see if any entries have been added for that calendar  
>> since the last sync-point the client knows about and the current  
>> sync-point.  Anything outside of this window of time is irrelevant  
>> for this user. So, basically, you can delete any history entries  
>> that are older than the oldest sync-point a sync client is  
>> associated with.
> Is this correct?
> There is no technical reason to keep horde_histories entries of  
> deleted users?
> Example:
> I delete a user (testuser) by cli:
> horde-remove-user-data testuser
> Then I can clean up horde_histories for this user with no technical impacts.

This is correct, if by "no technical impacts" you mean that there are  
no other users with synchronization clients that are not up to date  
that have access to entries changed by this user.

> SQL: Delete from horde_histories where history_who='testuser';
> Will this SQL clear all the history entries of testuser?

This will clear all history entries that represent changes made by  
this user. This doesn't necessarily mean that the user owns the  
resource that was changed, it just means that at the point in time the  
history entry was made, that user had rights to create/modify/delete it.

>>>> Note that history data might have auditing value in your  
>>>> organization, so that is also something to keep in mind as well.
>>> We're pretty much in the opposite situation. We must not keep  
>>> records of personal data according to GDPR statutes, at least when  
>>> these individuals are no longer affiliated with our organization.  
>>> It's hard to meet these different goals at the same time, but  
>>> still we strive to do our best -- any help how to improve this  
>>> appreciated.
>>> Jens
>>> -- 
>>> Horde mailing list
>>> Frequently Asked Questions: http://horde.org/faq/
>>> To unsubscribe, mail: horde-unsubscribe at lists.horde.org
> -- 
> Philipp Fäustlin

The Horde Project
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-keys
Size: 9272 bytes
Desc: PGP Public Key
URL: <https://lists.horde.org/archives/horde/attachments/20190505/5714ae68/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 821 bytes
Desc: PGP Digital Signature
URL: <https://lists.horde.org/archives/horde/attachments/20190505/5714ae68/attachment-0001.bin>

More information about the horde mailing list