Bug 19787 - Adding system preferences to configure the screen messages for SIP checkout flags in Self-Checkout
Summary: Adding system preferences to configure the screen messages for SIP checkout f...
Status: In Discussion
Alias: None
Product: Koha
Classification: Unclassified
Component: SIP2 (show other bugs)
Version: unspecified
Hardware: All All
: P5 - low enhancement (vote)
Assignee: Aleisha Amohia
QA Contact: Kyle M Hall
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-12-10 23:15 UTC by Aleisha Amohia
Modified: 2021-05-07 16:13 UTC (History)
8 users (show)

See Also:
Change sponsored?: Sponsored
Patch complexity: Medium patch
Documentation contact:
Documentation submission:
Text to go in the release notes:
This enhancement adds several new system preferences so that the library can define custom SIP messages to be displayed when a patron is using self-checkout: RenewItemSIPMessage, ReservedSIPMessage, ReservedWaitingSIPMessage, CheckedToAnotherSIPMessage, DebtSIPMessage, and HighHoldsSIPMessage.
Version(s) released in:


Attachments
Bug 19787: Add sysprefs to hide SIP screen messages in self checkout (16.30 KB, patch)
2017-12-14 22:49 UTC, Aleisha Amohia
Details | Diff | Splinter Review
Bug 19787: (followup) add missing comma (1.78 KB, patch)
2019-06-12 18:40 UTC, Mark Tompsett
Details | Diff | Splinter Review
Bug 19787: Add sysprefs to hide SIP screen messages in self checkout (17.93 KB, patch)
2020-09-14 22:54 UTC, Aleisha Amohia
Details | Diff | Splinter Review
Bug 19787: Add sysprefs to hide SIP screen messages in self checkout (16.87 KB, patch)
2021-03-22 18:49 UTC, Martin Renvoize
Details | Diff | Splinter Review

Note You need to log in before you can comment on or make changes to this bug.
Description Aleisha Amohia 2017-12-10 23:15:09 UTC
These screen messages are known to confuse users, especially when they are just informative and don't require action. I'll be creating a new system preferences tab for SIP in Administration and adding a bunch of new system preferences to enable whether the screen messages for each flag are displayed or not.
Comment 1 Katrin Fischer 2017-12-10 23:18:10 UTC
Hi Aleisha, can you give an example? I seem to remember that Kyle added some mechanism to change the texts that SIP sends via the config files. Is this similar?
Comment 2 Katrin Fischer 2017-12-10 23:20:03 UTC
I found what I was thinking about: Bug 12571 - Add ability to customize SIP2 screen messages
Comment 3 Aleisha Amohia 2017-12-11 00:07:25 UTC
Hi Katrin,

It's not quite the same. We've had the request from a library to build this development, so they can choose to hide the screen messages entirely. 

For example, when checking out an item that they already have checked out, the current behaviour is to renew the checkout and show this message: Item already checked out to you: renewing item. We've been asked to provide a syspref so that message doesn't show at all, no behaviour needs to be changed.
Comment 4 Aleisha Amohia 2017-12-11 22:46:56 UTC
Hi Katrin

Upon discussion with Chris, we've decided to do something different with this and a bit more similar to Bug 12571. Instead of having sysprefs that turn the messages off and on, we'll have sysprefs with text areas so librarians can put their own messages in, leave the default ones, or have them completely empty. This will be good for translation purposes and libraries can use messages in their own languages and means they don't need access to config files etc.

Will attach patch when ready
Comment 5 Katrin Fischer 2017-12-11 22:52:39 UTC
Hi Aleisha, that sounds pretty nice!
Comment 6 Aleisha Amohia 2017-12-14 22:49:27 UTC
Created attachment 69809 [details] [review]
Bug 19787: Add sysprefs to hide SIP screen messages in self checkout

You'll need two patrons set up for testing the functionality of the
patch. I have only created messages for the check out transaction as
this was the main request. The remaining transactions can be dealt with
in follow-ups.

Test plan:
Apply patch
Update database
Create your SIP librarian user
Restart SIP server
Go to Administration -> Preferences -> SIP
Confirm that all system preferences for SIP messages are filled with
default messages

RenewItemSIPMessage
Check out an item to Patron1 using SIP and confirm the 'Item already
checked out to you: renewing item.' message shows
Change the RenewItemSIPMessage syspref to another message, or leave it
empty
Check out the item again and confirm the message has changed
appropriately, but the item is still renewed as expected.

CheckedToAnotherSIPMessage
Check out an item to Patron2 in the intranet
Check the same item out to Patron1 using SIP and confirm the 'Item
already checked out to another person.' message shows
Change the CheckedToAnotherSIPMessage syspref to another message, or
leave it empty
Check out the item again and confirm the message has changed
appropriately. The item should not be checked out Patron1, it should
stay checked out to Patron2, as expected.

