Local Source Configuration
The SFX Flow
- Interprets metadata sent in the OpenURL
- Augments the SFX request in a particular way for this specific source
- Shows an SFX menu with specific services on it
Transportation of Metadata to SFX
- an optional, yet highly recommended ORIGIN-DESCRIPTION
- a mandatory OBJECT-DESCRIPTION
- a GLOBAL-IDENTIFIER-ZONE
- a OBJECT-METADATA-ZONE
- a LOCAL- IDENTIFIER-ZONE
ORIGIN-DESCRIPTION '&' OBJECT-DESCRIPTION
/ | \
,-------' | `-------
GLOBAL-IDENTIFIER-ZONE | LOCAL-IDENTIFIER-ZONE
|
OBJECT-METADATA-ZONE
- Part of that metadata is immediately available from the OBJECT-METADATA-ZONE of the OpenURL for this object. However, in many cases, additional metadata can be obtained by importing it from an information resource.
- If the OpenURL contains a GLOBAL-IDENTIFIER-ZONE, the metadata is imported from an authoritative namespace (for instance PubMed, DOI/X, and so forth). The tools to do this—that is, namespace-specific source parsers—come with the SFX package and should notbe edited.
- If the OpenURL contains a resource-specific LOCAL-IDENTIFIER-ZONE, the metadata is fetched from the resource using resource-specific source parsers. These source parsers must reside in the following locations:
- For OpenURL 0.1:
/exlibris/sfx_ver/sfx4_1/<instance>/lib/Parsers/SourceParser/OpenURL_0_1
- For OpenURL 1.0:
/exlibris/sfx_ver/sfx4_1/<instance>/lib/Parsers/SourceParser/OpenURL_1_0
- For OpenURL 0.1:
- If an OpenURL contains a LOCAL-IDENTIFIER-ZONE, metadata can be transported to the SFX server in one of three ways:
- The LOCAL-IDENTIFIER-ZONE contains a record identifier by which a source parser can fetch a record from the origin-resource (described in ORIGIN-DESCRIPTION) via the Z39.50 or HTTP protocol.
- The LOCAL-IDENTIFIER-ZONE contains object-metadata in a syntax that is specific for the origin-resource.
- The LOCAL-IDENTIFIER-ZONE contains a combination of the above.
Example – OpenURL Sending Only a Record ID
- to fetch a record from the EBSCO service
- to parse the record
- to fill out the attributes of a ContextObject (CTXO) instance
Example – OpenURL Sending Object Metadata
ISSN=0012-1289&VOL=45
&ISS=1&YEAR=1974&AUTH=Brown, James&TITLE=I Feel Good
Example – OpenURL Not Requiring a Specific Source Parser
Source Identifiers (SIDs)
- /exlibris/sfx_ver/sfx4_1/<instance>/config/source/source_v0_1.dir_
- /exlibris/sfx_ver/sfx4_1/<instance>/config/source/source_v1_0.dir_
- the start of the SID sent in the OpenURL
- the name and location of the configuration file
- For OpenURL 0.1:
/exlibris/sfx_ver/sfx4_1/<instance>/config/source/source_v0_1.dir_
includes the following file that can be locally modified:
/exlibris/sfx_ver/sfx4_1/<instance>/config/source/source_local_v0_1.dir
- For OpenURL 1.0:
/exlibris/sfx_ver/sfx4_1/<instance>/config/source/source_v1_0.dir_
includes the following file that can be locally modified:
/exlibris/sfx_ver/sfx4_1/<instance>/config/source/source_local_v1_0.dir
FirstSearch.* config/source/OpenURL_0_1/ firstsearch.config_ Gale.* config/source/OpenURL_0_1/ gale.config_ HWW.* config/source/OpenURL_0_1/ wilsonweb.config_ III:innopac config/source/OpenURL_0_1/ inov.config_ |
Source Configuration Files
- For OpenURL 0.1:
/exlibris/sfx_ver/sfx4_1/<instance>/config/source/OpenURL_0_1
- For OpenURL 1.0:
/exlibris/sfx_ver/sfx4_1/<instance>/config/source/OpenURL_1_0
- Parse the content of the LOCAL-IDENTIFIER-ZONE
- Import a record from a link source, if necessary
- Parse the record imported in step 2, if necessary.
# MetaLib configuration #
Section "source" id "METALIB" EndSection
Section "parsePrivateID" module "Parsers::SourceParser::OpenURL_0_1::metalib" EndSection
Section "fetchRecord" module "NetWrap::HTTP" host $0 timeout "30" EndSection
Section "parseRecord" module "Parsers::SourceParser::OpenURL_0_1::metalib" EndSection |
- The source section informs the SFX program of the origin of the SFX request. The id value in this section is used as a key for the lookup of a source in the SOURCE table of the SFX database.
- The parsePrivateId section informs the SFX program which Perl module must be dynamically loaded to parse the LOCAL-IDENTIFIER-ZONE. This Perl module must be a subclass of SourceParser and must contain a parsePrivateId function. As arguments, this function receives a Generic::Request instance, a HASH reference containing optional parameters, and the content of the OpenURL’s pid field.
- The fetchRecord section sends a command to SFX as to which Perl module should be dynamically loaded to fetch a record from a link source. In the above example, the NetWrap::HTTP module will be used. This is a Perl module provided by SFX to fetch records from a Z39.50 database. SFX also provides a NetWrap::Z3950 module to fetch records from databases that support Z39.50. If you want to implement your own fetchRecord module, it must be a subclass of SourceParser and must contain a fetchRecord function. As arguments, this function receives a Generic::Request instance and a HASH reference containing optional parameters. The $ signs in the source configuration files are replaced with the actual values by breaking the symbolic link and making the configuration file a local one. For example, in the metalib.config file:
$0 is replaced by: metalib.university.edu
- The parseRecord section informs SFX which Perl module must be dynamically loaded to parse the record returned from the fetchRecord module. This Perl module must be a subclass of SourceParser and must contain a parseRecord function. As arguments, this function receives a Generic::Request instance, a HASH reference containing optional parameters, and the return value of the fetchRecord module.
Source Parsers
ABC CLIO | GALEGROUP INFOTRAC |
AMS MATHSCINET | HLAS |
ANNUAL_REVIEW | INGENTA |
ARXIV | INSTITUTE OF PHYSICS JOURNALS |
BIOMEDCENTRAL | ISI RESEARCHSOFT ENDNOTE |
BLACKWELL_SYNERGY | JSTOR6 |
CIOS | NCBI_PUBMED |
CISTI SOURCE | NISC BIBLIOLINE |
CONTENTSCAN | PCI |
DIALOG_AT_SITE | RLG |
EBSCO | WILSONWEB |
EI VILLAGE | ZETOC |
ELSEVIER_SCIENCE_DIRECT |
- For OpenURL 0.1:
/exlibris/sfx_ver/sfx4_1/<instance>/lib/Parsers/SourceParser/OpenURL_0_1
- For OpenURL 1.0:
/exlibris/sfx_ver/sfx4_1/<instance>/lib/Parsers/SourceParser/OpenURL_1_0
Location of the SFX Button
- The SFX button can be accessed via this URL:
http://<sfx_server_name>:port/<sfx_instance>/sfx.gif
For example:
http://demo.exlibrisgroup.com:8888/demo/sfx.gif
- The SFX button can be found in the following location on the server:
/exlibris/sfx_ver/sfx4_1/<instance_name>/templates/img/sfxmenu/sfx.gif
- Additional SFX buttons can be found in the same directory. These buttons are customized for specific source databases:
sfx.gif (default)width=54, height=19
sfx_proquest.gifwidth=90, height= 32 (with transparent banner)
sfx_firstsearch.gifwidth=45, height=16 (smaller size)
Tool to Verify Setup of PubMed and CrossRef/
DOI Source Fetching
- /exlibris/sfx_ver/sfx4_1/<sfx_instance>/cgi/public/profile_checker.cgi
- /exlibris/sfx_ver/sfx4_1/<sfx_instance>/config/profile_checker.config_
- <SFX_server>:<port>/<instance>/cgi/public/profile_checker.cgi?svc_dat=all_services
- <SFX_server>:<port>/<instance>/cgi/public/profile_checker.cgi?svc_dat=pubmed_service
- <SFX_server>:<port>/<instance>/cgi/public/profile_checker.cgi?svc_dat=doi_service
Setup
Setup
- Log on as the instance user (for example, sfxlcl41) .
- Enter cn.
- Enter vi profile_checker.config_
- Enter your name, e-mail, and telephone information.