working/NCIPServer.git
6 years agoMerge branch 'masslnc' into better_abstraction
Jason Stephenson [Sun, 17 Aug 2014 15:08:06 +0000 (11:08 -0400)]
Merge branch 'masslnc' into better_abstraction

6 years agoAdd ElectronicAddress element.
Jason Stephenson [Sun, 17 Aug 2014 15:01:14 +0000 (11:01 -0400)]
Add ElectronicAddress element.

Signed-off-by: Jason Stephenson <jason@sigio.com>
6 years agoAdd output of Scheme in problem.inc template if it is defined.
Jason Stephenson [Sun, 17 Aug 2014 14:39:12 +0000 (10:39 -0400)]
Add output of Scheme in problem.inc template if it is defined.

Signed-off-by: Jason Stephenson <jason@sigio.com>
6 years agoMerge branch 'master' into better_abstraction
Jason Stephenson [Sun, 17 Aug 2014 13:40:17 +0000 (09:40 -0400)]
Merge branch 'master' into better_abstraction

6 years agoAdd some more POD to the new user-related classes.
Jason Stephenson [Sun, 17 Aug 2014 13:36:59 +0000 (09:36 -0400)]
Add some more POD to the new user-related classes.

Signed-off-by: Jason Stephenson <jason@sigio.com>
6 years agoFill out NCIP::User and friends.
Jason Stephenson [Sun, 17 Aug 2014 02:42:43 +0000 (22:42 -0400)]
Fill out NCIP::User and friends.

Signed-off-by: Jason Stephenson <jason@sigio.com>
6 years agoFixing a bug in the userenv for Koha
Chris Cormack [Tue, 12 Aug 2014 21:17:08 +0000 (09:17 +1200)]
Fixing a bug in the userenv for Koha

6 years agoAdd POD to NCIP::ILS.
Jason Stephenson [Sun, 10 Aug 2014 14:45:07 +0000 (10:45 -0400)]
Add POD to NCIP::ILS.

Signed-off-by: Jason Stephenson <jason@sigio.com>
6 years agoAdd xml filter on the new template include files.
Jason Stephenson [Fri, 8 Aug 2014 21:53:28 +0000 (17:53 -0400)]
Add xml filter on the new template include files.

I forgot to do this after testing them.

Signed-off-by: Jason Stephenson <jason@sigio.com>
6 years agoPrepare NCIP.pm and NCIP/ILS.pm for removal of Handler.pm and cousins.
Jason Stephenson [Fri, 8 Aug 2014 19:01:23 +0000 (15:01 -0400)]
Prepare NCIP.pm and NCIP/ILS.pm for removal of Handler.pm and cousins.

This moves the rendering of template output from Handler.pm to NCIP.pm.

We also add another useful method, parse_request_type to NCIP::ILS.

Along the way, we go from parsing the XML message with XPath to using
XML::LibXML::Simple.

Signed-off-by: Jason Stephenson <jason@sigio.com>
6 years agoMake sample config & NCIP.pm aware of NCIP::ILS.
Jason Stephenson [Fri, 8 Aug 2014 14:33:55 +0000 (10:33 -0400)]
Make sample config & NCIP.pm aware of NCIP::ILS.

This also means loading the ILS modules by giving the fully
qualified module name.

Signed-off-by: Jason Stephenson <jason@sigio.com>
6 years agoUpdate templates for new abstraction method.
Jason Stephenson [Fri, 8 Aug 2014 13:59:37 +0000 (09:59 -0400)]
Update templates for new abstraction method.

Signed-off-by: Jason Stephenson <jason@sigio.com>
6 years agoAdd unsupportedservice method to NCIP::ILS.
Jason Stephenson [Fri, 8 Aug 2014 13:46:39 +0000 (09:46 -0400)]
Add unsupportedservice method to NCIP::ILS.

This is used to return an "Unsupported Service" problem message.

We also added default implementations for the message handlers for
the messages required by Autographics' SHAREit that simply return
the Unsuported Service response.

Signed-off-by: Jason Stephenson <jason@sigio.com>
6 years agoFixes for ILS::make_header.
Jason Stephenson [Thu, 7 Aug 2014 13:01:55 +0000 (09:01 -0400)]
Fixes for ILS::make_header.