ReservedSIPMessage
Reserve an item to Patron2 in the intranet
Check out the same item to Patron1 using SIP and confirm the 'Item is
reserved for another patron upon return.' message shows
Change the ReservedSIPMessage syspref to another message, or leave it
empty
Check out the item again and confirm the message has changed
appropriately. The item should not be checked out to Patron1, it should
stay reserved for Patron2, as expected.

DebtSIPMessage
Create a manual invoice for Patron1 to add some fines to their account
Check out an item to Patron1 using SIP and confirm the 'Outstanding
fines, block issue.' message shows
Change the DebtSIPMessage syspref to another message, or leave it empty
Check out the item again and confirm the message has changed
appropriately. The item should not be checked out to Patron1 and their
fines should not change.

ReservedWaitingSIPMessage
I've made this syspref but unfortunately couldn't work out where to put
it as I couldn't trigger the message. I've put it where it makes sense
to go (where all the other sysprefs are) but at this point, no message
shows when I do the following:
Reserve an item to Patron1 in the intranet
Check out the item to Patron1 using SIP - I can't see a message here.
Corresponding syspref is ReservedWaitingSIPMessage.

HighHoldsSIPMessage
Enable the decreaseLoanHighHolds syspref and any other info you need for
testing. (I had 5 days for items with more than 1 hold on the record).
Reserve an item to Patron1 on the intranet.
Reserve the same item to Patron2 on the intranet.
Check out the item to Patron1 using SIP and confirm the 'Loan period
reduced for high-demand item' message shows
Change the HighHoldsSIPMessage syspref to another message, or leave it
empty
Redo both reserves (ensure in the correct priority order) and check out
the item again. Confirm the message has changed appropriately. The item
should be checked out and the hold for that patron removed, as expected.

Sponsored-by: Whanganui District Council
Comment 7 Mark Tompsett 2019-06-12 18:40:51 UTC
Created attachment 90537 [details] [review]
Bug 19787: (followup) add missing comma
Comment 8 Aleisha Amohia 2020-09-14 22:54:58 UTC
Created attachment 110077 [details] [review]
Bug 19787: Add sysprefs to hide SIP screen messages in self checkout

You'll need two patrons set up for testing the functionality of the
patch. I have only created messages for the check out transaction as
this was the main request. The remaining transactions can be dealt with
in follow-ups.

Test plan:
Apply patch
Update database
Create your SIP librarian user
Restart SIP server
Go to Administration -> Preferences -> SIP
Confirm that all system preferences for SIP messages are filled with
default messages

RenewItemSIPMessage
Check out an item to Patron1 using SIP and confirm the 'Item already
checked out to you: renewing item.' message shows
Change the RenewItemSIPMessage syspref to another message, or leave it
empty
Check out the item again and confirm the message has changed
appropriately, but the item is still renewed as expected.

CheckedToAnotherSIPMessage
Check out an item to Patron2 in the intranet
Check the same item out to Patron1 using SIP and confirm the 'Item
already checked out to another person.' message shows
Change the CheckedToAnotherSIPMessage syspref to another message, or
leave it empty
Check out the item again and confirm the message has changed
appropriately. The item should not be checked out Patron1, it should
stay checked out to Patron2, as expected.

ReservedSIPMessage
Reserve an item to Patron2 in the intranet
Check out the same item to Patron1 using SIP and confirm the 'Item is
reserved for another patron upon return.' message shows
Change the ReservedSIPMessage syspref to another message, or leave it
empty
Check out the item again and confirm the message has changed
appropriately. The item should not be checked out to Patron1, it should
stay reserved for Patron2, as expected.

DebtSIPMessage
Create a manual invoice for Patron1 to add some fines to their account
Check out an item to Patron1 using SIP and confirm the 'Outstanding
fines, block issue.' message shows
Change the DebtSIPMessage syspref to another message, or leave it empty
Check out the item again and confirm the message has changed
appropriately. The item should not be checked out to Patron1 and their
fines should not change.

ReservedWaitingSIPMessage
I've made this syspref but unfortunately couldn't work out where to put
it as I couldn't trigger the message. I've put it where it makes sense
to go (where all the other sysprefs are) but at this point, no message
shows when I do the following:
Reserve an item to Patron1 in the intranet
Check out the item to Patron1 using SIP - I can't see a message here.
Corresponding syspref is ReservedWaitingSIPMessage.

HighHoldsSIPMessage
Enable the decreaseLoanHighHolds syspref and any other info you need for
testing. (I had 5 days for items with more than 1 hold on the record).
Reserve an item to Patron1 on the intranet.
Reserve the same item to Patron2 on the intranet.
Check out the item to Patron1 using SIP and confirm the 'Loan period
reduced for high-demand item' message shows
Change the HighHoldsSIPMessage syspref to another message, or leave it
empty
Redo both reserves (ensure in the correct priority order) and check out
the item again. Confirm the message has changed appropriately. The item
should be checked out and the hold for that patron removed, as expected.

