URL of Domain Configuration: Improving EZProxy Support

About Domain Configuration File

Open Access Helper supports your institutional EZProxy, however when you click the popover you will quickly notice that it will show a EZProxy button regardless of the URL you are on. This will lead your users to errors and you can help avoid this by providing a JSON file, which tells Open Access Helper, which domains you support.

There are two things that are needed:

    1. A JSON configuration file
    2. A publicly accessible URL that you enter in Open Access Helper

The JSON File

The format of the JSON file is quite basic, the Object has up to four properties id: String, prefix : String, domains : [String], translations : Object.

{ 
"id": "123",
"prefix": "https://proxy.idm.oclc.org/login?url=",
"domains": [
"proquest.com",
"jstor.org",
"ebscohost.com",
"research.ebsco.com"
],
"translations": {
"content_ill_002" : {
"en" : "Our OpenURL Link-Text",
"de" : "User OpenURL Link-Text"
}
}
}

Properties of the configuration object

id

This is the ID of your configuration in Open Access Helper. You can find it by looking at Open Access Helper settings and once you have selected your institution, the ID will be shown in round brackets, as in this example:

prefix

This is simply your EZProxy Prefix up to the URL that needs to be proxied. It usually ends in ?url= or ?qurl=

domains

This is an array of Strings. Your EZProxy configuration file will usually be very explicit, for example listing web.a.ebscohost.com and eds.a.ebscohost.com and many more. You could provide this information at that granular level, or you could decide to reduce complexity by allowing everything that includes ebscohost.com. Try to avoid added things like gov.uk or ac.uk as it will match too many sites on the internet

translations

If you don’t quite like the labels within Open Access Helper, you could use this object to provide your own translations. Unfortunately this will require a little bit of help from me, as you will need to know the translation key used within the app. 

To make it short:

You use the translation key as the object property, which consists of an object of translation strings, with simple two-character language codes as property names, e.g.:

"translations": {
"content_ill_002" : {
"en" : "ISTA GetIt",
"de" : "ISTA GetIt"
}
}

Since some translations are dynamic based on inputs, you can use placeholders as in the example below. Please ask for help, I think this needs testing before implementation…

"translations": {
    "popup_proxybutton_001" : {
      "en" : "Publisher Platform:<br><button id=\"ezproxybutton\" data-url=\"$2$\">$3$</button>",
      "de" : "Verlagsplattform:<br><button id=\"ezproxybutton\" data-url=\"$2$\">$3$</button>"
    }
  }

Ask for help

While I had this functionality for a while, it has not been widely used. Please contact me at info@oahelper.org to get help with setup. It is free and I am going to learn a ton along the way about your use cases!

Scroll to top