115 sem 3_o-pesch


Published on

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

115 sem 3_o-pesch

  1. 1. SSP 25th Annual Meeting: “Navigating Change” Linking Seminar Implementing OpenURL 1.0 Oliver Pesch Chief Architect, EBSCO Publishing opesch@epnet.com
  2. 2. Registry Referrer Referring Entity By Reference Schema Namespace POST UTF-8 KEVContextObject Profiles OpenURL 1.0 OpenURL 1.0 Service types Referent URI Metadata HTTPS ORI formats By Value Resolver Identifiers URI XML GET HTTP Requester Encoding
  3. 3. Overview Why OpenURL 1.0 Definitions ContextObject and related “entities” San Antonio Profile Becoming a compliant source
  4. 4. OpenURL 0.1 examplehttp://example.org/myResolver? BaseURLsid=myid:mydb&id=doi:10.1126/science.275.5304.1320 Source&id=pmid:9036860&genre=article&atitle=Isolation of a common receptor for coxsackie B Item&title=Science&aulast=Bergelson&auinit=J&date=1997&volume=275&spage=1320&epage=1323
  5. 5. Why OpenURL 1.0 Represent new genres Richer metadata options Version control More complete context description Ability to send request “by reference” Extensible
  6. 6. New genresOpenURL 0.1 (genres) OpenURL 1.0 (format/genres) Journal  Journal Article  Journal Preprint  Issue  Article Book  Conference Book item  Proceeding Conference  Preprint Proceeding  Book  Book  Book item  Report  Document  Dissertation  Patent  Others can be registered
  7. 7. Richer metadata formatsOpenURL 0.1 OpenURL 1.0 Key-value pairs  Key-value pairs Limited pre-set list of  XML elements  MARC  Other formats can be registered  Options for element sets  New data elements can be registered
  8. 8. Describing “context” Up to six entities to describe item and context  Referent (item being referenced)  Referrer (site sending request)  Resolver (site request is being sent to)  Requester (user making request)  Referring entity (article containing reference)  Service type (what the resolver should do)
  9. 9. New terminologyContextObject An information construct that binds a description of a primary entity -- the referenced resource -- together with descriptions of entities that indicate the context of the reference to the referenced resource.
  10. 10. New terminologyEntity One of the six possible constituents of a ContextObject: Referent, Requester, Referrer, Resolver, ReferringEntity, or ServiceType
  11. 11. New terminologyFormat A concrete method of expression for a class of information constructs. It is a triple comprising: (1) a Physical Representation; (2) a Constraint Language; and (3) a set of constraints expressed in that Constraint Language
  12. 12. Example of metadata “Format”ori:fmt:kev:mtx:journal The actual set of elements that To do with have been defined. OpenURL Constraint language is a table (matrix). This is the form used to describe the list Describing a of possible elements. Other examples format are DTD or XML Schema. Physical element representation is key-encoded- values. E.G. aulast=Smith
  13. 13. Registry of metadata formats ori:fmt:kev:mtx:journal
  14. 14. Matrix example
  15. 15. Using Format in a sentencehttp://example.org/myResolver ContextObject ?url_ver=z39.88-2003 format &url_ctx_fmt=ori:fmt:kev:mtx:ctx &rft_val_fmt=ori:fmt:kev:mtx:journal Metadata format &rfr_id=ori:rfr:myid.com:mydb &rft_id=ori:doi:10.1126/science.275.5304.1320 &rft_id=ori:pmid:9036860
  16. 16. New terminologyTransport A Transport is a network protocol and the method in which it is used to convey representations of ContextObjects. OpenURL is about “transporting” ContextObjects using HTTP GET and POST.
  17. 17. New terminologyBy-Value OpenURL An OpenURL in which all of the metadata and identifiers for the entities are included as part of the request.
  18. 18. Example of By-Value OpenURLhttp://example.org/myResolver ?url_ver=z39.88-2003 &url_ctx_fmt=ori:fmt:kev:mtx:ctx &rft_val_fmt=ori:fmt:kev:mtx:journal &rfr_id=ori:rfr:myid.com:mydb &rft_id=ori:doi:10.1126/science.275.5304.1320 &rft_id=ori:pmid:9036860 &rft.genre=article &atitle=Isolation of a common receptor for coxsackie B &rft.title=Science &rft.aulast=Bergelson &rft.auinit=J &rft.date=1997 …
  19. 19. New terminologyBy-Reference OpenURL An OpenURL in which the initial request contains a pointer to the ContextObject being referenced. Optionally, an entity within a ContextObject can be pointed to. The ContextObject can be created as a stand-alone file on a web server, then referred to. Can reduce size of web pages and amount of data transferred.
  20. 20. Example of By-Value OpenURLhttp://example.org/myResolver ?url_ver=z39.88-2003 &url_ctx_fmt=ori:fmt:kev:mtx:ctx &url_ctx_ref=uri:http://www.example.org/objects/1234.txt Network location of ContextObject Declares that this ContextObject (ctx) is being passed by reference (ref)
  21. 21. ContextObject Describes item and its context Uses up to six entities: Referent, Resolver, Referrer, Requester, Referring Entity and Service Type Can be described separately from its transport OpenURL is the HTTP GET or POST transport of a ContextObject
  22. 22. OpenURL 0.1 examplehttp://example.org/myResolver? Resolversid=myid:mydb&id=doi:10.1126/science.275.5304.1320 Referrer&id=pmid:9036860&genre=article&atitle=Isolation of a common receptor for coxsackie B Referent&title=Science&aulast=Bergelson&auinit=J&date=1997&volume=275&spage=1320&epage=1323
  23. 23. New Entities in OpenURL 1.0 Requester  Allow the identity of the user to be passed to the resolver.  Identification not authentication Referring Entity  For links from references in other articles  Identity of article where reference found in can be important context  Don’t create link back to this article  Use information about that article to tailor results Service Type  Define what “services” to present the user.  Full text, interlibrary loan, abstract record, etc.
  24. 24. Why separate ContextObjectfrom its transport?Assumptions:  Notion of describing an item and its context has value beyond simple HTML-based linking applications of today  Communication between link resolvers reasonable (see Jenny’s examples)  Using Microsoft SOAP or other protocols can be more efficient in some applicationsConclusion:  Separating standard into parts allows more flexible options for future growth.
  25. 25. Dealing with complexity OpenURL 0.1 was simple because it was hardwired ContextObjects OpenURL 1.0 is extensible and flexible and much more abstract Many options for implementation and extension can lead to confusion and interoperability problems Community Profiles introduced to simplify implementation
  26. 26. San Antonio Profile Represents view of scholarly information community List of choices for implementing OpenURL Framework. For example:  Physical Representations (KEV, XML, etc.)  Constraint languages (Matrix, Schema, etc.)  ContextObject Format  Metadata formats (Journal, Book, etc.)  Transports (HTTP GET and PUT) Provides a roadmap for building compliant sources and targets
  27. 27. Implementing OpenURL 1.0Goals  Keep it simple  Use data already available (tagged metadata, DOI)  Stick to widely accepted approaches
  28. 28. Implementing OpenURL 1.0Recommended approach to take:  Base on San Antonio Profile  Start with key-encoded-values for metadata  Inline representation of keys and values  Tag data elements according to the registered metadata formats (e.g. ori:fmt:kev:mtx:journal)  Stick to the required entities  Resolver (baseURL)  Referent  Referrer  Create links on-the-fly
  29. 29. Building an OpenURLhttp://resolver.example.org?  Start with the BaseURL
  30. 30. Building an OpenURLhttp://resolver.example.org?  Add the fixed elementsurl_ver=z39.88-2003&url_ctx_fmt=ori:fmt:kev:mtx:ctx Version Declare format for ContextObject
  31. 31. Building an OpenURLhttp://resolver.example.org?  Add the referrerurl_ver=z39.88-2003&url_ctx_fmt=ori:fmt:kev:mtx:ctx&rfr_id=ori:rfr:publisher.com Identifier for referrer OpenURL “Referrer” Domain of referrer The tag for Referrer (rfr) ID
  32. 32. Building an OpenURLhttp://resolver.example.org?  Add the referenturl_ver=z39.88-2003&url_ctx_fmt=ori:fmt:kev:mtx:ctx&rfr_id=ori:rfr:publisher.com&rft_id=ori:doi:10.1126/science.275.5304.1320 Include identifiers&rft_id=ori:pmid:9036860
  33. 33. Building an OpenURLhttp://resolver.example.org?  Add the referenturl_ver=z39.88-2003&url_ctx_fmt=ori:fmt:kev:mtx:ctx&rfr_id=ori:rfr:publisher.com&rft_id=ori:doi:10.1126/science.275.5304.1320&rft_id=ori:pmid:9036860&rft_val_fmt=ori:fmt:kev:mtx:journal Declare the metadata format Shows referent (rft) format Indicates we are using key- (fmt) is by value (val) encoded-values (kev) as defined in the “journal” matrix (mtx) in the registry.
  34. 34. Building an OpenURLhttp://resolver.example.org?  Add the referenturl_ver=z39.88-2003&url_ctx_fmt=ori:fmt:kev:mtx:ctx&rfr_id=ori:rfr:publisher.com&rft_id=ori:doi:10.1126/science.275.5304.1320&rft_id=ori:pmid:9036860&rft_val_fmt=ori:fmt:kev:mtx:journal&rft.genre=article Add the metadata&rft.atitle=Isolation of a common receptor for … elements&rft.jtitle=Science&rft.aulast=Bergelson Substitute actual values for the item&rft.auinit=J being referenced…
  35. 35. Where to add OpenURL links Citation/Abstract display  OpenURL would allow the user’s institution to control access to alternate copy’s, order through document delivery, etc. List of references for article  Must have separately tagged elements  Allow user to access to appropriate copy for referenced item
  36. 36. Example of OpenURL Link
  37. 37. Example of OpenURL Link
  38. 38. When to add OpenURL links Show links if a customer has a link resolver The customer-specific BaseURL – the link to their resolver – is primary building block of OpenURL Allow customer to indicate they have a resolver:  Store BaseURL as customer-specific data in an admin option  Use of a cookie to indicate BaseURL (http://www.sfxit.com/openurl/cookiepusher.html)
  39. 39. References The OpenURL Framework for Context-Sensitive Services http://library.caltech.edu/openurl/PubComDocs/StdDocs/Part1-PC-200305 The OpenURL Framework for Context-Sensitive Services – Part 2 http://library.caltech.edu/openurl/PubComDocs/StdDocs/Part2-PC-200305 The San Antonio Level 1 Community Profile (SAP1): Implementation Guidelines http://library.caltech.edu/openurl/PubComDocs/StdDocs/SAP1_Guidelines Registry for the OpenURL Framework - ANSI/NISO Z39.88-2003 http://alcme.oclc.org/openurl/servlet/OAIHandler?verb=ListSets Cookie Pusher Document http://www.sfxit.com/openurl/cookiepusher.html OpenURL 0.1 http://www.sfxit.com/openurl/openurl.html
  40. 40. Thank you Oliver Peschopesch@epnet.com