LP#1853363: add SIP2 option patron_status_always_permit_loans user/jboyer/lp1853363_signoff
authorGalen Charlton <gmc@equinoxinitiative.org>
Fri, 22 Nov 2019 23:05:10 +0000 (18:05 -0500)
committerJason Boyer <JBoyer@eoli.info>
Mon, 9 Dec 2019 13:42:25 +0000 (08:42 -0500)
commit84e5c00d366fb52baf780b0cc6b51e5a070f0c6d
tree0e77c35cde445b8e338e7e88efeba9772199e057
parent87a962268ee33ea9bbb55af7b2ed680ff1be0f30
LP#1853363: add SIP2 option patron_status_always_permit_loans

This patch adds a new oils_sip.xml login attribute called
patron_status_always_permit_loans that specifies whether
the charge privileges denied, renewal privilges denied, and
card reported lost flags in the patron status block should be
coerced to permissive values regardless of the actual state
of the patron record. Turning this on works around an issue
where a 2019-12 change by the Hoopla SIP2 client takes those flag
fields into account, but some libraries may not wish those
to block a patron's access to online resources that use
SIP2 to authenticate. This setting can also be set as
an implementation_config option; note that if it is set to
'true' or 'false' as a login attribute, the login attribute will
override whatever is set in the implementation_config.

To test
-------
[1] Set up a test system that has SIPServer running. Also set
    up a patron that either has a standing penalty blocking CIRC
    or renewals, expired privileges, and/or a lost primary card.
[2] Perform a SIP2 patron information request (message 63) for
    the patron created in step 1. Note that the charge, renewal,
    and card lost flag fields in the SIP2 response should be set
    to indicated that privileges are denied.
[3] Apply the patch and enable patron_status_always_permit_loans
    either as a login attribute or a implementation_config option;
    oils_sip.xml.example in this patch contains examples.
[4] Repeat step 2; this time, the three flag fields should have
    permissive values (i.e., they will be set to the space character)
    regardless of the state of the patron record.

Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Jason Boyer <JBoyer@eoli.info>
Open-ILS/examples/oils_sip.xml.example
Open-ILS/src/perlmods/lib/OpenILS/SIP/Patron.pm
docs/RELEASE_NOTES_NEXT/SIP/Add_patron_status_always_permit_loans_SIP_option.adoc [new file with mode: 0644]