Sponsored-by: Whanganui District Council
Comment 9 Joonas Kylmälä 2021-03-22 10:23:57 UTC
Patch doesn't apply.
Comment 10 Martin Renvoize 2021-03-22 18:47:59 UTC
I rebased this to test.. and have a couple of thoughts.

1. You've missed a few cases.. perhaps they were introduced since you wrote the patch.. or perhaps you weren't intending to catch all strings?
2. I'm not seeing any special handling for the existing functionality added with bug 12571... I'm not even sure how you'd go about it.

The first point is minor and easily resolve, but I'm a little more worried about the second.

As far as I understand, the find and replace based overrides in bug 12571 work at the SIPServer login level.. this means you can override the messages differently for different terminals.. however with your patch, it would be very easy for staff to inadvertently break these per-login value's if they changed away from the defaults at the syspref level.

CCing a few people to ascertain whether this is actually a problem or not... If it's not something that needs defining at a login level then I'd be inclined to replace that functionality entirely with this patchset.
Comment 11 Martin Renvoize 2021-03-22 18:49:05 UTC
Created attachment 118623 [details] [review]
Bug 19787: Add sysprefs to hide SIP screen messages in self checkout

You'll need two patrons set up for testing the functionality of the
patch. I have only created messages for the check out transaction as
this was the main request. The remaining transactions can be dealt with
in follow-ups.

Test plan:
Apply patch
Update database
Create your SIP librarian user
Restart SIP server
Go to Administration -> Preferences -> SIP
Confirm that all system preferences for SIP messages are filled with
default messages

RenewItemSIPMessage
Check out an item to Patron1 using SIP and confirm the 'Item already
checked out to you: renewing item.' message shows
Change the RenewItemSIPMessage syspref to another message, or leave it
empty
Check out the item again and confirm the message has changed
appropriately, but the item is still renewed as expected.

CheckedToAnotherSIPMessage
Check out an item to Patron2 in the intranet
Check the same item out to Patron1 using SIP and confirm the 'Item
already checked out to another person.' message shows
Change the CheckedToAnotherSIPMessage syspref to another message, or
leave it empty
Check out the item again and confirm the message has changed
appropriately. The item should not be checked out Patron1, it should
stay checked out to Patron2, as expected.

ReservedSIPMessage
Reserve an item to Patron2 in the intranet
Check out the same item to Patron1 using SIP and confirm the 'Item is
reserved for another patron upon return.' message shows
Change the ReservedSIPMessage syspref to another message, or leave it
empty
Check out the item again and confirm the message has changed
appropriately. The item should not be checked out to Patron1, it should
stay reserved for Patron2, as expected.

DebtSIPMessage
Create a manual invoice for Patron1 to add some fines to their account
Check out an item to Patron1 using SIP and confirm the 'Outstanding
fines, block issue.' message shows
Change the DebtSIPMessage syspref to another message, or leave it empty
Check out the item again and confirm the message has changed
appropriately. The item should not be checked out to Patron1 and their
fines should not change.

ReservedWaitingSIPMessage
I've made this syspref but unfortunately couldn't work out where to put
it as I couldn't trigger the message. I've put it where it makes sense
to go (where all the other sysprefs are) but at this point, no message
shows when I do the following:
Reserve an item to Patron1 in the intranet
Check out the item to Patron1 using SIP - I can't see a message here.
Corresponding syspref is ReservedWaitingSIPMessage.

HighHoldsSIPMessage
Enable the decreaseLoanHighHolds syspref and any other info you need for
testing. (I had 5 days for items with more than 1 hold on the record).
Reserve an item to Patron1 on the intranet.
Reserve the same item to Patron2 on the intranet.
Check out the item to Patron1 using SIP and confirm the 'Loan period
reduced for high-demand item' message shows
Change the HighHoldsSIPMessage syspref to another message, or leave it
empty
Redo both reserves (ensure in the correct priority order) and check out
the item again. Confirm the message has changed appropriately. The item
should be checked out and the hold for that patron removed, as expected.

Sponsored-by: Whanganui District Council
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Comment 12 Martin Renvoize 2021-03-22 18:51:15 UTC
Signed off.. as it works as described.. but please bear in mind the caveats above at QA time.
Comment 13 Kyle M Hall 2021-04-05 15:54:37 UTC
I would *much* rather see SIP config options to control this behavior rather then sysprefs. At this point it time, sysprefs for SIP behavior are pretty much nonexistant where conf file settings are common. The primary driver is that you may want to hide AFs for one service, but need them displayed for a different service ( self-check vs overdrive for example ).