Signed-off-by: Jason Stephenson <jason@sigio.com>
6 years agoAdd lookupversion implemenation to NCIP::ILS.
Jason Stephenson [Thu, 7 Aug 2014 11:59:56 +0000 (07:59 -0400)]
Add lookupversion implemenation to NCIP::ILS.

Also fix a few typos.

Signed-off-by: Jason Stephenson <jason@sigio.com>
6 years agoFixup NCIP::ILS::make_header.
Jason Stephenson [Thu, 7 Aug 2014 11:42:24 +0000 (07:42 -0400)]
Fixup NCIP::ILS::make_header.

Change it to take the whole NCIP request as its argument.

Signed-off-by: Jason Stephenson <jason@sigio.com>
6 years agoAdd some the Header and Response objects.
Jason Stephenson [Thu, 7 Aug 2014 01:14:50 +0000 (21:14 -0400)]
Add some the Header and Response objects.

Also modify some existing objects to camel case the fields so that
they match what is in Z39.83-1-2012.

Add a make_header method to the base ILS class.

Signed-off-by: Jason Stephenson <jason@sigio.com>
6 years agoRemove version 2.0 as supported version from NCIP::Const.
Jason Stephenson [Wed, 6 Aug 2014 23:34:11 +0000 (19:34 -0400)]
Remove version 2.0 as supported version from NCIP::Const.

What was I thinking when I added it?

Signed-off-by: Jason Stephenson <jason@sigio.com>
6 years agoMerge branch 'master' into masslnc
Jason Stephenson [Wed, 6 Aug 2014 23:13:18 +0000 (19:13 -0400)]
Merge branch 'master' into masslnc

6 years agoMerge branch 'master' of git.evergreen-ils.org:NCIPServer into better_abstraction
Jason Stephenson [Wed, 6 Aug 2014 23:07:40 +0000 (19:07 -0400)]
Merge branch 'master' of git.evergreen-ils.org:NCIPServer into better_abstraction

6 years agoRemoving debug statements, making the branch of the item be used if none sent in...
Chris Cormack [Thu, 31 Jul 2014 20:37:18 +0000 (08:37 +1200)]
Removing debug statements, making the branch of the item be used if none sent in message

6 years agoAdd the work achieved so far today.
Jason Stephenson [Sat, 26 Jul 2014 20:58:47 +0000 (16:58 -0400)]
Add the work achieved so far today.

This stuff may get moved around later.

Signed-off-by: Jason Stephenson <jason@sigio.com>
6 years agoSwitch to XML::LibXML::Simple for the Evergreen driver configuration. user/dyrcona/masslnc
Jason Stephenson [Mon, 21 Jul 2014 01:24:03 +0000 (21:24 -0400)]
Switch to XML::LibXML::Simple for the Evergreen driver configuration.

Also adjust the expected configuration file to be a little simpler
and more like the one from issa.

Signed-off-by: Jason Stephenson <jason@sigio.com>
6 years agoFix a typo in the userdata method of the Evergreen ILS driver.
Jason Stephenson [Fri, 18 Jul 2014 12:19:11 +0000 (08:19 -0400)]
Fix a typo in the userdata method of the Evergreen ILS driver.

Signed-off-by: Jason Stephenson <jason@sigio.com>
6 years agoRefinements to user data look up in the Evergreen driver.
Jason Stephenson [Thu, 17 Jul 2014 12:50:12 +0000 (08:50 -0400)]
Refinements to user data look up in the Evergreen driver.

Signed-off-by: Jason Stephenson <jason@sigio.com>
6 years agoImplement the userdata() method in the Evergreen driver.
Jason Stephenson [Thu, 17 Jul 2014 00:28:51 +0000 (20:28 -0400)]
Implement the userdata() method in the Evergreen driver.

Signed-off-by: Jason Stephenson <jason@sigio.com>
6 years agoFix a couple of typos in Evergreen driver.
Jason Stephenson [Wed, 16 Jul 2014 17:58:56 +0000 (13:58 -0400)]
Fix a couple of typos in Evergreen driver.

