OpenAthens integration

Bug #1842297 reported by Julian Clementson on 2019-09-02
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Evergreen
Wishlist
Unassigned

Bug Description

This is a new feature proposal, to provide integration between Evergreen and OpenAthens, a global cloud-based single sign-on service.

Background

The GALILEO Consortium of libraries in Georgia has selected OpenAthens to deliver a state-wide solution for single sign-on, and this contract includes integrating Evergreen into OpenAthens, so that PINES patrons can seamlessly access OpenAthens-authenticated resources.

The OpenAthens development team has been contracted to implement the integration on behalf of GPLS and demonstrated a proof of concept to selected representatives of the Evergreen community and the PINES consortium in July 2019. The aim is to get this feature accepted into an upcoming release so that it is ready for PINES to start using towards the end of the year.

DocuWiki page: https://wiki.evergreen-ils.org/doku.php?id=dev%3Aproposal%3Aopenathens_integration

Code and documentation ready for review:
https://github.com/evergreen-library-system/Evergreen/pull/89

Yamil (ysuarez) on 2019-09-02
tags: added: authentication
Changed in evergreen:
assignee: nobody → Julian Clementson (oajulianc)
status: New → In Progress
description: updated
tags: added: pullrequest
description: updated
Bill Erickson (berick) on 2019-10-01
Changed in evergreen:
milestone: none → 3.next
importance: Undecided → Wishlist
Changed in evergreen:
assignee: Julian Clementson (oajulianc) → nobody
Galen Charlton (gmc) wrote :

I would be interested in testing this. Is there any chance that a test OpenAthens system could be made available?

Changed in evergreen:
milestone: 3.next → 3.5-alpha
status: In Progress → Confirmed
Julian Clementson (oajulianc) wrote :

Thanks Galen, I'll find out if/when we can make an account available for testing. OpenAthens doesn't have the concept of free trial; test accounts are normally only created for customers who are in the process of onboarding. I know Chris Sharp will be interested in testing this. I'll find out more.

Chris Sharp (chrissharp123) wrote :

Found an issue testing this on a stock master machine. First-time install from the openathens-sso-integration branch installs the application layer code, but not the DB schema changes. I corrected that at the very tip of https://git.evergreen-ils.org/?p=working/Evergreen.git;a=shortlog;h=refs/heads/user/csharp/lp1842297_openathens_integration. We will be testing this on realistic PINES data over the next few weeks.

Chris Sharp (chrissharp123) wrote :

Found another issue - the ADMIN_OPENATHENS permission needed to added to the perm list. Done in the same branch as above.

Julian Clementson (oajulianc) wrote :

Great to see you starting to test this Chris. I've confirmed that we're not in a position to set up test accounts for anyone who isn't already signed up to OpenAthens, so yours will be the tests that count. Let me know if you have any issues on the OpenAthens account side.

Chris Sharp (chrissharp123) wrote :

(Referencing https://git.evergreen-ils.org/?p=working/Evergreen.git;a=blob;f=docs/RELEASE_NOTES_NEXT/Administration/OpenAthens_SignOn.adoc;h=1c526d3d5093389247f2e7a3a0a014bec1b6171e;hb=refs/heads/user/csharp/lp1842297_openathens_integration)

After setting up the OpenAthens-side configuration, I entered a library account within Evergreen, then after not seeing it appear on the screen after save, I created it again. Then realized (duh) that the "+ Descendants" box was not checked, and when I attempted to delete the duplicate (Actions for Selected Rows -> Delete Selected), the row is not deleted and I see this in the JS console:

ERROR TypeError: "this.pcrud is undefined"
    deleteSelected https://example.org/eg2/en-US/5.154ad4ac26ce40a418c8.js:1
    performAction https://example.org/eg2/en-US/3.13e4e9d394b649459a22.js:1
    g https://example.org/eg2/en-US/3.13e4e9d394b649459a22.js:1
    handleEvent https://example.org/eg2/en-US/main.6d2a2c5a91d2be9f3634.js:1
    handleEvent https://example.org/eg2/en-US/main.6d2a2c5a91d2be9f3634.js:1
    na https://example.org/eg2/en-US/main.6d2a2c5a91d2be9f3634.js:1
    Da https://example.org/eg2/en-US/main.6d2a2c5a91d2be9f3634.js:1
    V https://example.org/eg2/en-US/main.6d2a2c5a91d2be9f3634.js:1
    invokeTask https://example.org/eg2/en-US/polyfills.6a11e44a9ce83c8cb5ef.js:1
    onInvokeTask https://example.org/eg2/en-US/main.6d2a2c5a91d2be9f3634.js:1
    invokeTask https://example.org/eg2/en-US/polyfills.6a11e44a9ce83c8cb5ef.js:1
    runTask https://example.org/eg2/en-US/polyfills.6a11e44a9ce83c8cb5ef.js:1
    invokeTask https://example.org/eg2/en-US/polyfills.6a11e44a9ce83c8cb5ef.js:1
    m https://example.org/eg2/en-US/polyfills.6a11e44a9ce83c8cb5ef.js:1
    b https://example.org/eg2/en-US/polyfills.6a11e44a9ce83c8cb5ef.js:1
main.6d2a2c5a91d2be9f3634.js:1:193550

Julian Clementson (oajulianc) wrote :

I'll see if I can reproduce this when I have moment. I've basically just copied the crud process from one of the other library settings, so this is most likely an existing bug. It shouldn't prevent you testing the rest of OpenAthens functionality as it just takes the first setting it can find for the library if there are duplicates.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers