Introducing SFX
Overview of the Main SFX Components
This section describes the main components of SFX.
The following figure displays three SFX windows:

SFX Windows
From left to right, these windows are as follows:
- Source window – the database from which you begin searching for an object. In the above example, the database is PubMed, accessed through MetaLib. If you click the SFX button in the top bar of the record, the SFX menu opens.
- SFX menu window – contains a list of available services (for example, full-text), checks the OPAC for local print holdings, and offers an ILL service to order the object. When you click one of the services, the Target window opens.
- Target window – the database that contains the object for which you are searching. In the above example, the user requests a full-text service, so the Target window displays the HighWire full-text version corresponding to the original abstract record. Each of the HighWire full-text journals is called an object. Information about these objects is essential to deliver correct and appropriate services.
Click the Cookie Policy link at the bottom of the SFX Menu to display a description of the SFX Privacy Policy and how Ex Libris uses cookies.
SFX Database Tables
This section includes the following:
SFX Database Overview
The key SFX components are also the names of three sets of database tables needed to manage the SFX database. For each, there is a KnowledgeBase (KB) table that contains global information and two local (LCL) tables that contain activation information and local overrides of the global information.

SFX Database Tables
The following is a brief overview of the different database tables:
- KB_SOURCES – contains information about sources from which a request for objects and services originates. These sources can be, for example, A&I databases, full-text repositories, preprint archives, library OPACs, electronic table of contents databases, and local data repositories.
- KB_TARGETS – contains information about the vendors of services. Some examples of targets are full-text providers, publishers, and databases.
- KB_SOURCE SERVICES – contains information about available services. The SOURCE and TARGET tables are connected through the SOURCE_SERVICE and TARGET_SERVICE tables.
- KB_OBJECTS – contains objects and information about objects. The following two types of objects are defined by Ex Libris in the SFX database:
- serials
- monographs
- KB_OBJECT_PORTFOLIOS – contains information that connects target services and objects. For example, the KB_OBJECT_PORFOLIOS table indicates which journals are available from the Blackwell Synergy full-text collection.
Connecting Sources and Targets
The SOURCE and TARGET tables are connected through the SERVICE tables:

Connecting Sources and Targets
For example: Your institution has access to a Medline (SilverPlatter) database. The Medline database is defined as a source in your SFX database. One of the services defined for the Medline source is a getFulltxt service.
You also have access to all Springer full-text journals via the Springer LINK Web site. Springer is defined as a target in your SFX database. One of the services defined for this target is a getFulltxt service.
In the SFX database, a connection is made between Medline and Springer, as in the following figure:

Connection Between Medline and Springer
As a result, a full-text service to Springer appears in the SFX menu if you start your search in the Medline database. However, the full-text service is offered only if:
- The journal for which you requested an SFX service is part of the Springer full-text collection.
- This particular article is available online, and your institution has access to it (for example, an electronic subscription).
Role of the SFX Database
When a source transfers its metadata via an OpenURL, SFX builds a ContextObject. This SFX ContextObject includes all metadata the source sends via the OpenURL and any additional data SFX retrieves from the SFX database (a process called augmentation) or via an external lookup (a process called fetch). SFX uses the ContextObject to find services in the SFX database. To provide appropriate SFX services, it is important to build a ContextObject with correct and sufficient metadata. This is the reason for the augmentation and fetch processes.
The following are examples of the types of data that SFX adds to the ContextObject during augmentation:
- Author
- Title
- Category
The SFX database controls the intermediate steps needed to link a source to a target.
In the SFX database:
- The KB_SOURCES table is the starting point of an SFX request. The source parser interprets the metadata sent by the source and transforms it into an SFX request.
- Thresholds define the information required to create each link in the SFX menu within the SFX database. These thresholds examine the SFX request, and based on the request’s contents, the SFX menu offers services.
- The KB_TARGETS and KB_TARGET_SERVICES tables contain information about targets.
The following figure describes the role of the SFX database:

Flow from Source to Target
The following figure describes the SFX flow:

SFX Flow
Thresholds
This section includes the following:
Thresholds Overview
The KB_TARGETS, KB_TARGET_SERVICES, OBJECT_PORFOLIOS, and LCL_LINKING_INFO tables contain the THRESHOLD field that subjects the SFX request to specific conditions. If the SFX request matches all thresholds connected to a service, SFX displays the service in the SFX menu.
Thresholds in the Database Tables
Thresholds are set in the following tables:
Table | Description |
---|---|
KB_TARGETS | Conditions on linking to a vendor – for example, linking to a publisher is possible only when the SFX request contains an ISSN number. |
KB_TARGET_SERVICES | Conditions on linking to a service of a vendor – for example, linking to full-text at a publisher is possible only when the SFX request contains an ISSN number. |
KB_OBJECT_PORTFOLIOS | Conditions on linking to an object – for example, the journal Animal Behavior, part of the getFullTxt service of ScienceDirect, is available only from 1993 volume 45 issue 1 and later. |
For more detailed information on thresholds, see Thresholds.
Object Lookup
Each target service can also have a special threshold named OBJECT_LOOKUP. The condition of this threshold is fulfilled if the SFX request contains an object that is part of an object portfolio belonging to the service.
The OBJECT_LOOKUP threshold is used when objects need to be attached to a particular target service. This means that the SFX menu displays the target service only if the information you start from (for example, a particular journal) is part of the object portfolio of that particular target service.
Object lookup is mainly used for getFulltxt target services. With object lookup, SFX offers a particular full-text service only if the journal for which you request services is available electronically from a particular target service.
Object lookup is not used when objects do not need to be connected to a particular target service. In this case, the SFX menu displays the target service regardless of the object with which you start. This is used for more general, search-oriented target services, such as a getHolding or getWebSearch services.
The OBJECT_LOOKUP threshold can be set to Yes or No in the KB_TARGET_SERVICES table and a local override exists in the LCL_SERVICE_LINKING_INFO table. For more information, see KBManager.