I typed $U->simple_req when it should be $U->simplereq.

Signed-off-by: Jason Stephenson <jason@sigio.com>
6 years agoSearch for asset stat cat entries by owner in Evergreen driver _init.
Jason Stephenson [Tue, 15 Jul 2014 21:06:50 +0000 (17:06 -0400)]
Search for asset stat cat entries by owner in Evergreen driver _init.

Signed-off-by: Jason Stephenson <jason@sigio.com>
6 years agoAdd setup and initialization code to the Evergreen driver.
Jason Stephenson [Sun, 13 Jul 2014 23:57:53 +0000 (19:57 -0400)]
Add setup and initialization code to the Evergreen driver.

It can parse a XML configuration file.

It can use that configuration to bootstrap itself and login to
OpenSRF via Evergreen.

It can initialize its state based on that configuration.

Signed-off-by: Jason Stephenson <jason@sigio.com>
6 years agoAdd public/dispatch.cgi for use with Apache and Plack.
Jason Stephenson [Fri, 27 Jun 2014 22:18:08 +0000 (18:18 -0400)]
Add public/dispatch.cgi for use with Apache and Plack.

Signed-off-by: Jason Stephenson <jason@sigio.com>
6 years agoAdd a stub Evergreen driver.
Jason Stephenson [Wed, 25 Jun 2014 15:21:48 +0000 (11:21 -0400)]
Add a stub Evergreen driver.

This creates a skeleton lib/NCIP/ILS/Evergreen.pm with just the main
subroutines.  They currently do nothing at all.

Signed-off-by: Jason Stephenson <jason@sigio.com>
6 years agoAdd NCIP v2.0 to supported versions.
Jason Stephenson [Sat, 19 Jul 2014 14:47:11 +0000 (10:47 -0400)]
Add NCIP v2.0 to supported versions.

At some point, we should add code to check the version of NCIP that
is in use and alter the response templates accordingly.

Signed-off-by: Jason Stephenson <jason@sigio.com>
6 years agoAdd a LookupVersion handler.
Jason Stephenson [Fri, 27 Jun 2014 18:55:40 +0000 (14:55 -0400)]
Add a LookupVersion handler.

We also create a NCIP::Const module to hold the SUPPORTED_VERSIONS
list and other constants that we may need in the future.

Signed-off-by: Jason Stephenson <jason@sigio.com>
6 years agoUpdate a commented code section regarding DTD/Schema validation.
Jason Stephenson [Thu, 26 Jun 2014 23:19:59 +0000 (19:19 -0400)]
Update a commented code section regarding DTD/Schema validation.

NCIP version 2+ only has a schema.  NCIP version 1 has a DTD or a
schema.  To make the code comment relevant to NCIP version 2, which
we implement here, I change the sample code to validate with a
schema.

Signed-off-by: Jason Stephenson <jason@sigio.com>
6 years agoMake some template & config changes.
Jason Stephenson [Thu, 26 Jun 2014 23:07:46 +0000 (19:07 -0400)]
Make some template & config changes.

Set the default MIME type in config.yml based on the Z39.83 spec.

Move the </NCIPMessage> tag to a new include file, footer.inc.

Signed-off-by: Jason Stephenson <jason@sigio.com>
6 years agoFilter template output with the xml filter where appropriate.
Jason Stephenson [Wed, 25 Jun 2014 15:59:21 +0000 (11:59 -0400)]
Filter template output with the xml filter where appropriate.

Signed-off-by: Jason Stephenson <jason@sigio.com>
6 years agoFix some licensing informaiton.
Jason Stephenson [Tue, 24 Jun 2014 13:45:11 +0000 (09:45 -0400)]
Fix some licensing informaiton.

The MYMETA.* files had URLs for the GPL Version 1, and we're using
GPL Version 2.

Also delete the COPYING file, since it is more or less out of date.

Signed-off-by: Jason Stephenson <jason@sigio.com>
6 years agoSetting the correct branch on CheckOut
Chris Cormack [Wed, 16 Jul 2014 23:49:51 +0000 (11:49 +1200)]
Setting the correct branch on CheckOut

