I think a hybrid approach is the most logical – if there is an easy way to avoid displaying renewal links when you know a renewal is not allowed, that improves the user experience…  but in cases where it’s extremely complex, it makes sense to attempt the renewal and provide feedback when it fails.

 

There’s a catch, though: this depends on the API being able to correctly report failed renewals.  I can’t speak for Unicorn/Symphony, but this is not always the case.  I’ve had to deal with a lot of frustration caused by the Voyager Restful API, which ignores all rules and just renews whatever you ask it to!  (Unbelievable, but true).

 

- Demian

 

From: Bill McClendon [mailto:bill.mcclendon@digiconllc.com]
Sent: Wednesday, January 30, 2013 10:24 AM
To: VUFind-Unicorn Driver Development List
Cc: VUFind-Unicorn Driver Development List; vufind-general@lists.sourceforge.net
Subject: Re: [VuFind-General] [VUFind-Unicorn-L] Prevent renewals of overdue material

 

All,

 

My vote is to muddy the waters a bit.  The system applies rules during the renewal process.  So iBlink/E-Library will,display the option to renew and the patrons who cannot receive a descriptive message explaining why.  So, how would this be accomplished when the decision is based on the patrons profile, the circulation rule, and the presence of holds?  

 

"Not easily" would be the answer.  To know with certainty, you would need the circulation rules and a matrix of how they would be applied.  Is the current driver returning the proper result message if/when a renewal fails?  If so, I suggest the display of that message be the focus.  If not, I suggest that inclusion of that message be added.

Bill


Sent from my iPad


On Jan 23, 2013, at 11:19 AM, Demian Katz <demian.katz@villanova.edu> wrote:

Okay, thanks.  Given that this is not a simple fix and I have no way of testing the code, I’m not going to make any changes to the default driver.

 

If there is a way to find out through the API whether or not an item is allowed to be renewed, the driver should be revised to take that into account – that is the most efficient solution since it allows you to utilize whatever rules are defined in your local Symphony system.

 

If the API can’t tell you about renewability, then perhaps we need some way of defining rules in the Symphony.ini – but I’m not sure exactly what that should look like.

 

Is there an issue tracker for the Unicorn/Symphony driver?  If so, it would be wise to open a ticket.  If not, perhaps we should open one in the main VuFind JIRA.  Either way, I’ll be happy to commit a patch if somebody gets around to developing one.

 

- Demian

 

From: Karla Smith [mailto:smith@winnefox.org]
Sent: Wednesday, January 23, 2013 12:12 PM
To: 'VUFind-Unicorn Driver Development List'; 'Thomas Misilo'; 'vufind-general@lists.sourceforge.net'
Subject: Re: [VuFind-General] Prevent renewals of overdue material

 

Yes, there are Symphony/Unicorn users who would want to allow renewals of overdue items!  It’s probably the #1 reasons why our patrons renew their items. The items is a day overdue, they can’t make it to the library today, and rather than keep accruing fines, they’ll renew the items. 

 

However, it would be nice if there were an easier way to define what does/doesn’t get a renewal checkbox—kind of like the list of invalidPickupLocations or [UnavailableLocations] in Unicorn.ini.  

 

For example, our system is set up so that Symphony blocks renewals if there is a hold on the item or if the item has already been renewed once(and I guarantee there are sites with different policies).  However, VuFind displays the renewal checkbox, and the patron can TRY to renew only to get an error message that no renewal is allowed.  It would be nice if the checkbox didn’t even appear for those items that the ILS knows aren’t renewable(for whatever reason).

 

Just my $.02 worth.

--Karla

Karla Smith, ILS Manager

Winnefox Library System

Oshkosh, WI 54904

~If Truth is Beauty, how come no one has their hair done in the library? – Lily Tomlin

 

 

 

 

From: vufind-unicorn-l-bounces+smith=winnefox.org@lists.lehigh.edu [mailto:vufind-unicorn-l-bounces+smith=winnefox.org@lists.lehigh.edu] On Behalf Of Demian Katz
Sent: Wednesday, January 23, 2013 8:52 AM
To: Thomas Misilo; vufind-general@lists.sourceforge.net
Cc: 'VUFind-Unicorn Driver Development List'
Subject: Re: [VUFind-Unicorn-L] Prevent renewals of overdue material

 

A slightly more compact approach might be to set:

 

