Koha/etc/SIPconfig.xml
Kyle M Hall ee838b1716 Bug 24165: Add ability to send any item field in a library chosen SIP field
Some SIP devices need access to item fields that are not sent as item information in the checkin, checkout and item information responses.
It makes sense to allow these fields to be sent in an arbitrary and configurable way, rather than hard code in each special case.

Test Plan:
1) Apply this patch
2) Edit your SIP2 config file, add the following within the login stanza:
   <item_field field="XX" code="<item field 1>" />
   <item_field field="XZ" code="<item fied 2>" />
   where <item field 1> and <item field 2> are item table columns of your choosing
3) Using the sip cli emulator, run checkout, checkin and item information
   messages using that item.
4) Note the values you set for the item columns are sent in the
   corrosponding fields!

Signed-off-by: Jill Kleven <jill.kleven@pueblolibrary.org>
Fixed merge conflict with number of tests (was 5, changed to 7 which is correct)
Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
2020-07-20 17:45:31 +02:00

120 lines
4.7 KiB
XML

<acsconfig xmlns="http://openncip.org/acs-config/1.0/">
<!-- above address gets nothing, it's just a namespace -->
<error-detect enabled="true" />
<!--
Set Net::Server::PreFork runtime parameters
syslog_ident will identify SIP2 Koha server entries in syslog
For OpenSolaris, add: syslog_logsock=stream
-->
<server-params
min_servers='1'
min_spare_servers='0'
log_file='Sys::Syslog'
syslog_ident='koha_sip'
syslog_facility='local6'
/>
<listeners>
<!-- vestigial HTTP, never implemented: just use the OPAC!
<service
port="0:8080/tcp"
transport="http"
protocol="NCIP/1.0" />
-->
<service
port="8023/tcp"
transport="telnet"
protocol="SIP/2.00"
timeout="60" />
<service
port="127.0.0.1:6001/tcp"
transport="RAW"
protocol="SIP/2.00"
client_timeout="600"
timeout="60" />
<!--- client_timeout times out active connections which have not received
input from the client. Many persistent connections will send a status request
every 5-7 mins so setting this to less than that will add instability to the connection
if explicitly set to zero, no timeout is applied to the connection.
NB the parameter timeout applies to the login process only and should be set to a lower value
to time out failed connections
-->
</listeners>
<accounts>
<login id="staff" password="staff" delimiter="|" error-detect="enabled" institution="CPL" encoding="ascii" checked_in_ok="1" payment_type_writeoff="06" disallow_overpayment="1" />
<login id="koha" password="koha" delimiter="|" error-detect="enabled" institution="kohalibrary" encoding="utf8" />
<login id="koha2" password="koha" institution="kohalibrary2" terminator="CR" />
<login id="lpl-sc" password="1234" institution="LPL" />
<login id="lpl-sc-beacock" password="xyzzy"
delimiter="|" error-detect="enabled" institution="LPL"
send_patron_home_library_in_af="1"
cv_send_00_on_success="1"
ct_always_send="1"
cv_triggers_alert="1"
allow_empty_passwords="1"
ae_field_template="[% patron.surname %][% IF patron.firstname %], [% patron.firstname %][% END %]"
da_field_template="[% patron.surname %][% IF patron.firstname %], [% patron.firstname %][% END %]"
av_field_template="[% accountline.description %] [% accountline.amountoutstanding | format('%.2f') %]"
hide_fields="BD,BE,BF,PB"
register_id=''>
<screen_msg_regex find="Greetings from Koha." replace="Welcome to your library!" />
<screen_msg_regex find="Invalid patron barcode." replace="Barcode not found, are you sure this is your library card?" />
<patron_attribute field="XY" code="CODE" />
<item_field field="ZY" code="permanent_location" />
<syspref_overrides>
<AllFinesNeedOverride>0</AllFinesNeedOverride>
</syspref_overrides>
<custom_patron_field field="DE" template="[% patron.dateexpiry %]" />
</login>
</accounts>
<!--
Institution tags are for enabled branches. There needs to be one
institution stanza for each institution named in the accounts above.
The implementation attribute is actually used to find the code to run,
in our case "ILS".
-->
<institutions>
<institution id="MAIN" implementation="ILS" parms="">
<policy checkin="true" renewal="true" checkout="true"
status_update="false" offline="false"
timeout="100"
retries="5" />
</institution>
<institution id="CPL" implementation="ILS" parms="">
<policy checkin="true" renewal="true" checkout="true"
status_update="false" offline="false"
timeout="25"
retries="5" />
</institution>
<institution id="kohalibrary" implementation="ILS" parms="">
<policy checkin="true" renewal="false" checkout="true"
status_update="false" offline="false"
timeout="100"
retries="5" />
</institution>
<institution id="kohalibrary2" implementation="ILS" parms="">
<policy checkin="true" renewal="false" checkout="true"
timeout="100"
retries="3" />
</institution>
<institution id="LPL" implementation="ILS">
<policy checkin="true" renewal="false" checkout="true"
timeout="100"
retries="5" />
</institution>
</institutions>
<!-- This section allows system preferences to be overridden on a global basis.
If the same system preference is overridden at the login level, the login
version will take precedence.
-->
<syspref_overrides>
<AllFinesNeedOverride>0</AllFinesNeedOverride>
</syspref_overrides>
</acsconfig>