SFX Sources SFX Training, 2005
The Flow of an SFX Request Source URL GenericRequest Object SFX KB Service 1 Service 2 SFX Menu Target Parser Key: thresholds checked OpenURL metadata "container" … …
3 Sources Where a user is coming from, beginning a search Examples: A&I database OPAC E-journal articles Sources must be OpenURL-enabled! The SFX SOURCE table contains information about information resources that can be the starting point of a link
OpenURL Format BASE URL: Server address for the SFX link server CONTENT: Elements of the metadata or pointer to metadata in public syntax Information supporting delivery of services Example: &volume=12&issue=3&spage=1&epage=8&date=2003 &aulast=Klein&aufirst=Calvin&pid=
OpenURL Examples (0.1) n= &title=Harvard%20Theological%20Review&volume=95 &issue=3&date= &spage=319&sid=EBSCO:afh&atitle=Cat holic-Protestant%20Tensions%20in%20Post- War%20America%3A%20Paul%20Blanshard%2C%20John%20Courtney% 20Murray%2C%20and%20the%20%27Religious%20Imagination%2E%2 7%2E&pid= Massa%2C%20Mark afh > c&pid=%3cAN%3eED478213%3c%2fAN%3e%26%3cAU%3eWalz%2c+Garry +R%2c+Ed+Kirkman%2c+Chris%2c+Ed%3c%2fAU%3e&isbn= &date=2004&genre=proceeding&aulast=Walz&aufirst=Garry&au initm=R&title=CyberBytes%3a+Highlighting+Compelling+Uses+ of+Technology+in+Counseling%2e x
6 Sending OpenURLs to YOUR SFX server Know your BASE URL: Server address for the SFX link server Button options Contact your Source vendors (CSA, FirstSearch, etc.) and ask them how to "turn on" OpenURLs for your end users Use SFX Source Configuration document Ask for a test account, if available When you turn on OpenURLs for your production accounts, end users will see SFX buttons and can link to your SFX server (so be ready!)
Some vendors have an Admin section:
TARGETS EBSCO A.S.P. provides: getFullTxt, getTOC Library Catalog provides: getHolding JSTOR A&S I provides: getFullTxt WWW Search Engines provides: getWebSearch RefWorks provides: getReference Oxford U. Press provides: getFullTxt, getAbstract Service links between Sources and Targets SOURCES CSA requests: getFullTxt getTOC getHolding getDocumentDelivery getAbstract getWebSearch getReference getCitedJournal etc… Source Services link to Target Services = conceptual links that will be presented in SFX Menu if certain requirements (Thresholds) are met ….
Database Tables SOURCE SOURCE SERVICE TARGET SERVICE TARGET OBJECT PORTFOLIO OBJECT
SFX scripts identify which source configuration files and Source Parser and SOURCE table entry to use in the following way: OpenURL 'sid' source_v0_1.dir_ or source_v1_0.dir_ [depending on version of OpenURL sent] .config files SOURCE entry in SFX KB Source Parser (if any needed) Source.dir – a file central to operation
1.Metadata is transported to the SFX server via the OpenURL. The 'sid' of an OpenURL contains information about the identity of the source database; example: sid=SilverPlatter:MX&pid=myid: The value of this 'sid' is used for a lookup in a local file called 'source.dir' 3.For each Source, the source.dir contains the identification of a configuration file 4.The configuration files contain information about: The name of the SOURCE entry in the SFX database The location and name of any Source Parser needed to interpret the OpenURL 5.MOST Sources need no additional local configuration. In V3, source.dir is globally linked and will be updated each month by Ex Libris. It includes a file source_local.dir, where any necessary local configurations may be stored. Sources
Sources: example of source_v0_1.dir_ SilverPlatter.* SilverPlatter.config_ EBSCO.* ebsco.config_ FirstSearch.* firstsearch.config_ IOPP:.* iop.config_ ISI:WOS wos.config sid=SilverPlatter:MX&pid=myid:
Sources: example of a.config file # # SilverPlatter configuration # Section "source" id "SILVERPLATTER" EndSection Section "parsePrivateID" module "SourceParser::SilverPlatter" EndSection Section "fetchRecord" module "Fetch::Z3950" host $0 port $1 user $2 pass $3 syntax "MARC" attribute "12" timeout "30" EndSection Section "parseRecord" module "SourceParser::SilverPlatter" EndSection
Source Parsers package SourceParser::SilverPlatter; use = qw(SourceParser); sub parsePrivateId { my ($this,$genRequestObj,$args,$privateID) my $issn =.... my $volume =.... my $issue =.... my $spage =..... $genRequestObj->ISSN($issn); $genRequestObj->volume($volume); $genRequestObj->issue($issue); $genRequestObj->startPage($spage); } sub parsedRecord { my ($this,$genRequestObj,$args,$marc_record) my $source =.... my $authors =..... $this->getSource($source,$genRequestObj); $this->getAuthors($authors,$genRequestObj);. } 1;