Summary: | GDPR: Script to block inactive users (with no successful logins on a defined period) | ||
---|---|---|---|
Product: | Koha | Reporter: | Vitor Fernandes <vfernandes> |
Component: | Authentication | Assignee: | Bugs List <koha-bugs> |
Status: | NEW --- | QA Contact: | Testopia <testopia> |
Severity: | enhancement | ||
Priority: | P2 | CC: | dpavlin, joonas.kylmala, m.de.rooy, magnus |
Version: | unspecified | ||
Hardware: | All | ||
OS: | All | ||
See Also: |
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=21336 https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=21190 |
||
Change sponsored?: | --- | Patch complexity: | --- |
Documentation contact: | Documentation submission: | ||
Text to go in the release notes: | Version(s) released in: | ||
Circulation function: | |||
Bug Depends on: | 21336 | ||
Bug Blocks: |
Description
Vitor Fernandes
2018-08-09 13:40:46 UTC
What do you mean by "inactivate users"? I am no expert on GDPR, but from what I have seen, I would expect the requirement to be that patrons who have not been active for a given period of time should be deleted completely, also from the deletedborrowers table? The last logon time is recorded in Koha if one enables it in preferences (TrackLastPatronActivity). It's also possible to delete patron information based on the last logon time with delete_patrons.pl cronjob. The legislation says that the users should be blocked (debarred) after some months of inactivity. Few months later they can be removed/deleted if they are still inactive. TrackLastPatronActivity should be enough to create a script to block all inactive users. Hi Vitor, for documentation purposes, could you add a link to a source here? The official document can be found in this link: https://dre.pt/application/conteudo/114937034 Adding a see also to bug 21336 (processing unsubscribes). There is a considerable overlap with this report. Bug 21336 adds a Patrons method lock (wrapper for Koha Patron lock). So you only need to add a simple search. Something like: Koha::Patrons->search({ login_attempts => { '>=', pref_value }, lastseen => { '<', some_date }) -> lock; Lock adds the option expire => 1 setting the expire date. Effectively disallowing holds, issues, etc. And the option remove => 1 for removing holds and article requests. So most work done already.. |