Biblio-level recalls

Recalls have been implemented at biblio-level, sponsored by Waikato Institute of Technology. This is a test plan for this functionality. 
=== Getting started ===
To test, you will need: 
*2 borrowers (Borrower A, Borrower B). Borrower A will be your personal borrower account. 
*2 branches (Branch A, Branch B) - to test transfers 
*1 record (Biblio A) with at least 2 holdings (Item A, Item B). Make sure this record has all available items
and a bunch of tabs open to make it easier for yourself. 
This patch introduces three new circulation rules which need to be filled (admin/smart-rules.pl): 
*Recalls allowed (count) - set to 10 
*Recalls per record (count) - set to 1 
*On shelf recalls allowed ( Yes / If any unavailable / If all unavailable ) - set to Yes
Keep the circulations rules open in a separate tab, as we will adjust these throughout the testing. 
Check the configuration and set up notes for recalls to make sure you have everything set (you may need to add those notices). 
=== Placing a biblio-level recall ===
#Log in as Borrower A to the OPAC 
#Find Biblio A (opac-detail.pl) and notice there is no button to place a recall - this is because all items are still available to be checked out normally. So, we need to check out an item and make it recallable. 
#In another tab, log into the staff client as Borrower A and check out Item A to Borrower B (circ/circulation.pl). 
#Go back to the OPAC tab and refresh the page. There should now be a 'Place recall' button under the 'Place reserve' button. Click 'Place recall'. 
#You are taken to the OPAC recall request page (opac-recall.pl). You can set a pickup location (use Branch A for now), an expiration date (if the recall is not fulfilled by this date, the recall request can be cancelled (NB: recall expiration has not yet been implemented)), and the level of the recall. Since we are testing biblio-level recalls, select the 'Recall next available item' option and click Confirm. You should be shown confirmation of your recall request. 
#In your staff client, go to Borrower B and look at their Notices tab (members/notices.pl). There should be a notice sent 'Notification to return a recalled item'. 
#In the staff client, go to Biblio in the catalogue (catalogue/detail.pl). There will be a Recalls tab (recalls/request.pl), with information about your recall request. 
#Go to Borrower A (your borrower) and there will be information about your recall under the Check out, Details (members/moremember.pl), and Recalls history (members/recallshistory.pl) tabs. 
#Go to Circulation and look at the Recalls Queue (circ/recalls_queue.pl). You can see information about your recall (and all recalls in the system) here. 
#You can also see information about your recall history in the OPAC (opac-recalls.pl). 
#Go back to the record and try to place a recall again. Note you will not be able to, because we set the 'Recalls per record' rule to 1. In your circ rules tab, change 'Recalls per record' to 5 and save. Then refresh the OPAC recall page. You should be able to place additional recalls on this record. You can also test 'Recalls allowed' in the same way by changing this value. 
#You can also test the 'on shelf recalls allowed' rule. Set to 'if any unavailable' and ensure that all items are available for checkout - the recall button should not show. If you check out one item, recalls should work again. Set to 'if all unavailable' and ensure that at least one item is available for checkout - the recall button should not show. If all items are checked out, recalls should work again.
This entire OPAC functionality also works without Javascript enabled in the browser. You are welcome to follow the steps above, with Javascript disabled, to test this. Note, the staff client will not work without Javascript.
=== Filling a recall ===
So now that we have a recall request, how do we fulfill it? There are multiple ways to check in an item in the staff client and confirm the recall as waiting. Make a new recall request for each of these options to test them. You can test that checking in and setting as waiting works by viewing the checkouts for Borrower B (Item A should be gone because it's been checked in) and viewing the Recalls for Borrower A - you (the recall should show as 'Waiting'). 
#The Return tab in the header - will need to 'Confirm recall'. You canalso test printing a recall slip from here. 
#The circulation Checkin page (circ/returns.pl) - wil need to 'Confirm recall'. You can also test printing a recall slip from here. 
#The Recalls Queue (circ/recalls_queue.pl) - 'Check in and set waiting' buttons only show for recalls that are newly requested or overdue to be returned. They will not show for waiting or finished recalls. 
#The Recalls tab in the catalogue (recalls/request.pl) (same deal as the Queue) 
#Check Borrower A's notices (members/notices.pl) and confirm the 'Recalled item awaiting pickup' notice has been sent. The recall status will now show as 'Recall awaiting pickup' everywhere. 
#Finally to complete the recall, check the item out to Borrower A. The recall will be removed from the Recalls tab and will now show as a checkout in the Checkouts tab.
=== Working with multiple branches (transfers) ===
#Go through 'Placing a biblio-level recall' instructions, but this time choose Branch B as the pickup location. 
#Go to return the item using the circulation Checkin page or the Return tab in the header. Notice the confirm prompt now asks you to confirm the transfer to a different branch. Click 'Confirm'. You can also test printing a transfer slip from here. 
#Switch the library your staff client is using (circ/selectbranchprinter.pl) to Branch B. 
#The transfers to receive page (circ/transferstoreceive.pl) should show your recalled item coming in. 
#Check in the item again using the circulation Checkin page or the Return tab in the header. This will tell the system that the item has arrived at the branch and set the recall to waiting. 
#Check the recall status has changed to 'Recall awaiting pickup' everywhere, and check Borrower A's notices (members/notices.pl) to confirm they have been sent the 'Recalled item awaiting pickup' notice. 
#Finally, check out the item to Borrower A to complete the recall.
=== Other things to try ===
*Try different item availability - edit items and make them notforloan, withdrawn or lost. These items cannot be recalled. 
*You can also cancel recalls from all of the pages you can view them, including the OPAC recalls history. 
*Try different combinations of borrowers and item types for the circulation rules and see if anything breaks.
=== Did we break item-level recalls? ===
Test that recalling a specific item still works as expected. The steps will be the same, except choose the 'Recall a specific item' option in the OPAC instead of the next available. 
=== Other links ===
Go back to main recalls page