6 years agoStarting work on the CancelRequestItem handler
Chris Cormack [Sun, 13 Jul 2014 22:45:05 +0000 (10:45 +1200)]
Starting work on the CancelRequestItem handler

6 years agoWorking on the CheckOutIthem handler
Chris Cormack [Sun, 13 Jul 2014 22:19:10 +0000 (10:19 +1200)]
Working on the CheckOutIthem handler

6 years agoRemove an unused file: lib/NCIPResponder.pm.
Jason Stephenson [Mon, 23 Jun 2014 14:16:41 +0000 (10:16 -0400)]
Remove an unused file: lib/NCIPResponder.pm.

Signed-off-by: Jason Stephenson <jason@sigio.com>
6 years agoContinuing on with the changes
Chris Cormack [Tue, 8 Apr 2014 22:56:25 +0000 (10:56 +1200)]
Continuing on with the changes

6 years agoGah, im having a nightmare today
Chris Cormack [Tue, 8 Apr 2014 22:08:38 +0000 (10:08 +1200)]
Gah, im having a nightmare today

6 years agoContinuing with the work for RequestHandler
Chris Cormack [Tue, 8 Apr 2014 22:05:40 +0000 (10:05 +1200)]
Continuing with the work for RequestHandler

6 years agoFixing the error handling to be consistent
Chris Cormack [Tue, 8 Apr 2014 21:36:02 +0000 (09:36 +1200)]
Fixing the error handling to be consistent

6 years agoContinuing work on RequestItem handler
Chris Cormack [Tue, 8 Apr 2014 21:29:45 +0000 (09:29 +1200)]
Continuing work on RequestItem handler

6 years agoFixing a typo in the Koha.pm module
Chris Cormack [Tue, 8 Apr 2014 00:28:05 +0000 (12:28 +1200)]
Fixing a typo in the Koha.pm module

6 years agoTemplate for RequestItemResponse
Chris Cormack [Tue, 1 Apr 2014 21:34:39 +0000 (10:34 +1300)]
Template for RequestItemResponse

6 years agoWorking on the CancelRequest message
Chris Cormack [Sun, 30 Mar 2014 21:07:52 +0000 (10:07 +1300)]
Working on the CancelRequest message

6 years agoCheckinItem handler
Chris Cormack [Wed, 19 Mar 2014 21:07:56 +0000 (10:07 +1300)]
CheckinItem handler

6 years agoWorking AcceptItem now
Chris Cormack [Thu, 13 Mar 2014 00:24:28 +0000 (13:24 +1300)]
Working AcceptItem now

6 years agoContinuing work on the AcceptItem handler
Chris Cormack [Thu, 6 Mar 2014 01:11:13 +0000 (14:11 +1300)]
Continuing work on the AcceptItem handler

6 years agoStarting work on better logging using Log::Log4perl
Chris Cormack [Wed, 5 Mar 2014 22:16:24 +0000 (11:16 +1300)]
Starting work on better logging using Log::Log4perl

6 years agoDoh, typo
Chris Cormack [Wed, 5 Mar 2014 21:56:56 +0000 (10:56 +1300)]
Doh, typo

6 years agoKoha specific driver work
Chris Cormack [Wed, 5 Mar 2014 21:55:18 +0000 (10:55 +1300)]
Koha specific driver work

6 years agoContinuing with the CheckInItem handler
Chris Cormack [Wed, 5 Mar 2014 21:46:51 +0000 (10:46 +1300)]
Continuing with the CheckInItem handler

Refactoring a bit of common code to the base Handler class

6 years agoWorking on the CheckInItem hander
Chris Cormack [Wed, 5 Mar 2014 00:59:00 +0000 (13:59 +1300)]
Working on the CheckInItem hander

6 years agoIt is now responding correctly
Chris Cormack [Wed, 5 Mar 2014 00:51:40 +0000 (13:51 +1300)]
It is now responding correctly

6 years agoGetting there, it seems to be doing what it should now
Chris Cormack [Wed, 5 Mar 2014 00:45:48 +0000 (13:45 +1300)]
Getting there, it seems to be doing what it should now

