Koha-clms/C4/SIP
Joonas Kylmälä c502ba9aa6 Bug 26871: Flush SIP2 cache on every SIP request
SIP connections tend to be long lived, weeks if not months, in the
libraries I see. Basically the connection per SIP machine is initiated
once when the SIP machine boots and then never closed until
maintanance needs to be done. Therefore we need to reset the Koha's L1
caches on every SIP request to get the latest sysprefs and configs
from the memcached cache that is shared between all the Koha
programs (intranet, opac, sip, cronjobs) and is guaranteed to be up to
date.

To test:
 0. Have kohadevbox
 1. Enable IssueLog
 2. In one terminal run the command "perl C4/SIP/SIPServer.pm /etc/koha/sites/kohadev/SIPconfig.xml"
 3. Checkin and return a book using telnet:

    $ telnet localhost 6001
    9300CNterm1|COterm1|CPCPL|
    11YN20211010    10565320211010    105653AOCPL|AA1|AB3999900000001|ACterm1|BON|BIN|
    09N20211010    10564420211010    105644APCPL|AOCPL|AB3999900000001|ACterm1|BIN|

 4. Keep the telnet connection open and go to
    http://localhost:8081/cgi-bin/koha/tools/viewlog.pl and check that
    the *checkout* entry is in the circulation rules 5.
 6. Disable IssueLog
 7. Move back to the telnet prompt and check out and return a book again

    11YN20211010    10565320211010    105653AOCPL|AA1|AB3999900000001|ACterm1|BON|BIN|
    09N20211010    10564420211010    105644APCPL|AOCPL|AB3999900000001|ACterm1|BIN|

 8. Go check out the circulation logs and notice a new entry was added
    when it shouldn't have according to the IssueLog syspref!
 9. Apply patch and repeat steps to notice that the syspref is now
    followed correctly.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
(cherry picked from commit 8fa126ee40)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2021-11-10 14:39:05 -10:00
..
ILS Bug 27908: Add support for circulation status 1 ( other ) for damaged items 2021-08-02 11:38:41 -10:00
Sip Bug 27908: Add support for circulation status 1 ( other ) for damaged items 2021-08-02 11:38:41 -10:00
t Bug 25898: Prohibit indirect object notation 2020-10-15 12:56:30 +02:00
ILS.pm Bug 28464: Remove useless check that gives the incorrect error message 2021-10-06 10:16:04 -10:00
ILS.pod Bug 13506 [QA Follouwp] - Fix POD 2015-02-20 11:54:41 -03:00
Logger.pm Bug 26673: Remove shebangs from Perl modules 2020-10-26 00:14:42 +01:00
Makefile bug 3435: SIP2 - 3M extension for SmartChute checkin. 2009-07-30 11:06:53 -04:00
README Bug 15253: Rename syslog() to siplog() 2020-05-12 11:46:46 +01:00
SIPServer.pm Bug 26871: Flush SIP2 cache on every SIP request 2021-11-10 14:39:05 -10:00
Sip.pm Bug 15253: Convert all tabs into 4 spaces in affected files 2020-05-12 11:47:01 +01:00
Trapper.pm Bug 15253: Add POD to C4/SIP/Logger.pm and C4/SIP/Trapper.pm 2020-05-12 11:47:04 +01:00
acstest.py
…
example_institution_dump.sh Bug 7904 Change SIP modules to use standard LIB path 2015-02-05 14:44:54 -03:00
interactive_item_dump.pl Bug 17196: Move marcxml out of the biblioitems table 2017-01-13 13:49:26 +00:00
interactive_patron_check_password.pl Bug 7904 Change SIP modules to use standard LIB path 2015-02-05 14:44:54 -03:00
interactive_patron_dump.pl Bug 7904 Change SIP modules to use standard LIB path 2015-02-05 14:44:54 -03:00
interactive_renew_all_dump.pl Bug 7904 Change SIP modules to use standard LIB path 2015-02-05 14:44:54 -03:00
test.txt
…
xmlparse.pl Bug 25898: Prohibit indirect object notation 2020-10-15 12:56:30 +02:00

README

README for Open NSIP 3M-SIP Server

DEPENDENCIES

SIPServer is written entirely in Perl, but it require these CPAN
perl modules to run:

     Net::Server - The SIP server is a Net::Server::Prefork server
     XML::LibXML
     XML::Parser
     XML::Simple - for parsing the config file
     UNIVERSAL::require - for loading the correct ILS interface module
     Clone - for running the test cases

LOGGING

SIPServer uses Koha::Logger for status and debugging messages.