Add support for ebook API transactions in OPAC (OverDrive/OneClickdigital)

Bug #1673870 reported by Jeff Davis
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Fix Released

Bug Description

Evergreen 2.12 adds basic integration with the OverDrive and OneClickdigital APIs (see bug 1541559). However, this does not include the ability to perform ebook transactions directly in the OPAC. We should add support for the following actions (where supported by the vendor APIs):

- checkout a title
- download a title you have checked out
- renew a title
- checkin a title
- place a hold on a title
- cancel a hold
- edit or suspend a hold

The open-ils.ebook_api backend service already supports many of these actions, so it should mainly be a question of fleshing out the UI.

tags: added: ebookapi opac
Changed in evergreen:
assignee: nobody → Jeff Davis (jdavis-sitka)
milestone: none →
Changed in evergreen:
milestone: → 3.0-alpha
Revision history for this message
Jeff Davis (jdavis-sitka) wrote :

Working branch user/jeffdavis/lp1673870-ebook-transactions has initial support for ebook transactions:;a=shortlog;h=refs/heads/user/jeffdavis/lp1673870-ebook-transactions

To do:

- more testing of OverDrive checkouts/downloads
- OneClickdigital testing
- support for suspending holds

Revision history for this message
Jeff Davis (jdavis-sitka) wrote :

New branch with additional fixes, squashed and rebased to current master, ready for testing:;a=shortlog;h=refs/heads/user/jeffdavis/lp1673870-ebook-transactions-squashed-rebased

tags: added: pullrequest
Galen Charlton (gmc)
Changed in evergreen:
assignee: Jeff Davis (jdavis-sitka) → Galen Charlton (gmc)
importance: Undecided → Wishlist
status: New → Confirmed
Revision history for this message
Galen Charlton (gmc) wrote :

I have a signoff branch here with a couple follow-up patches: user/gmcharlt/lp1673870_signoff

I was able to successful test placing hold requests, checking out books, and downloading the DRM file for OverDrive. Overall, I think this is OK to include for 3.0, although I would appreciate it if anybody who is currently using the ebook integration could test. Also, Jeff, please check over my follow-ups and add release notes.

That said, there are some areas I see for improvement:

- replacing the Dojo with plain JavaScript or jQuery
- when placing a hold for OverDrive, the wrong counter (holds ready for checkout) seems to get incremented
- one of my follow-up patches suggests that there's something weird going on with management of the ebook session cookie that could be cleaned up
- due dates in the ebook checkout table (at least for OverDrive) could stand to be formatted better
- it would be good of the UI displayed feedback upon clicking the checkout or place hold buttons that it's processing the request
- there's no indication if a hold cancellation fails

Galen Charlton (gmc)
Changed in evergreen:
assignee: Galen Charlton (gmc) → nobody
tags: added: needsreleasenote signedoff
Revision history for this message
Jeff Davis (jdavis-sitka) wrote :

Working branch user/jeffdavis/lp1673870_signoff has signoffs on Galen's follow-up commits, plus release notes indicating that this is an experimental feature and pointing back to the 2.12 release notes for configuration instructions.

Replacing Dojo has been on my to-do list from the beginning. :) Now that we have official support for jQuery in the OPAC (per bug 1642086), I'll commit to switching the ebook integration from Dojo to jQuery.

I'll continue to work on Galen's other areas of improvement as well.

Thanks for testing and feedback!

tags: removed: needsreleasenote
Changed in evergreen:
assignee: nobody → Jeff Davis (jdavis-sitka)
Galen Charlton (gmc)
Changed in evergreen:
assignee: Jeff Davis (jdavis-sitka) → nobody
Revision history for this message
Bill Erickson (berick) wrote :

Grabbing to apply another pair of eyes..

Changed in evergreen:
assignee: nobody → Bill Erickson (berick)
Revision history for this message
Bill Erickson (berick) wrote :

Code reviewed, tests passed, test mode in catalog behaves as expected. Looks good. Merged to master.

Changed in evergreen:
assignee: Bill Erickson (berick) → nobody
status: Confirmed → Fix Committed
Changed in evergreen:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.