6 years agoContinuing on with the AcceptItem handler
Chris Cormack [Wed, 5 Mar 2014 00:27:52 +0000 (13:27 +1300)]
Continuing on with the AcceptItem handler

6 years agoWorking on AcceptItem handler .. don't expect this to work just yet
Chris Cormack [Wed, 5 Mar 2014 00:03:09 +0000 (13:03 +1300)]
Working on AcceptItem handler .. don't expect this to work just yet

6 years agoTidying up the templates, making sure is valid XML
Chris Cormack [Tue, 4 Mar 2014 20:51:32 +0000 (09:51 +1300)]
Tidying up the templates, making sure is valid XML

6 years agoResponse headers behaving better
Chris Cormack [Tue, 4 Mar 2014 02:45:00 +0000 (15:45 +1300)]
Response headers behaving better

6 years agoTrying to get the headers set correctly
Chris Cormack [Mon, 3 Mar 2014 22:31:19 +0000 (11:31 +1300)]
Trying to get the headers set correctly

6 years agoMore work on the LookupUserResponse
Chris Cormack [Mon, 3 Mar 2014 21:53:54 +0000 (10:53 +1300)]
More work on the LookupUserResponse

6 years agoFleshing out the LookupUserResponse
Chris Cormack [Mon, 3 Mar 2014 21:40:05 +0000 (10:40 +1300)]
Fleshing out the LookupUserResponse

We need to update ILS::Koha to set the write values to the write NCIP
values, to make it easier for Evergreen to use the same templates

6 years agoProper response header for a missing user when doing a LookUpUser
Chris Cormack [Mon, 3 Mar 2014 21:06:47 +0000 (10:06 +1300)]
Proper response header for a missing user when doing a LookUpUser

6 years agoTrying to handle posts with no parameters better in the Dancer app
Chris Cormack [Mon, 3 Mar 2014 19:36:21 +0000 (08:36 +1300)]
Trying to handle posts with no parameters better in the Dancer app

6 years agoAdding a bit better error handling when we get invalid XML
Chris Cormack [Sun, 2 Mar 2014 21:36:17 +0000 (10:36 +1300)]
Adding a bit better error handling when we get invalid XML

6 years agoContinuing work adding/fixing more handlers
Chris Cormack [Tue, 25 Feb 2014 22:50:26 +0000 (11:50 +1300)]
Continuing work adding/fixing more handlers

6 years agoTypo fixes
Chris Cormack [Tue, 25 Feb 2014 21:09:43 +0000 (10:09 +1300)]
Typo fixes

6 years agoShifting the finding user elements in the XML to its own subroutine
Chris Cormack [Tue, 25 Feb 2014 21:09:16 +0000 (10:09 +1300)]
Shifting the finding user elements in the XML to its own subroutine

6 years agoBug fixing LookupUser
Chris Cormack [Mon, 24 Feb 2014 22:51:58 +0000 (11:51 +1300)]
Bug fixing LookupUser

6 years agoWorking on RenewItem handler
Chris Cormack [Mon, 27 Jan 2014 23:03:17 +0000 (12:03 +1300)]
Working on RenewItem handler

6 years agoGot CheckOutItem going
Chris Cormack [Mon, 27 Jan 2014 22:35:13 +0000 (11:35 +1300)]
Got CheckOutItem going

6 years agoFinishing? the CheckInItem handler
Chris Cormack [Mon, 27 Jan 2014 20:36:45 +0000 (09:36 +1300)]
Finishing? the CheckInItem handler

6 years agoStart of RequestItem handler
Chris Cormack [Mon, 13 Jan 2014 01:10:53 +0000 (14:10 +1300)]
Start of RequestItem handler

6 years agoTidying up dancer app
Chris Cormack [Mon, 13 Jan 2014 00:58:39 +0000 (13:58 +1300)]
Tidying up dancer app

6 years agoExtending the handlers
Chris Cormack [Sun, 12 Jan 2014 20:59:06 +0000 (09:59 +1300)]
Extending the handlers

