Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Generate working links to e-collection records #87

Open
mksndz opened this issue Sep 25, 2020 · 0 comments
Open

Generate working links to e-collection records #87

mksndz opened this issue Sep 25, 2020 · 0 comments
Assignees

Comments

@mksndz
Copy link
Member

mksndz commented Sep 25, 2020

Alma "E-Collection" records currently fail to get a properly proxied link displayed in Franklin. See: https://franklin.library.upenn.edu/catalog/FRANKLIN_9977806853403681

E-Collections do not return any "holding" records in the Alma API availability lookup. As a result, Franklin calls the Alma API again for e-collection info, which returns the URL for the e-collection, but the returned link devoid of any proxy prefix. This is bad for users.

As a solution, we can appropriate Alma's Link Resolver to retrieve a valid Link Resolver URL for e-collections using this URL scheme:

https://upenn.alma.exlibrisgroup.com/view/uresolver/01UPENN_INST/openurl?&u.ignore_date_coverage=true&rft.mms_id=9977806853403681&rfr_id=info:sid/primo.exlibrisgroup.com&svc_dat=CTO

This returns some XML that contains a resolver URL that we can use in Franklin to properly set the EZProxy prefix for the resource:

<uresolver_content>
  <context_services>
    <context_service service_type="DB" context_service_id="26412423330003681">
      <keys>
        <key id="portfolio_PID">61647149460003681</key>
        ....
      </keys>
      <resolution_url>
        <!-- THIS IS THE URL WE NEED FOR DISPLAY -->
        https://upenn.alma.exlibrisgroup.com/view/action/uresolver.do?operation=resolveService&package_service_id=26412423330003681&institutionId=3681&customerId=3680
      </resolution_url>
      <target_url>
        http://proxy.library.upenn.edu/login?&url=http://search.ebscohost.com/login.aspx?authtype=ip,uid&profile=ehost&defaultdb=hia
      </target_url>
    </context_service>
   ...
  </context_services>
</uresolver_context>

I wish there was a better way, but there's no API endpoint that will return this URL. The URL itself contains a package_service_id identifier that is always unique - I believe to support Link Resolver statistics.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant