From c08d17578790d401fa3a6d81833efcee7a00ca32 Mon Sep 17 00:00:00 2001 From: Jane Sandberg Date: Sun, 17 Sep 2017 19:09:06 -0700 Subject: [PATCH] Docs: adding info about purging patron data Signed-off-by: Jane Sandberg --- docs/admin/aged_circs.adoc | 26 ++++++++++++++++++++ docs/admin/purge_holds.adoc | 16 +++++++++++++ docs/admin/purge_user_activity.adoc | 37 +++++++++++++++++++++++++++++ docs/root_command_line_admin.adoc | 9 +++++++ 4 files changed, 88 insertions(+) create mode 100644 docs/admin/aged_circs.adoc create mode 100644 docs/admin/purge_holds.adoc create mode 100644 docs/admin/purge_user_activity.adoc diff --git a/docs/admin/aged_circs.adoc b/docs/admin/aged_circs.adoc new file mode 100644 index 0000000000..81e5644f61 --- /dev/null +++ b/docs/admin/aged_circs.adoc @@ -0,0 +1,26 @@ +Aging circulations +------------------ + +Every time you attempt to `DELETE` a row from `action.circ`, it +copies over the appropriate data to `action.aged_circulation`, +then deletes the `action.circ` row. + +.Use case +**** + +Aging circulations helps to protect patron privacy and save disk space. + +**** + +[TIP] +========== +Just aging circulations is not sufficient to protect patron circulation +history. Fully protecting these data would also involve a thoughtful +approach to logs and backups of these data. +========== + +[TIP] +========== +You can create a cron job to automatically age circulations. +========== + diff --git a/docs/admin/purge_holds.adoc b/docs/admin/purge_holds.adoc new file mode 100644 index 0000000000..399b68f4cf --- /dev/null +++ b/docs/admin/purge_holds.adoc @@ -0,0 +1,16 @@ +Purging holds +------------- + +Similar to purging circulations one may wish to purge old (filled or canceled) hold information. This feature adds a database function and +settings for doing so. + +Purged holds are moved to the _action.aged_hold_request_ table with patron identifying information scrubbed, much like circulations are moved +to _action.aged_circulation_. + +The settings allow for a default retention age as well as distinct retention ages for holds filled, holds canceled, and holds canceled by +specific cancel causes. The most specific one wins unless a patron is retaining their hold history. In the latter case the patron's holds +are retained either way. + +Note that the function still needs to be called, which could be set up as a cron job or done more manually, say after statistics collection. +You can use the _purge_holds.srfsh_ script to purge holds from cron. + diff --git a/docs/admin/purge_user_activity.adoc b/docs/admin/purge_user_activity.adoc new file mode 100644 index 0000000000..18710dd35f --- /dev/null +++ b/docs/admin/purge_user_activity.adoc @@ -0,0 +1,37 @@ +Purge User Activity +------------------- + +User activity types are now set to transient by default for new +Evergreen installs. This means only the most recent activity entry per +user per activity type is retained in the database. + +.Use case +**** + +Setting more user activity types collects less patron data, which helps +protect patron privacy. Additionally, the _actor.usr_activity_ table +gets really big really fast if all event types are non-transient. + +**** + +This change does not affect existing activity types, which were set to +non-transient by default. To make an activity type transient, modify the +'Transient' field of the desired type in the staff client under Admin -> +Server Administration -> User Activity Types. + +Setting an activity type to transient means data for a given user will +be cleaned up automatically if and when the user performs the activity +in question. However, administrators can also force an activity +cleanup via SQL. This is useful for ensuring that all old activity +data is deleted and for controlling when the cleanup occurs, which +may be useful on very large actor.usr_activity tables. + +To force clean all activity types: + +[source,sql] +------------------------------------------------------------ +SELECT actor.purge_usr_activity_by_type(etype.id) + FROM config.usr_activity_type etype; +------------------------------------------------------------ + +NOTE: This could take hours to run on a very large actor.usr_activity table. diff --git a/docs/root_command_line_admin.adoc b/docs/root_command_line_admin.adoc index 5b0de3457d..a19ca19f09 100644 --- a/docs/root_command_line_admin.adoc +++ b/docs/root_command_line_admin.adoc @@ -97,6 +97,15 @@ include::admin/physical_char_wizard_db.adoc[] include::admin/staff_from_command_line.adoc[] +Patron Data +=========== + +include::admin/aged_circs.adoc[] + +include::admin/purge_holds.adoc[] + +include::admin/purge_user_activity.adoc[] + UX Administration ================= -- 2.43.2