I know this will be quite an interesting feature for lots of people. Catalyst
is doing a working proof of concept for this feature. The requirements we have
given to Aleisha are firm, and we will not be scope creeping them. Additional
features are welcome once this initial development is either accepted or
supplanted by something else.
That said, we welcome comment and suggestions on the patches we will attach
here, and view this as a starting point instead of a complete solution.
Expected scope of the feature to include:
- Ability for borrowers to place a recall on a book from the OPAC results and
detail, if it is checked out (question, do we offer to issue a recall if only
one copy of say 3 is checked out?)
- Ability for borrowers to see their requested recalls, and the when the book
is expected to be returned back
- An interface similar to holds for recalls, that alerts librarians that a book
needs to go on the recall shelf (Recall for User, confirm or cancel)
- An interface similar to holds waiting to show recalls that are currently on
the shelf, and recalls that are requested but overdue, and ones that have
expired and need to be reshelved.
- A view in the intranet user interface for librarians to see a borrower's
recalls (similar to holds)
- Notices for borrower who has the recalled book on issue, to notify that the
book's due date has changed and for the recaller, to let them know when the
recalled item is ready for pick up.
- Something in the circ rules that defines whether an item type/borrower
category is allowed to place recalls on an item.
- Sysprefs for "days from now that item is now due" and "how long do I let this
recall languish on the recall shelf before reshelving"
Current implementation notes:
* DB: recalls table
• DB: old_recalls table
• notices: to user who has an item checked out that a recall request has been
placed on, saying request has been made and due date has been updated (may use
or build upon existing code from 17509)
• notices: to user who made the recall request when it has been checked in,
saying the item is awaiting pickup and must be picked up within X days (may use
or build upon existing code from 17509)
• OPAC: in checked out tab on user summary page, show your item has a recall
placed on it, highlighting the new due date
• OPAC: recall button under availability on record detail page and results page
• OPAC: recalls tab on user summary page
Per item type/borrower category combination:
• circ rules: recall due date interval - what is the new due date of the item
being recalled? How many days from the date of recall do we set the new due
• circ rules: recall overdue fine - Do we have a special fine on an item that
was recalled but not returned on time? (this may be a phase two feature)
• circ rules: recall shelf time (how long can it be awaiting pickup before it
needs to be reshelved)
• circ rules OR syspref: do recalls automatically expire? (this may be a phase
• circ reports: overdue recalls
• circ reports: recalls awaiting pickup / recalls waiting over X days
• circ reports: recalls queue
• intranet: recalls tab on member detail page, showing recalls that the
borrower has requested.
• intranet: highlight on checkout and detail page items with a recall due date.
• intranet: alert when checking in an item with a recall
What |Removed |Added
CC| |[hidden email]-c
--- Comment #5 from Jonathan Druart <[hidden email]> ---
(In reply to Liz Rea from comment #0)
> Current implementation notes:
> * DB: recalls table
> • DB: old_recalls table
Regarding the number of critical issues we had the last few months, I do not
think it is a good idea to reuse this pattern.
We should not move data from one table to another but add a deleted/old flag
- adds the 'Recall' button to the item on it's detail page
- adds ability to place a recall
- the recall is stored in the recalls table
- the due date for the checkout is updated to whatever has been set in
the issuing rule under recall_due_date_interval
- error messages for if the user isn't logged in, the user tries to
place a recall on an item they have already recalled, or if storing
the recall in the db fails for any reason
- adds Recall tab to the Check out section of member account, and to the
Details section of member account
- Functionality to cancel recalls on staff side
- Fixing cancel on OPAC side (before I was deleting the whole recall
instead of cancelling)
- Fixing validation when checking whether a recall can be placed on an
item that has been recalled by this borrower before. If the old recall
is expired or cancelled then they can make a recall again.
- adds recalls history (similar to holds history) to OPAC and intranet
- edits the tables in opac-user.pl (OPAC), moremember.pl and
circulation.pl (staff) so that it only shows active recalls (recalls
that have been requested or are waiting)
- some extra datatables fixes
When checking in an item on the staff side, the staff member will see a
pop up if there is a recall attached to that item. From here, they can
confirm the recall, setting the status to 'Waiting' and updating the
waitingdate. The item will still be checked in.