$renewable = !$overdue;

 

…but that’s just me being picky!

 

In any case, this seems like a change that most people would want.  Should I commit this to the VuFind trunk, or are there any Unicorn/Symphony users out there who actually want to allow renewals of overdue items?  (I suppose this could become a Unicorn.ini setting if there is debate).

 

- Demian

 

From: Thomas Misilo [mailto:misilot@fit.edu]
Sent: Wednesday, January 23, 2013 9:38 AM
To: Demian Katz; vufind-general@lists.sourceforge.net
Cc: 'VUFind-Unicorn Driver Development List'
Subject: RE: Prevent renewals of overdue material

 

Thanks, I got it working. Below is what a diff of the changes I made.

                     

@@ -746,6 +746,11 @@ class Unicorn implements DriverInterface

                 );

             }

             $charge_key = "$charge_key1|$charge_key2|$charge_key3|$charge_key4";

+            $renewable = true;

+            if($overdue) {

+               $renewable = false;

+            }

+

             $items[] = array(

                 'id' => $catkey,

                 'date_charged' =>

@@ -760,7 +765,7 @@ class Unicorn implements DriverInterface

                 'date_recalled' => $this->_formatDateTime($date_recalled),

                 'recall_duedate' => $this->_formatDateTime($recall_duedate),

                 'original_duedate' => $this->_formatDateTime($original_duedate),

-                'renewable' => true,

+                'renewable' => $renewable,

                 'charge_key' => $charge_key,

                 'item_id' => $charge_key,

                 'callnum' => $callnum,

 

From: Demian Katz [mailto:demian.katz@villanova.edu]
Sent: Wednesday, January 23, 2013 9:16 AM
To: Thomas Misilo; vufind-general@lists.sourceforge.net
Cc: 'VUFind-Unicorn Driver Development List'
Subject: RE: Prevent renewals of overdue material

 

If you want to disable renewals entirely, you can do that through config.ini.  If you fix the driver to set the correct flag value for allowing renewals, “renew all” should work correctly (it should respect that setting).

 

- Demian

 

From: Thomas Misilo [mailto:misilot@fit.edu]
Sent: Wednesday, January 23, 2013 9:13 AM
To: Demian Katz; vufind-general@lists.sourceforge.net
Cc: 'VUFind-Unicorn Driver Development List'
Subject: RE: Prevent renewals of overdue material

 

I am using the Unicorn driver, so I will look into that. Thought, I wonder if it would be easier to edit the template and make the checkbox disabled. Not sure what would happen though when I click “Renew all Items”.

 

Tom

 

From: Demian Katz [mailto:demian.katz@villanova.edu]
Sent: Wednesday, January 23, 2013 9:05 AM
To: Thomas Misilo; vufind-general@lists.sourceforge.net
Cc: 'VUFind-Unicorn Driver Development List'
Subject: RE: Prevent renewals of overdue material

 

Are you using the Unicorn or Symphony driver?  In either case, renewability of items is determined by the getMyTransactions() method of the driver found in web/Drivers.  It looks like the Unicorn driver is currently marking all items as renewable, so if that’s the one you are using, it may be necessary to add some additional logic there – probably not hard, since there is already a variable indicating whether or not items are overdue.  The Symphony driver already has some logic to block renewals in some circumstances, but it doesn’t seem to be taking overdues into account.

 

Unfortunately, I don’t know specifics related to Symphony itself – but hopefully this will help point you in the right direction!

 

- Demian

 

From: Thomas Misilo [mailto:misilot@fit.edu]
Sent: Wednesday, January 23, 2013 8:49 AM
To: vufind-general@lists.sourceforge.net
Cc: 'VUFind-Unicorn Driver Development List'
Subject: [VuFind-General] Prevent renewals of overdue material

 

Hi,

 

I am currently running Symphony 3.3.1 and VuFind 1.3 and we have run into the problem where users are able to renew overdue materials. Does anyone know of an easy way to prevent this.

 

Thanks,

 

Tom

 

----

Thomas Misilo

Systems Administrator

Evans Library

Florida Institute of Technology

150 W. University Blvd.

Melbourne, Florida 32901

 


--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.

_______________________________________________
VUFind-Unicorn-L mailing list
VUFind-Unicorn-L@lists.lehigh.edu
https://lists.lehigh.edu/mailman/listinfo/vufind-unicorn-l