SIPServer.git
18 years agoInitial pass at documentation for ILS::Item
djfiander [Mon, 15 May 2006 00:16:42 +0000 (00:16 +0000)]
Initial pass at documentation for ILS::Item

18 years agoDelete unused access method
djfiander [Mon, 15 May 2006 00:15:36 +0000 (00:15 +0000)]
Delete unused access method

18 years agoAdd code to build HTML documentation from the podfiles.
djfiander [Mon, 15 May 2006 00:15:11 +0000 (00:15 +0000)]
Add code to build HTML documentation from the podfiles.

18 years agoFinish first pass at documentation for ILS module
djfiander [Mon, 15 May 2006 00:14:27 +0000 (00:14 +0000)]
Finish first pass at documentation for ILS module

18 years agoMinor code cleanups
djfiander [Sun, 14 May 2006 11:40:39 +0000 (11:40 +0000)]
Minor code cleanups

18 years agoAdjust tests to agree with the code. Since the server reports
djfiander [Thu, 4 May 2006 01:24:52 +0000 (01:24 +0000)]
Adjust tests to agree with the code.  Since the server reports
that a patron is valid, but the password was wrong, we need to
make sure that that's what the tests expect.

18 years agoSequence numbers are a single digit, so when it hits 10, wrap
djfiander [Thu, 4 May 2006 01:24:09 +0000 (01:24 +0000)]
Sequence numbers are a single digit, so when it hits 10, wrap
around to 0.

18 years agoAdjust the test data so that it works with the test cases.
djfiander [Thu, 4 May 2006 01:23:28 +0000 (01:23 +0000)]
Adjust the test data so that it works with the test cases.

18 years agoIf the patron is valid, but the patron password is provided, and
djfiander [Thu, 4 May 2006 01:22:54 +0000 (01:22 +0000)]
If the patron is valid, but the patron password is provided, and
wrong, still report that the patron's good.  This seems to be
what clients are expecting, and since we can "trust" them, we
will give them full disclosure.

18 years ago'0' is a valid sequence number (it comes after '9'), so we have
djfiander [Thu, 4 May 2006 01:21:42 +0000 (01:21 +0000)]
'0' is a valid sequence number (it comes after '9'), so we have
to see if the sequence number is set, not just if it's true.

18 years agominor cleanups
djfiander [Sun, 30 Apr 2006 12:17:18 +0000 (12:17 +0000)]
minor cleanups

18 years agoAdd a bunch of tests, and stock field checks
djfiander [Sun, 30 Apr 2006 01:20:47 +0000 (01:20 +0000)]
Add a bunch of tests, and stock field checks

18 years agoMake sure to set BL: Patron Valid when the patron is, in fact,
djfiander [Sun, 30 Apr 2006 01:20:01 +0000 (01:20 +0000)]
Make sure to set BL: Patron Valid when the patron is, in fact,
valid (uncovered by the tests)

18 years agoFix formatting, export FID_PATRON_BIRTHDATE FID_PATRON_CLASS
djfiander [Sun, 30 Apr 2006 01:19:22 +0000 (01:19 +0000)]
Fix formatting, export FID_PATRON_BIRTHDATE FID_PATRON_CLASS

18 years agoAdd support for FID_PATRON_BIRTHDATE (PB) and FID_PATRON_CLASS
djfiander [Sun, 30 Apr 2006 00:15:04 +0000 (00:15 +0000)]
Add support for FID_PATRON_BIRTHDATE (PB) and FID_PATRON_CLASS
(PC) to Patron Information Response, for Envisionware terminals.

18 years agoAdd stub methods sip_birthdate and ptype, to support Envisionware
djfiander [Sun, 30 Apr 2006 00:13:48 +0000 (00:13 +0000)]
Add stub methods sip_birthdate and ptype, to support Envisionware
terminals (and probably others).

