Koha/C4/SIP
Kyle M Hall 37a0e88819 Bug 11783: ensure CD field in SIP patron information response is populated
If a patron has a record-level hold that is unavailable, any patron
information request will send back an empty CD field when this field
should have an item barcode in it [RM note: this actually isn't
universally true -- the SIP2 standard is silent as to what is supposed
to go in the CD field. Some SIP2 devices do indeed want an item
barcode, but others are known to just want a display of the title
and author of the request in question.  Providing an option is the
topic of a new enhancement request, however.]

This is due to a minor error in ILS::Patron::_get_outstanding_holds
where GetItemnumbersForBiblio is assumed to return an array but in
reality returns an arrayref.

Test Plan:
1) Create a record level hold for a patron and record
2) Using SIP2, make a patron information request
3) Note the empty CD fields
4) Apply this patch, restart SIP server
5) Repeat step 2
6) Note the CD field now has a barcode

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
I did not test this patch but the following code shows me it is correct:
  use C4::Items;
  use Data::Dumper;
  my $biblionumber = 5035;
  my $itemnumber = (GetItemnumbersForBiblio($biblionumber))[0];
  say Dumper $itemnumber;
  $itemnumber = (GetItemnumbersForBiblio($biblionumber))->[0];
  say Dumper $itemnumber;

displays:

$VAR1 = [
          '23168',
          '23169',
          '23170',
          '23171',
          '23172'
        ];

$VAR1 = '23168';

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2014-02-19 16:55:13 +00:00
..
ILS Bug 11783: ensure CD field in SIP patron information response is populated 2014-02-19 16:55:13 +00:00
Sip Bug 9252 - Add option to send patron's home branch in AF field - QA Followup 2013-09-08 06:08:07 +00:00
t Bug 9845: correct SIP 08checkin.t 2013-09-08 06:03:11 +00:00
acstest.py adding openncip / opensip SIP2 service 2007-11-06 06:32:53 -06:00
example_institution_dump.sh Bug 2968 - SIP ACS_STATUS message (98) misreported config. 2009-02-26 14:57:22 -06:00
ILS.pm Bug 10445: make SIP Server respect maxoutstanding system preference 2013-10-31 18:05:25 +00:00
ILS.pod adding openncip / opensip SIP2 service 2007-11-06 06:32:53 -06:00
interactive_item_dump.pl Expand interactive SIP tests. 2009-06-17 11:42:44 -05:00
interactive_members_dump.pl Modifying Members : Add Mod and GetMember 2009-09-30 11:29:23 +02:00
interactive_patron_check_password.pl Interactive tests for SIP abstraction representation and Members. 2008-06-25 11:45:30 -05:00
interactive_patron_dump.pl Expand interactive SIP tests. 2009-06-17 11:42:44 -05:00
interactive_renew_all_dump.pl Interactive debugging aides for SIP abstraction layer. 2008-06-05 22:43:44 -05:00
Makefile bug 3435: SIP2 - 3M extension for SmartChute checkin. 2009-07-30 11:06:53 -04:00
README bug 2509: fix file permissions 2008-08-21 18:55:02 -05:00
Sip.pm Bug 9531: Make SIP2 message terminator configurable via SIPconfig.xml 2013-09-08 05:44:09 +00:00
SIPServer.pm Bug 8271 teach SIPServer.pm to set its own lib path 2012-07-06 18:28:11 +02:00
test.txt updating ILS::Patron for Koha. 2007-11-06 06:32:55 -06:00
xmlparse.pl Bug 2505 - Add commented use warnings where missing in the C4/ directory 2010-04-21 20:25:32 +12:00

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 syslog() for status and debugging messages.  All
syslog messages are logged using the syslog facility 'local6'.
If you need to change this, because something else on your system
is already using that facililty, just change the definition of
'LOG_SIP' at the top of the file SIPServer.pm

Make sure to update your syslog configuration to capture facility
'local6' and record it.