Kyle Hall
877f8ed898
The SIP patron status and information responses always return false foe "too many items lost". It would be reasonable to check the count of lost items still checked out to the patron and compare that to a threshold set in the sip config file. Though not all libraries operate in this way, it seems like a good and reasonable implementation as long is it is properly documented. This patch adds the ability to set the SIP "too many items lost" flag for a patron based on the number of lost checkouts the patron has where the lost flag on those items is greater than the given flag value. For example, one could specify that the flag be set if the patron has more than 2 items checked out where itemlost is greater than 3. By default the feature is disabled to retain the existing functionality. If enabled, the default itemlost minimum flag value is 1 unless specified. Test Plan: 1) Apply this patch 2) prove t/db_dependent/SIP/Message.t Signed-off-by: David Nind <david@davidnind.com> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
143 lines
5.9 KiB
XML
143 lines
5.9 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
|
|
See documentation for Net::Server
|
|
user and group select what user the service should run as
|
|
if started as root (e.g. in server startup ) the server will switch to
|
|
this user after binding to the socket it is listening on
|
|
For OpenSolaris, add: syslog_logsock=stream
|
|
-->
|
|
<server-params
|
|
min_servers='1'
|
|
min_spare_servers='0'
|
|
max_servers='1'
|
|
log_file='Sys::Syslog'
|
|
syslog_ident='koha_sip'
|
|
syslog_facility='local6'
|
|
setsid="1"
|
|
user='koha'
|
|
group='koha'
|
|
pid_file='/var/run/sipserver.pid'
|
|
/>
|
|
|
|
<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"
|
|
cr_item_field="shelving_location"
|
|
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=''
|
|
holds_block_checkin="0"
|
|
holds_get_captured="1"
|
|
prevcheckout_block_checkout="0"
|
|
overdues_block_checkout="1"
|
|
show_outstanding_amount="1"
|
|
format_due_date="0"
|
|
inhouse_item_types=""
|
|
inhouse_patron_categories="">
|
|
<!-- lost_block_checkout sets flag if patron has more than the given current checkouts that are lost ( itemlost > 0 by default ) -->
|
|
<!-- lost_block_checkout_value determines the minimum lost item value to count ( that is, the value in items.itemlost ) -->
|
|
<!-- Refer to syspref SIP2SortBinMapping for full explanation of sort bin mapping -->
|
|
<sort_bin_mapping mapping="CPL:itype:eq:BK:1"/>
|
|
<sort_bin_mapping mapping="CPL:location:eq:OFFICE:2"/>
|
|
<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 %]" />
|
|
<custom_item_field field="IN" template="[% item.itemnumber %]" />
|
|
</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>
|