I've pushed a branch to the working repo for review: user/jeffdavis/lp1541559-ebook-api This adds the new open-ils.ebook_api service with handlers for the OverDrive and OneClickdigital APIs, and integrates title and patron transaction info from those APIs into the TPAC. The UI does not yet have support for performing actions (checking out or renewing titles; placing, suspending, or canceling holds). I'm hoping we can get the present functionality into the 2.12 release, and add the missing transaction functions in the release after 2.12. A few minor tweaks are still required (e.g. better-looking display of transaction details in My Account), but this code is ready for review. Documentation is forthcoming as soon as I can write it. As noted above, the underlying assumption here is that you are loading vendor MARC records directly into Evergreen. It is assumed that these records contained vendor-specific URIs in the 856 field, or in the case of OverDrive, that vendor ebook records contain an appropriate 037 tag (see the changes to parts/misc_util.tt2 for details). MINIMAL SETUP INSTRUCTIONS: 1. Add the required block to your opensrf.xml (see changes to opensrf.xml.example in this branch). 2. Add the open-ils.ebook_api service to opensrf.xml and opensrf_core.xml as required (see examples in this branch). 3. Edit the following settings in parts/config.tt2: ebook_api.enabled -> true ebook_api.ebook_test.enabled -> true (optional for production, but required if you want to use the Test handler as described below) USING THE TEST HANDLER: As written, the code includes a "Test" handler which can be used to test the new service; live tests use this handler. I've also added a few new MARC records to the concerto dataset that work with the Test handler (see Open-ILS/tests/datasets/sql/bibs_ebook_api.sql); a search for "tolkien" will show those records in the OPAC, and if ebook API is enabled (see below), holdings info will be displayed for those titles. Finally, the Test module displays transaction info for the user with barcode 99999359616; if you login with barcode 99999359616 / password andreac1234, you will see ebook transaction totals in the dashboard and detailed ebook transaction info in My Account. ADDITIONAL SETUP INSTRUCTIONS: If you want to set this up to work with the OverDrive and/or OneClickdigital APIs, you will need to do the following: 1. Add the necessary values for the new org settings for those vendor APIs (basic token, library ID, etc.). You will need to contact the vendor to get those values. I'll document the settings more thoroughly in future, but in the meantime, consult vendor API documentation for more details: http://developer.overdrive.com/ http://developer.oneclickdigital.us/ 2. In the TPAC, edit parts/config.tt2. For OneClickdigital, for example, you'd want to adjust the following settings: ebook_api.enabled -> true ebook_api.oneclickdigital.enabled -> true ebook_api.oneclickdigital.base_uris -> [ comma-separated list of URI pattern(s) you use in the 856 field of your OneClickdigital MARC records ] (NB: OverDrive Granted Authentication with 3-legged OAuth, previously discussed in this ticket, is not yet supported.)