18 years agoChange port for raw socket connection from 5300 (chosen at random
djfiander [Sun, 30 Apr 2006 00:12:59 +0000 (00:12 +0000)]
Change port for raw socket connection from 5300 (chosen at random
by your's truly) to 6001, as per Envisionware email.

18 years agoVery basic tests. This will be a big test case. I suspect that
djfiander [Wed, 26 Apr 2006 14:37:19 +0000 (14:37 +0000)]
Very basic tests.  This will be a big test case.  I suspect that
the test harness will have to be enhanced in a variety of ways,
including some way of indicating fields that SHOULD NOT appear,
as well as just fields that are required.

18 years agoGeneralize handling of tagged fields, so we can reuse field
djfiander [Wed, 26 Apr 2006 14:35:20 +0000 (14:35 +0000)]
Generalize handling of tagged fields, so we can reuse field
specifications between test scenarios.

18 years agoFix Patron Information message handling to parallel the situation
djfiander [Wed, 26 Apr 2006 14:33:39 +0000 (14:33 +0000)]
Fix Patron Information message handling to parallel the situation
in the handling of Patron Status messages: if the password's not
provided by the terminal, then we don't worry about checking the
password, but if the terminal gives us the password, then it has
to match before we say anything about the patron.

18 years agoReplace call to nonexistent method 'hold_items_count' with
djfiander [Wed, 26 Apr 2006 14:19:52 +0000 (14:19 +0000)]
Replace call to nonexistent method 'hold_items_count' with
correct code.

18 years agoReturn an item title, even if the checkout failed (assuming that
djfiander [Wed, 26 Apr 2006 13:34:31 +0000 (13:34 +0000)]
Return an item title, even if the checkout failed (assuming that
the item ID was valid).

18 years agoClean up handling of Patron Status Response messages when there's
djfiander [Wed, 26 Apr 2006 13:31:22 +0000 (13:31 +0000)]
Clean up handling of Patron Status Response messages when there's
no password provided by the terminal.  I have a strong suspicion
that there exist terminals that expect to get patron status or
patron information even if they don't provide a password.

18 years agoCreate code to test tagged field values, create tests for Patron
djfiander [Wed, 26 Apr 2006 01:19:53 +0000 (01:19 +0000)]
Create code to test tagged field values, create tests for Patron
Status message

18 years agoInitial test environment
djfiander [Fri, 21 Apr 2006 02:18:47 +0000 (02:18 +0000)]
Initial test environment

18 years agoClean up handling of SIP boolean flags, and fix interface to
djfiander [Fri, 21 Apr 2006 02:15:43 +0000 (02:15 +0000)]
Clean up handling of SIP boolean flags, and fix interface to
write_msg().  Since it never used the $server parameter, get rid
of it, and add an optional $file parameter, so that write_msg()
can be use by the test harness.

18 years agoRemove hold_items_count method, and move the code to drop a hold
djfiander [Wed, 19 Apr 2006 00:03:55 +0000 (00:03 +0000)]
Remove hold_items_count method, and move the code to drop a hold
into a Patron method, rather than embedding it in the ils
transaction level.

18 years agoImplement code to handle Renew All messages.
djfiander [Sun, 16 Apr 2006 15:50:16 +0000 (15:50 +0000)]
Implement code to handle Renew All messages.

Minor cleanups.

Move add_count() into Sip.pm

Consistently use methods to access fields in Transaction status
objects.

18 years agoMinor cleanups.
djfiander [Sun, 16 Apr 2006 15:47:29 +0000 (15:47 +0000)]
Minor cleanups.

18 years agoMinor cleanups.
djfiander [Sun, 16 Apr 2006 15:47:07 +0000 (15:47 +0000)]
Minor cleanups.

move available() method out of Transaction and into Item.

18 years agoadd messages for Renew, Renew All, and Patron Enable
djfiander [Sun, 16 Apr 2006 15:46:04 +0000 (15:46 +0000)]
add messages for Renew, Renew All, and Patron Enable

18 years agoMove add_count() to Sip.pm from Sip::MsgType.pm
djfiander [Sun, 16 Apr 2006 15:44:56 +0000 (15:44 +0000)]
Move add_count() to Sip.pm from Sip::MsgType.pm

18 years agoImplement stubs necessary for Renew All support.
djfiander [Sun, 16 Apr 2006 15:44:23 +0000 (15:44 +0000)]
Implement stubs necessary for Renew All support.

Consistently use methods to access fields rather than getting
at the fields directly.

18 years agoSwitch to AUTOLOAD-based field access
djfiander [Sun, 16 Apr 2006 15:43:11 +0000 (15:43 +0000)]
Switch to AUTOLOAD-based field access

18 years agoStub code to handle renewals
djfiander [Sun, 16 Apr 2006 01:40:34 +0000 (01:40 +0000)]
Stub code to handle renewals

18 years agoAdd stub code necessary to support item renewal
djfiander [Sun, 16 Apr 2006 01:39:47 +0000 (01:39 +0000)]
Add stub code necessary to support item renewal

18 years agoAdd support for Renew message
djfiander [Sun, 16 Apr 2006 01:39:26 +0000 (01:39 +0000)]
Add support for Renew message

18 years agoChange IP on service so that it will work regardless of the IP of
djfiander [Sat, 15 Apr 2006 21:12:47 +0000 (21:12 +0000)]
Change IP on service so that it will work regardless of the IP of
the host.

18 years agoStub code to handle status returned by a "hold" transaction.
djfiander [Sat, 15 Apr 2006 21:10:37 +0000 (21:10 +0000)]
Stub code to handle status returned by a "hold" transaction.

18 years agoClean up some test messages so they work against the existing
djfiander [Sat, 15 Apr 2006 15:45:07 +0000 (15:45 +0000)]
Clean up some test messages so they work against the existing
test stub.  Add messages for placing and cancelling a hold.

18 years agoAdd support for Hold message
djfiander [Sat, 15 Apr 2006 15:44:12 +0000 (15:44 +0000)]
Add support for Hold message

18 years agoAdd support for placing, altering, and cancelling holds
djfiander [Sat, 15 Apr 2006 15:43:10 +0000 (15:43 +0000)]
Add support for placing, altering, and cancelling holds

18 years agoUse the new $patron->block() method. Implement support for the
djfiander [Sat, 15 Apr 2006 00:45:00 +0000 (00:45 +0000)]
Use the new $patron->block() method.  Implement support for the
Patron Enable message

18 years agoMove block() from the ILS into the ILS::Patron. Create the
djfiander [Sat, 15 Apr 2006 00:44:15 +0000 (00:44 +0000)]
Move block() from the ILS into the ILS::Patron.  Create the
opposite enable() method to support the Patron Enable message

18 years agoGet handling of institution IDs right. Make "block_patron" a
djfiander [Sat, 15 Apr 2006 00:43:20 +0000 (00:43 +0000)]
Get handling of institution IDs right.  Make "block_patron" a
method of the ILS::Patron object, rather than an ILS method

18 years agoAdd support for Status Update message
djfiander [Fri, 14 Apr 2006 23:33:35 +0000 (23:33 +0000)]
Add support for Status Update message

18 years agoAdd stub to handle Status Update message
djfiander [Fri, 14 Apr 2006 23:33:11 +0000 (23:33 +0000)]
Add stub to handle Status Update message

18 years agouse the new ILS::check_inst_id to verify the institution ID that
djfiander [Fri, 14 Apr 2006 20:07:32 +0000 (20:07 +0000)]
use the new ILS::check_inst_id to verify the institution ID that
we receive from the terminal.

Also implement support for Item Information message.

18 years agoAdded stub routines that provide support for the Item Information
djfiander [Fri, 14 Apr 2006 20:06:24 +0000 (20:06 +0000)]
Added stub routines that provide support for the Item Information
Response message.

18 years agoSip::timestamp now takes an optional parameter (seconds since the
djfiander [Fri, 14 Apr 2006 20:05:41 +0000 (20:05 +0000)]
Sip::timestamp now takes an optional parameter (seconds since the
epoch) and generates a timestamp for that time.  Default
continues to be timestamp of 'now'.

18 years agonew ILS takes an institution configuration as input, so the name
djfiander [Fri, 14 Apr 2006 20:04:27 +0000 (20:04 +0000)]
new ILS takes an institution configuration as input, so the name
of the ILS institution is the $institution->{id}

18 years agoAdded code to verify the institution id, and to manage due dates
djfiander [Fri, 14 Apr 2006 19:59:29 +0000 (19:59 +0000)]
Added code to verify the institution id, and to manage due dates
within the stub item db.

18 years agoDelete handling of "FID_FEE_ITEMS", since it doesn't exist (the
djfiander [Fri, 14 Apr 2006 17:14:56 +0000 (17:14 +0000)]
Delete handling of "FID_FEE_ITEMS", since it doesn't exist (the
Patron Information Response message documentation is wrong).
Correct handling of Address, Email, and Home Phone fields in
Patron Information Response in response to corrections from 3M

18 years agoDelete non-existent "FID_FEE_ITEMS", since we heard back from 3M
djfiander [Fri, 14 Apr 2006 17:13:32 +0000 (17:13 +0000)]
Delete non-existent "FID_FEE_ITEMS", since we heard back from 3M
that the documentation about the Patron Information Response
message was incorrect.

18 years agoDon't use "ILS::pay_fee()", use "$ils->pay_fee()"
djfiander [Wed, 12 Apr 2006 15:22:13 +0000 (15:22 +0000)]
Don't use "ILS::pay_fee()", use "$ils->pay_fee()"

18 years agoChange label for tag generation
djfiander [Wed, 12 Apr 2006 15:21:35 +0000 (15:21 +0000)]
Change label for tag generation

18 years agoMore documentation
djfiander [Wed, 12 Apr 2006 15:20:54 +0000 (15:20 +0000)]
More documentation

18 years agoInitial documentation for the ILS.pm portable interface between
djfiander [Wed, 12 Apr 2006 02:00:26 +0000 (02:00 +0000)]
Initial documentation for the ILS.pm portable interface between
the SIP code and the ILS.

18 years agoadding loadable module support
miker-pines [Fri, 7 Apr 2006 02:29:56 +0000 (02:29 +0000)]
adding loadable module support

18 years agoBase makefile that just simplifies some common operations
djfiander [Wed, 5 Apr 2006 01:58:43 +0000 (01:58 +0000)]
Base makefile that just simplifies some common operations

18 years agoStub for Fee Paid functionality. Right now this is all handled
djfiander [Wed, 5 Apr 2006 01:53:33 +0000 (01:53 +0000)]
Stub for Fee Paid functionality.  Right now this is all handled
in the Transaction module itself.

18 years agoImplement stub support for Checkin operations in the ILS
djfiander [Wed, 5 Apr 2006 01:52:32 +0000 (01:52 +0000)]
Implement stub support for Checkin operations in the ILS

18 years agoImplement Superclass handlers necessary for Checkin and Fee Paid
djfiander [Wed, 5 Apr 2006 01:41:17 +0000 (01:41 +0000)]
Implement Superclass handlers necessary for Checkin and Fee Paid

18 years agoImplement Checking and Fee Paid response messages
djfiander [Wed, 5 Apr 2006 01:37:33 +0000 (01:37 +0000)]
Implement Checking and Fee Paid response messages

18 years agoFix calculation of ends of lists of items used in the Patron
djfiander [Wed, 5 Apr 2006 01:36:43 +0000 (01:36 +0000)]
Fix calculation of ends of lists of items used in the Patron
Status Response message

18 years agoAdd support necessary for Checkin operation
djfiander [Wed, 5 Apr 2006 01:36:07 +0000 (01:36 +0000)]
Add support necessary for Checkin operation

18 years agoImplement Checkin and Fee Payment stubs
djfiander [Wed, 5 Apr 2006 01:35:45 +0000 (01:35 +0000)]
Implement Checkin and Fee Payment stubs

18 years agoStrip off error detection fields, since they're automatically
djfiander [Wed, 5 Apr 2006 01:34:09 +0000 (01:34 +0000)]
Strip off error detection fields, since they're automatically
generated by the (Python) test harness anyway.  This way it's
easier to cut/paste messages into the interactive test session (I
really must develop a real test harness).

Change some fields to match the test database hardcoded into the
ILS module.

18 years agoAdd support for End Patron Session message
djfiander [Wed, 29 Mar 2006 23:08:49 +0000 (23:08 +0000)]
Add support for End Patron Session message

18 years agoAdd end_patron_session stub
djfiander [Wed, 29 Mar 2006 23:08:27 +0000 (23:08 +0000)]
Add end_patron_session stub

18 years agoAdded Patron Information request message
djfiander [Wed, 29 Mar 2006 01:53:17 +0000 (01:53 +0000)]
Added Patron Information request message

18 years agoMove $last_response here from Sip/MsgType.pm
djfiander [Wed, 29 Mar 2006 01:52:37 +0000 (01:52 +0000)]
Move $last_response here from Sip/MsgType.pm

18 years agoRestructure code to handle Patron Information message, move more
djfiander [Wed, 29 Mar 2006 01:51:56 +0000 (01:51 +0000)]
Restructure code to handle Patron Information message, move more
code into Sip.pm

18 years agoCreate stub APIs that provide information needed for Patron
djfiander [Wed, 29 Mar 2006 01:50:52 +0000 (01:50 +0000)]
Create stub APIs that provide information needed for Patron
Information Response message

18 years agoDefined field identify FID_FEE_ITEMS. This field id isn't
djfiander [Sun, 26 Mar 2006 12:30:55 +0000 (12:30 +0000)]
Defined field identify FID_FEE_ITEMS.  This field id isn't
defined by the specification, but it's required by the Patron
Information Response message.  The current value is a place
holder (and a guess at the true value), until we can hear back
from 3M about what the correct value is.

18 years agoMoved utility functions from Sip::Msgtype to here.
djfiander [Sun, 26 Mar 2006 12:29:04 +0000 (12:29 +0000)]
Moved utility functions from Sip::Msgtype to here.

18 years agoAdd support for "Patron Information" message and move some
djfiander [Sun, 26 Mar 2006 12:28:29 +0000 (12:28 +0000)]
Add support for "Patron Information" message and move some
utility functions into Sip.pm, in an attempt to manage the size
of this file.  In the long run, MsgType.pm will probably be split
into a set of files that collect similar sorts of messages
together.

18 years agochanged service IP address
djfiander [Wed, 22 Mar 2006 02:15:51 +0000 (02:15 +0000)]
changed service IP address

18 years agoCreate fields to store pending "screen message" and "print line",
djfiander [Wed, 22 Mar 2006 02:08:33 +0000 (02:08 +0000)]
Create fields to store pending "screen message" and "print line",
initially needed for "Block Patron" messages.

18 years ago"block patron" stub implemented. Basically just flag all the
djfiander [Wed, 22 Mar 2006 02:07:46 +0000 (02:07 +0000)]
"block patron" stub implemented.  Basically just flag all the
patron actions as not allowed.

18 years agoBlock Patron implemented. This required extracting the guts of
djfiander [Wed, 22 Mar 2006 02:06:42 +0000 (02:06 +0000)]
Block Patron implemented.  This required extracting the guts of
the "Patron Status" message handler out into a utility function
since both "Block Patron" and "Patron Status" messages require a
"Patron Status Response" message.

18 years agoDeleted sub y_or_n(), since it duplicates
djfiander [Tue, 21 Mar 2006 01:02:27 +0000 (01:02 +0000)]
Deleted sub y_or_n(), since it duplicates
Sip::MsgType::sipbool(), and that module is the only place it's
used.

18 years agoDefine subs that provide status information necessary for
djfiander [Tue, 21 Mar 2006 01:00:30 +0000 (01:00 +0000)]
Define subs that provide status information necessary for
handle_acs_status()

18 years agoDelete vestigal build_checkout_failed subroutine, convert
djfiander [Tue, 21 Mar 2006 00:59:25 +0000 (00:59 +0000)]
Delete vestigal build_checkout_failed subroutine, convert
handle_acs_status() to query status from ILS rather than from
configuration file.

18 years agoImplement Checkout message type based on the new ILS interfaces.
djfiander [Tue, 21 Mar 2006 00:31:12 +0000 (00:31 +0000)]
Implement Checkout message type based on the new ILS interfaces.

18 years agoCheckout transaction stub module. Derived from the Transaction
djfiander [Tue, 21 Mar 2006 00:29:43 +0000 (00:29 +0000)]
Checkout transaction stub module.  Derived from the Transaction
superclass.

18 years agoBeginnings of the stub Transaction class. All ILS transactions
djfiander [Tue, 21 Mar 2006 00:28:25 +0000 (00:28 +0000)]
Beginnings of the stub Transaction class.  All ILS transactions
(checkout, renew, etc.) are derived from this base class.

18 years agoImplement Checkout operation stub using the Transaction and
djfiander [Tue, 21 Mar 2006 00:26:55 +0000 (00:26 +0000)]
Implement Checkout operation stub using the Transaction and
Transaction::Checkout modules.

18 years agoBeginnings of the Item stub module: support for the Checkout
djfiander [Tue, 21 Mar 2006 00:17:54 +0000 (00:17 +0000)]
Beginnings of the Item stub module: support for the Checkout
operation

18 years agoFix package name, initialize ILS module.
djfiander [Tue, 21 Mar 2006 00:15:55 +0000 (00:15 +0000)]
Fix package name, initialize ILS module.

18 years agoInitial revision
djfiander [Thu, 9 Mar 2006 03:22:32 +0000 (03:22 +0000)]
Initial revision