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>
|
||
|---|---|---|
| .. | ||
| ILS | ||
| Sip | ||
| t | ||
| ILS.pm | ||
| ILS.pod | ||
| Logger.pm | ||
| Makefile | ||
| README | ||
| SIPServer.pm | ||
| Sip.pm | ||
| Trapper.pm | ||
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.