Preferences: Crossref

Preference settings for the Crossref data source

NOTE: This dialog box was restricted from Publish or Perish 6.36 to prevent abuse. Communication with this data source uses preset defaults for most settings from this release onward.

This dialog box appears when you choose the Tools > Preferences command from the main menu and go to the Crossref tab. It allows you to edit a number of settings that affect the way Publish or Perish deals with queries to Crossref.

Note: The options in this dialog box are intended for users who are familiar with data sources such as Crossref and client-server communication using the HTTP[S] protocol. If you are not, then you are strongly advised to leave these options at their default values unless specifically instructed otherwise.

General

This box contains general options relating to the way Publish or Perish issues queries to Crossref.

Option Description
Query URL Enter the URL that Publish or Perish should use to perform Crossref queries.
Contact URL

Enter the application URL that Publish or Perish should embed in the User-Agent string sent to Crossref. Crossref etiquette demands that applications using its API identify themselves in the User-Agent string.

If you leave this field empty, then Publish or Perish will insert its own home page URL; this is the recommended option unless you have special arrangements with Crossref.

Contact email

Enter the contact email address that Publish or Perish should embed in the User-Agent string sent to Crossref. Crossref etiquette demands that applications using its API identify themselves in the User-Agent string.

If you leave this field empty, then Publish or Perish will insert its own technical support email address; this is the recommended option unless you have special arrangements with Crossref.

Request rate limiter

This box contains options that determine how Publish or Perish limits the rate at which requests are sent to Crossref.

Requests are related to queries but are not the same:

  • Each query translates to one or more requests for results that are potentially sent to Crossref. Currently, each request returns up to 100 results, so a single query that returns, say, 350 results in all requires 4 individual requests (3 x 100 full + 1 x 50 partial).
  • A request may be satisfied from Publish or Perish's own cache, in which case the request is not sent to Crossref (unless you use Lookup Direct).
  • If you sent too many requests to Crossref or if the requests follow each other too quickly, Crossref may block further requests.

The request rate limiter options help you to keep the number of requests sent to Crossref down to acceptable levels.

Option Description
Maximum number of
results per query

Enter the maximum number of results that Publish or Perish should retrieve for each query. Crossref has no preset limit of its own, but you can set a reasonable maximum if you are only interested in the most relevant results for each query. This also reduces the total number of requests that Publish or Perish sends to Crossref.

Maximum request rate
<n> requests/minute

Enter the maximum number of requests per minute that Publish or Perish should send to Crossref. This is a short-term limit and only takes into account the request rate over the past 60 seconds.

If this limit is exceeded, then Publish or Perish will delay sending the next request until the request rate has fallen below the maximum that is set here.

Use adaptive request rate Check this box to slow down the request rate when Publish or Perish detects that the request rate approaches certain preset limits; clear this box to keep sending requests at the maximum rate. We recommend that you leave this option checked.
Show request rate warnings Check this box to display warnings when Publish or Perish detects that the request rate approaches certain preset limits; clear this box to suppress those warnings. We recommend that you leave this option checked.
Show Yellow warning if rate
exceeds <n> requests/hour

Enter the threshold for "Yellow" query rate warnings. This is a medium-term limit and takes into account the request rate over the past hour. The actual limit is an empirical value based on the Crossref subscription query rates; we recommend setting this option to 1500 or less.

This option is used for two purposes:

  • If the Use adaptive request rate option is checked, it acts as a threshold for the adaptive request rate
  • If the Show request rate warnings option is checked, exceeding this rate triggers a warning
Show Red warning if rate
exceeds <n> requests/hour

Enter the threshold for "Red" query rate warnings. This is a medium-term limit and takes into account the request rate over the past hour. The actual limit is an empirical value based on the Crossref subscription query rates; we recommend setting this option to 1800 or less.

This option is used for two purposes:

  • If the Use adaptive request rate option is checked, it acts as an upper limit for the adaptive medium-term request rate
  • If the Show request rate warnings option is checked, exceeding this rate triggers a warning
Keep cached results
for <n> days

Enter the number of days to keep the query results from queries. The longer this period, the fewer accesses are required to satisfy repeated queries. Any updates in the query results only become visible after the cache period has expired, so you don't want to make this period too long.

Other options

The following additional options are available in the form of push buttons:

Option Description
Reset to defaults

Click this button to reset all fields to their "factory" defaults. This is useful if you have made changes, but decide to start from a known base again.

Clear the cache Click this button to clear the entire results cache. This forces subsequent queries to access Crossref directly, which might be useful after a (suspected) update on Crossref, or if you have reason to believe that the cached results are somehow invalid.
Show statistics Click this button to open the Data provider information dialog box with current statistics and settings for the underlying data provider (i.e., Crossref).