Thresholds
Thresholds Overview
- List of Targets – Conditions for linking to a vendor
- List of Target Services – Conditions for linking to a type of service at a vendor—for example, full-text or abstracts at a publisher.
- List of Object Portfolios – Conditions for linking to an object. For example, a journal for the getFullTxt service of HighWire may be available only from 1997 volume 2 issue 3 and later.
$obj |
$obj->need(attribute_name, [operator, [value]]) $obj->parsedDate(operator, date_value, volume_value, issue_value) $obj->timediff(operator,timestring) $obj->plugIn(name_of_plugin_program) $obj->inList(‘@array’,'string'); $obj->NotInList('@array','string') |
Operator | Description |
---|---|
> | Greater than |
< | Less than |
>= | Greater or equal |
<= | Less or equal |
!= | Not equal |
== | Equal |
gt | Greater than (alpha-numeric) |
lt | Less than (alpha-numeric) |
ge | Greater or equal (alpha-numeric) |
le | Less or equal (alpha-numeric) |
ne | Not equal (alpha-numeric) |
eq | Equal (alpha-numeric) |
Local and Global Thresholds
- Global thresholds – Thresholds supplied by Ex Libris. Global thresholds are used by default. If an institution does not fill in the local threshold field, the global threshold is used.
During the update procedure, global thresholds are automatically updated if necessary—for example, if a particular journal has more electronic back-files than it had before. When the global threshold is active in an institution’s SFX database and Ex Libris changes this threshold during an update, the updated threshold is automatically available to the institution.
- Local threshold – Thresholds created by an institution to reflect local conditions. If an institution creates a local threshold, this threshold overrides the global threshold field. The local threshold is used instead.
Local thresholds are typically used to specify an institution’s subscription dates of electronic journals. For example, although an electronic journal is available from 1990 and later on a publisher’s Web site, an institution has access only from 1999 and later because the subscription started only in 1999. In this case, the global threshold is 1990, and the local threshold is 1999. During the update procedure, local thresholds are never removed or changed.
- Local threshold AND global threshold: GLOBAL && LOCAL
- Local threshold OR global threshold: GLOBAL || LOCAL
- The global threshold is:
$obj->parsedDate(“>=”,1994,26,2) |
- The local threshold is:
GLOBAL && $ENV{'HTTP_X_FORWARDED_FOR'}=~/^207.31.245./ |
Together the threshold is:
$obj->parsedDate(“>=”,1994,26,2) && $ENV{'HTTP_X_FORWARDED_FOR'}=~/^207.31.245./ |
GLOBAL || $obj->parsedDate(“>=”,1996,58,1) |
Threshold Composer
- Click Compose from the threshold field when editing or adding targets, target services, and object portfolios. The Compose Threshold dialog box opens:

- Fill in the fields of the Compose Threshold dialog box according to the following table:
- To confirm your changes, click Submit.
- Select rft.issn in the Needs section.
- Click Submit and select any of the three options in the Confirm Threshold window.
- Go back to the threshold composer and select rft.isbn in the Needs section.
- Click Submit. The Confirm Threshold dialog box opens:

- Select OR existing threshold.
- Click Submit.
.gif?revision=1)
- In the Edit window, click Submit to store the new threshold in the SFX database.
Threshold Types