6 years agoAdding error handling for CheckIn
Chris Cormack [Sun, 12 Jan 2014 20:09:06 +0000 (09:09 +1300)]
Adding error handling for CheckIn

6 years agoContinuing on with the work
Chris Cormack [Sun, 12 Jan 2014 19:25:20 +0000 (08:25 +1300)]
Continuing on with the work

6 years agoWorking on the Koha code
Chris Cormack [Sat, 4 Jan 2014 23:45:20 +0000 (12:45 +1300)]
Working on the Koha code

6 years agoCheckOut and CheckIn Handlers
Chris Cormack [Thu, 2 Jan 2014 22:19:24 +0000 (11:19 +1300)]
CheckOut and CheckIn Handlers

6 years agoTidying up output, removing blank lines
Chris Cormack [Thu, 2 Jan 2014 22:04:01 +0000 (11:04 +1300)]
Tidying up output, removing blank lines

6 years agoTidying up the LookUpUser handler
Chris Cormack [Thu, 2 Jan 2014 20:44:35 +0000 (09:44 +1300)]
Tidying up the LookUpUser handler

6 years agoContinuing with LookupItem
Chris Cormack [Mon, 30 Dec 2013 20:31:33 +0000 (09:31 +1300)]
Continuing with LookupItem

6 years agoContinuing work on the templates
Chris Cormack [Mon, 30 Dec 2013 20:14:36 +0000 (09:14 +1300)]
Continuing work on the templates

6 years agoGot the dancer app working now
Chris Cormack [Mon, 30 Dec 2013 01:42:19 +0000 (14:42 +1300)]
Got the dancer app working now

6 years agoResponding better now
Chris Cormack [Mon, 30 Dec 2013 01:40:26 +0000 (14:40 +1300)]
Responding better now

6 years agoHandling errors a bit better
Chris Cormack [Sun, 29 Dec 2013 21:47:57 +0000 (10:47 +1300)]
Handling errors a bit better

6 years agoWorking on error handling
Chris Cormack [Sun, 29 Dec 2013 21:09:20 +0000 (10:09 +1300)]
Working on error handling

6 years agoWorking on the dancer server for NCIP (for doing http (or https with
Chris Cormack [Sun, 29 Dec 2013 19:46:07 +0000 (08:46 +1300)]
Working on the dancer server for NCIP (for doing http (or https with
nginx/apache in front)

perl bin/ncip_dancing.pl

And away you go

6 years agoLooking up and finding user data, now just to send the response
Chris Cormack [Mon, 16 Dec 2013 21:01:40 +0000 (10:01 +1300)]
Looking up and finding user data, now just to send the response

6 years agoTrying to get this working a bit more robustly
Chris Cormack [Sun, 15 Dec 2013 20:40:21 +0000 (09:40 +1300)]
Trying to get this working a bit more robustly

6 years agoSample XML for testing
Chris Cormack [Sun, 15 Dec 2013 19:53:00 +0000 (08:53 +1300)]
Sample XML for testing

6 years agoContinuing with work for the LookupUser method
Chris Cormack [Wed, 20 Nov 2013 00:27:34 +0000 (13:27 +1300)]
Continuing with work for the LookupUser method

So far only works when passed an ID, not a username/password or
cardnumber/password combination

6 years agoBeginning work on LookupUser
Chris Cormack [Tue, 19 Nov 2013 22:14:00 +0000 (11:14 +1300)]
Beginning work on LookupUser

6 years agoContinuing work, If you hate the suroutine names now is the time to
Chris Cormack [Mon, 18 Nov 2013 02:45:40 +0000 (15:45 +1300)]
Continuing work, If you hate the suroutine names now is the time to
stop me

6 years agoRejigging the creation of a handler a bit, so we now pass our ILS object
Chris Cormack [Mon, 18 Nov 2013 02:30:16 +0000 (15:30 +1300)]
Rejigging the creation of a handler a bit, so we now pass our ILS object

This should allow our handlers to behave agnostically to the underlying ILS
And we should only have to create the object once, at start up, rather
than per message

6 years agoContinuing with the templates
Chris Cormack [Mon, 18 Nov 2013 02:15:22 +0000 (15:15 +1300)]
Continuing with the templates