Parsed Date
$obj->parsedDate( “<“| “>” | “<=” | “>=” | “gt” | “lt” | “ge” | “le” | “==” | “eq” , <date> | undef , <volume> | undef , <issue> | undef ); |
- You have access from 1998 volume 23 issue 1; the threshold is:
$obj->parsedDate(“>=”,1998,23,1). |
- You have access from 1994 volume 2 issue 1 to 1998 volume 6 issue 11; the threshold is:
$obj->parsedDate(“>=”,1994,2,1) && $obj->parsedDate(“<=”,1998,6,11). |
- You have access from 1997 issue 23 to 1999 issue 35; the threshold is:
$obj->parsedDate(“>=”,1997,undef,23) && $obj->parsedDate(“<=”,1998,undef,35). |
- You have access from January 1st 1998 volume 23 issue 1; the threshold is:
$obj->parsedDate(“>=”,19980101,23,1)
|
- You have access from March 1st 1997 until December 31 1999; the threshold is:
$obj->parsedDate(“>=”,19970301,undef,undef) &&
$obj->parsedDate(“<=”,19981231,undef,undef).
|
- Both the month/day information AND the volume/issue information are taken into account as part of the threshold calculation, if they exist. If either month/day or volume/issue information match, this is treated as threshold passes.
- If either volume/issue or month/day information exist and are not undef, only volume/issue or month/day information is taken into account during the threshold calculation.
An exception to this rule is a case of partial data – for example, a day without a month. This is ignored.
- If month/day do not exist (or are undef), and volume/issue do not exist either (or are undef), the parsedDate threshold passes or fails based on year information.
Moving Wall/Embargo
- EBSCOHOST
- ELSEVIER_WEB_EDITIONS
$obj->timediff('>','6m') |
$obj->timediff(<operator>,<timestring>) <timestring> can be: '[0-9]?[Yy]?[0-9][Mm]' |
- 9y – 9 years
- 9Y – 9 years (command is case-insensitive)
- 14m – 14 months
- 1y6m – 1 year and six months
$obj->parsedDate('>',1995,10,2) && $obj->timediff('>','6m') |
You can configure the SFX menu to display a warning if an article may not be available because of an embargo or moving wall period. For more information on configuring this warning, see Menu Design – General Configuration.
Need Attribute
Syntax $obj->need( <attribute> [,”<“| “>” | “<=” | “>=” | “gt” | “lt” | “ge” | “le” | “==” | “!=” | “eq” | “ne”,<value>] ); |
- The SFX request should contain the last name of the (first) author. This threshold is written as:
$obj->need(‘@rft.aulast’) |
- The SFX request should have a year later than or equal to 1998 and should have a volume defined. This threshold is written as:
$obj->need('rft.year','>=','1998')) && ($obj->need('rft.volume') |
$obj->need('@rft.aulast') && $obj->need('rft.year','>=','1998')) && ($obj->need('rft.volume') && ( $obj->need('rft.jtitle') || $obj->need('@rft.abbrev') |
- sfx.sourcename – corresponds to the source ID field entry in the SFX database
- sfx.sid – corresponds to the sid value in the OpenURL
- The following threshold lists a specific service in the SFX menu only if you are using a CSA database as a source. The source ID field in the SFX database for CSA databases is CSA. This threshold is written as:
$obj->need('sfx.sourcename','eq','CSA') |
- The following threshold prevents a particular service from being listed in the SFX menu if the user is using the Aleph database as a source.
The sid sent in the OpenURL is ALEPH. For example:
http://demo.exlibrisgroup.com:9003/demo?sid=ALEPH:EXU01&genre=book&isbn=039304839X&date=1999&title=The+return+of+depression+economics&aulast=Krugman&aufirst=Paul
This threshold is written as:
$obj->need('sfx.sid','ne','ALEPH:EXU01') |
- !~ (for negative)
- ~= (for positive)
$obj->need('sfx.sid','!~','/^ALEPH/') |
$obj->need('rft.isbn','=~','/^0/') |
Authentication
- To display only services for the local domain, you can add thresholds such as:
$ENV{'HTTP_X_FORWARDED_FOR'} =~ /^157.193./
or
$obj->iprange('157.193..')
|
- To display this test target only to the administrator, enter a threshold such as:
$ENV{'HTTP_X_FORWARDED_FOR'} eq '157.193.59.119'
or
$obj->iprange('157.193..')
|
- You can password-protect the SFX site with a WWWAuthenticate. You can make users or groups this way and state in the threshold:
$ENV{'REMOTE_USER'} eq 'administrator' |
or
$ENV{'REMOTE_GROUP'} eq 'staff' |
In List
$obj->InList(‘@array’,'string'); $obj->NotInList('@array','string') Examples: $obj->InList('@rft.subject','sculpture') $obj->NotInList('@sfx.category','Health Sciences') |
Plug In
$obj->plugIn(‘name_of_plugin_program’) |
$obj->plugIn(‘ALEPH’) |
Backward Compatibility of OpenURL 0.1 Thresholds
($obj->need('ISBN') || $obj->need('ISSN') || $obj->need('eISSN') || $obj->need('bookTitle') || $obj->need('journalTitle') || $obj->need('@abbrevTitle')) |
($obj->need('rft.isbn') || $obj->need('rft.issn') || $obj->need('rft.eissn') || $obj->need('rft.btitle') || $obj->need('rft.jtitle') || $obj->need('@rft.abbrev')) |
$obj->need('sfx.sourcename','ne','CSA') |
List of Threshold Attributes
Attribute | Has to Match Regular Expression |
---|---|
url_ver | ^.*$ |
url_tim | ^.*$ |
url_ctx_fmt | ^.*$ |
# Resolver attributes | |
@res_id | ^.*$ |
# Referrer attributes | |
@rfr_id | ^.*$ |
rfr_dat | ^.*$ |
rfr_val_fmt | ^.*$ |
rfr_ref_fmt | ^.*$ |
rfr_ref | ^.*$ |
# Context attributes | |
ctx_ver | ^.*$ |
ctx_enc | ^.*$ |
ctx_id | ^.*$ |
ctx_tim | ^.*$ |
# Service-type attributes | |
@svc_id | ^.*$ |
svc_val_fmt | ^.*$ |
svc_ref_fmt | ^.*$ |
svc_ref | ^.*$ |
svc_dat | ^.*$ |
svc.fulltext | ^yes|no$ |
svc.abstract | ^yes|no$ |
svc.citation | ^yes|no$ |
svc.holdings | ^yes|no$ |
svc.ill | ^yes|no$ |
svc.any | ^yes|no$ |
# Requester attributes | |
@req_id | ^.*$ |
req_val_fmt | ^.*$ |
req_ref_fmt | ^.*$ |
req_ref | ^.*$ |
req_dat | ^.*$ |
# Referrent attributes | |
@rft_id | ^.*$ |
@rfe_id | ^.*$ |
rft_val_fmt | ^.*$ |
rfe_val_fmt | ^.*$ |
rft_ref_fmt | ^.*$ |
rfe_ref_fmt | ^.*$ |
rft_ref | ^.*$ |
rfe_ref | ^.*$ |
rft_dat | ^.*$ |
rfe_dat | ^.*$ |
rft.genre | ^(article|book|bookitem|conference|document|dissertation |issue|journal|patent|preprint|proceeding|report)$ |
rfe.genre | ^(article|book|bookitem|conference|document|dissertation |issue|journal|patent|preprint|proceeding|report)$ |
# These | |
rft.object_type | ^(BOOK|JOURNAL)$ |
rfe.object_type | ^(BOOK|JOURNAL)$ |
rft.isbn | ^(\d-?){9}[0-9xX]$ |
rft.isbn_additional | ^(\d-?){9}[0-9xX]$ |
rfe.isbn | ^(\d-?){9}[0-9xX]$ |
rft.eisbn | ^(\d-?){9}[0-9xX]$ |
rft.eisbn.additional | ^(\d-?){9}[0-9xX]$ |
rft.issn | ^\d{4}-?\d{3}[-0-9xX]$ |
rfe.issn | ^\d{4}-?\d{3}[-0-9xX]$ |
rft.eissn | ^\d{4}-?\d{3}[-0-9xX]$ |
rfe.eissn | ^\d{4}-?\d{3}[-0-9xX]$ |
rft.coden | ^[A-Z]{5}[A-Z0-9]$ |
rfe.coden | ^[A-Z]{5}[A-Z0-9]$ |
rft.sici | ^\S+$ |
rfe.sici | ^\S+$ |
rft.bici | ^\S+$ |
rfe.bici | ^\S+$ |
rft.atitle | ^.*$ |
rfe.atitle | ^.*$ |
rft.btitle | ^.*$ |
rfe.btitle | ^.*$ |
rft.jtitle | ^.*$ |
rfe.jtitle | ^.*$ |
@rft.stitle | ^.*$ |
@rfe.stitle | ^.*$ |
rft.title | ^.*$ |
rfe.title | ^.*$ |
rft.volume | ^(\D+[1-9]\d*)|(\D+)|([1-9]\d*)([\-&+\/](\D+[1-9]\d*)|(\D+)|([1-9]\d*))?$ |
rfe.volume | ^(\D+[1-9]\d*)|(\D+)|([1-9]\d*)([\-&+\/](\D+[1-9]\d*)|(\D+)|([1-9]\d*))?$ |
rft.volume_alphastart | ^[a-zA-Z]{0,6} |
rfe.volume_alphastart | ^[a-zA-Z]{0,6} |
rft.volume_alphaend | ^[a-zA-Z]{0,6} |
rfe.volume_alphaend | ^[a-zA-Z]{0,6} |
rft.volume_start | ^[1-9][0-9]{0,5}$ |
rfe.volume_start | ^[1-9][0-9]{0,5}$ |
rft.volume_end | ^[1-9][0-9]{0,5}$ |
rfe.volume_end | ^[1-9][0-9]{0,5}$ |
rft.issue | ^(\D+[1-9]\d*)|(\D+)|([1-9]\d*)([\-&+\/](\D+[1-9]\d*)|(\D+)|([1-9]\d*))?$ |
rfe.issue | ^(\D+[1-9]\d*)|(\D+)|([1-9]\d*)([\-&+\/](\D+[1-9]\d*)|(\D+)|([1-9]\d*))?$ |
rft.issue_alphastart | ^[a-zA-Z]{0,6} |
rfe.issue_alphastart | ^[a-zA-Z]{0,6} |
rft.issue_alphaend | ^[a-zA-Z]{0,6} |
rfe.issue_alphaend | ^[a-zA-Z]{0,6} |
rft.issue_start | ^[1-9]-?\d{0,5}$ |
rfe.issue_start | ^[1-9]-?\d{0,5}$ |
rft.issue_end | ^[1-9]-?\d{0,5}$ |
rfe.issue_end | ^[1-9]-?\d{0,5}$ |
rft.spage | ^[1-9][0-9]{0,4}$ |
rfe.spage | ^[1-9][0-9]{0,4}$ |
rft.epage | ^[1-9][0-9]{0,4}$ |
rfe.epage | ^[1-9][0-9]{0,4}$ |
rft.pages | ^.*$ |
rfe.pages | ^.*$ |
rft.tpages | ^.*$ |
rfe.tpages | ^.*$ |
rft.date | ^[\d\-]+$# to accept backwards compatible 999 |
rfe.date | ^[1-9][0-9]{3}[-0-9]{0,3}[-0-9]{0,3}$ |
rft.year | ^[1-9][0-9]{3}$ |
rfe.year | ^[1-9][0-9]{3}$ |
rft.month | ^[0-9]{1,2}$ |
rfe.month | ^[0-9]{1,2}$ |
rft.day | ^[0-9]{1,2}$ |
rfe.day | ^[0-9]{1,2}$ |
rft.archive | ^\S+$ |
rfe.archive | ^\S+$ |
rft.archiveId | ^\S+$ |
rfe.archiveId | ^\S+$ |
rft.au | ^.*$ |
rfe.au | ^.*$ |
@rft.aulast | ^.*$ |
@rfe.aulast | ^.*$ |
@rft.aufirst | ^.*$ |
@rfe.aufirst | ^.*$ |
@rft.auinit | ^.*$ |
@rfe.auinit | ^.*$ |
@rft.auinit1 | ^.*$ |
@rfe.auinit1 | ^.*$ |
@rft.auinitm | ^.*$ |
@rfe.auinitm | ^.*$ |
@rft.aucorp | ^.*$ |
@rfe.aucorp | ^.*$ |
@rft.ausuffix | ^.*$ |
@rfe.ausuffix | ^.*$ |
rft.place | ^.*$ |
rfe.place | ^.*$ |
rft.pub | ^.*$ |
rfe.pub | ^.*$ |
rft.edition | ^.*$ |
rfe.edition | ^.*$ |
rft.co | ^.*$ |
rfe.co | ^.*$ |
rft.cc | ^[a-zA-Z]{2}$ |
rfe.cc | ^[a-zA-Z]{2}$ |
rft.inst | ^.*$ |
rfe.inst | ^.*$ |
rft.advisor | ^.*$ |
rfe.advisor | ^.*$ |
rft.degree | ^.*$ |
rfe.degree | ^.*$ |
rft.chron | ^.*$ |
rfe.chron | ^.*$ |
rft.ssn | ^(winter|summer|spring|fall)$ |
rfe.ssn | ^(winter|summer|spring|fall)$ |
rft.quarter | ^[1-4]{1}$ |
rfe.quarter | ^[1-4]{1}$ |
rft.part | ^\w+$ |
rfe.part | ^\w+$ |
rft.artnum | ^\d+$ |
rfe.artnum | ^\d+$ |
rft.inventor | ^.*$ |
rfe.inventor | ^.*$ |
rft.invlast | ^.*$ |
rfe.invlast | ^.*$ |
rft.invfirst | ^.*$ |
rfe.invfirst | ^.*$ |
rft.kind | ^.*$ |
rfe.kind | ^.*$ |
rft.applcc | ^.*$ |
rfe.applcc | ^.*$ |
rft.applnumber | ^.*$ |
rfe.applnumber | ^.*$ |
rft.number | ^.*$ |
rfe.number | ^.*$ |
rft.appldate | ^[1-9][0-9]{3}[-0-9][0-9]{1,2}[-0-9][0-9]{1,2}$ |
rfe.appldate | ^[1-9][0-9]{3}[-0-9][0-9]{1,2}[-0-9][0-9]{1,2}$ |
rft.applyear | ^[1-9][0-9]{3}$ |
rfe.applyear | ^[1-9][0-9]{3}$ |
rft.applmonth | ^[0-9]{1,2}$ |
rfe.applmonth | ^[0-9]{1,2}$ |
rft.applday | ^[0-9]{1,2}$ |
rfe.applday | ^[0-9]{1,2}$ |
rft.assignee | ^.*$ |
rfe.assignee | ^.*$ |
rft.pubdate | ^[1-9][0-9]{3}[-0-9][0-9]{1,2}[-0-9][0-9]{1,2}$ |
rfe.pubdate | ^[1-9][0-9]{3}[-0-9][0-9]{1,2}[-0-9][0-9]{1,2}$ |
rft.pubyear | ^[1-9][0-9]{3}$ |
rfe.pubyear | ^[1-9][0-9]{3}$ |
rft.pubmonth | ^[0-9]{1,2}$ |
rfe.pubmonth | ^[0-9]{1,2}$ |
rft.pubday | ^[0-9]{1,2}$ |
rfe.pubday | ^[0-9]{1,2}$ |
rft.prioritydate | ^[1-9][0-9]{3}[-0-9][0-9]{1,2}[-0-9][0-9]{1,2}$ |
rfe.prioritydate | ^[1-9][0-9]{3}[-0-9][0-9]{1,2}[-0-9][0-9]{1,2}$ |
rft.priorityyear | ^[1-9][0-9]{3}$ |
rfe.priorityyear | ^[1-9][0-9]{3}$ |
rft.prioritymonth | ^[0-9]{1,2}$ |
rfe.prioritymonth | ^[0-9]{1,2}$ |
rft.priorityday | ^[0-9]{1,2}$ |
rfe.priorityday | ^[0-9]{1,2}$ |
rft.series | ^.*$ |
rfe.series | ^.*$ |
rft.creator | ^.*$ |
rft.description | ^.*$ |
rft.publisher | ^.*$ |
rft.contributor | ^.*$ |
rft.type | ^.*$ |
rft.format | ^.*$ |
rft.identifier | ^.*$ |
rft.relation | ^.*$ |
rft.coverage | ^.*$ |
rft.rights | ^.*$ |
#local attributes | |
rft.medUID | \d{8,10} |
rfe.medUID | \d{8,10} |
@rft.tickUID | \w{3,10} |
@rfe.tickUID | \w{3,10} |
rft.LCCN | ^[0-9]{8,10}$ |
rfe.LCCN | ^[0-9]{8,10}$ |
rft.ED_NUMBER | ^[A-Z0-9]+$ |
rfe.ED_NUMBER | ^[A-Z0-9]+$ |
rft.EJ_NUMBER | ^[A-Z0-9]+$ |
rfe.EJ_NUMBER | ^[A-Z0-9]+$ |
@rft.relatedISSN | ^\d{4}-?\d{3}[-0-9xX]$ |
@rfe.relatedISSN | ^\d{4}-?\d{3}[-0-9xX]$ |
@rft.subject | ^.*$ |
@rfe.subject | ^.*$ |
@rft.Attribute | ^.*$ |
@rfe.Attribute | ^.*$ |
rft.user | ^.*$ |
rfe.user | ^.*$ |
@rft.Institute | ^.*$ |
@rfe.Institute | ^.*$ |
rft.Faculty | ^.*$ |
rfe.Faculty | ^.*$ |
rft.UserGroup | ^.*$ |
rfe.UserGroup | ^.*$ |
rft.Language | ^.*$ |
rfe.Language | ^.*$ |
rft.OpenURL | ^.*$ |
rfe.OpenURL | ^.*$ |
rft.SOURCE | ^.*$ |
rfe.SOURCE | ^.*$ |
rft.dcTitle | ^.*$ |
rfe.dcTitle | ^.*$ |
rft.dcCreator | ^.*$ |
rfe.dcCreator | ^.*$ |
rft.dcSubject | ^.*$ |
rfe.dcSubject | ^.*$ |
rft.dcDescription | ^.*$ |
rfe.dcDescription | ^.*$ |
rft.dcPublisher | ^.*$ |
rfe.dcPublisher | ^.*$ |
rft.dcContributor | ^.*$ |
rfe.dcContributor | ^.*$ |
rft.dcType | ^.*$ |
rfe.dcType | ^.*$ |
rft.dcFormat | ^.*$ |
rfe.dcFormat | ^.*$ |
rft.dcIdentifier | ^.*$ |
rfe.dcIdentifier | ^.*$ |
rft.dcSource | ^.*$ |
rfe.dcSource | ^.*$ |
rft.dcLanguage | ^.*$ |
rfe.dcLanguage | ^.*$ |
rft.dcRelation | ^.*$ |
rfe.dcRelation | ^.*$ |
rft.dcCoverage | ^.*$ |
rfe.dcCoverage | ^.*$ |
rft.dcRights | ^.*$ |
rfe.dcRights | ^.*$ |
rft.dcYear | ^[0-9][0-9]{2,3}$ |
rfe.dcYear | ^[0-9][0-9]{2,3}$ |
rft.dcMonth | ^[0-9]{1,2}$ |
rfe.dcMonth | ^[0-9]{1,2}$ |
rft.dcDay | ^[0-9]{1,2}$ |
rfe.dcDay | ^[0-9]{1,2}$ |
# SFX specific attributes | |
# With entity | |
rft.object_id | ^\d+$ |
rft.local_attribute | ^.*$ |
@rft.abbrev | ^.*$ |
@svc.constraints | ^.*$ |
req.ip | ^.*$ |
req.user_group | ^.*$ |
req.faculty | ^.*$ |
req.language | ^.*$ |
@req.institutes | ^.*$ |
rft.oai | ^.*$ |
rft.oai_repository_id | ^.*$ |
rft.oai_record_id | ^.*$ |
rfe.oai | ^.*$ |
rfe.oai_repository_id | ^.*$ |
rfe.oai_record_id | ^.*$ |
rft.doi | ^.*$ |
# With sfx entity | |
@sfx.related_objects | ^.*$ |
@sfx.related_object_ids | ^.*$ |
@sfx.category | ^.*$ |
@sfx.subcategory | ^.*$ |
sfx.response_type | ^(html|simplexml|directlink|sfx_api_0_1_xml)$ |
sfx.ignore_date_threshold | ^(1|0)$ |
sfx.show_availability | ^(1|0)$ |
sfx.title_search | ^(contains|begins|exact)$ |
sfx.request_id | ^\d+$ |
sfx.augment_if_multi | ^(0|1)$ |
sfx.has_full_text | ^(yes|no)$ |
sfx.tmp_svc | .* |
sfx.doi_url | .* |
sfx.openurl | .* |
sfx.char_set | ^.+$ |