Functional Specification for the GET-IT Service

By Judy Snyder,2014-11-13 13:55
12 views 0
Functional Specification for the GET-IT Service


    Functional Specification for the GET-IT Service

    Rethinking Resource Sharing Project Interoperations Group March 2006

    Background: There has been a shift of models in the resource sharing world from “discover, locate, request and deliver” to “find and get”. We are herewith proposing a further shift to a very

    simple “get” model. The process of finding a resource is now more often done outside of library services, and inside of services such as Google and technorati. Efforts to expose resource sharing services as such to web users now need to be re-focused so that library resources are integrated into non-library web services, meeting users at the place where they find resources. This integration of library resources into the web at large can be achieved with a browser plug-in that will expose library sources along with other commercial sources. The purpose of this project is to assist in making libraries more visible and relevant while providing individuals with a wide range of choices for obtaining desired information and materials.

    Service definition: The GET-IT service is one service in the developing modular framework for web-based information and material retrieval services. The GET-IT service operates as a plug-in for a web browser that is invoked in web domains that contain references to published items. This plug-in is independent of any other software application, and will be developed as open source software.

Summary description of the service: A web user downloads and installs the GET-IT plug-in

    application into their browser, configuring the plug-in for personal use by supplying such specific data as geographic location (i.e., postal zipcode) or preferred library information (e.g., library card number). When a browser with the GET-IT plug-in installed displays web pages that contain references with identifiable handles, the GET-IT button is added to the display. If the page has come from a recognized domain, the GET-IT button is added at end of the display entry for each identified reference, but if the page is from an unknown domain, a single GET-IT button is applied to the page. Figures 1 through 3, below, illustrate the GET-IT function applied to three different domains, the third being unknown:


Figure 1: the GET-IT button applied to an Amazon web page


Figure 2: the GET-IT button applied to an OPAC web page


     Figure 3: the GET-IT button applied to a page from an unknown domain (button is at top right)

    When the GET-IT button is clicked, a browser window displays a list of appropriate sources for obtaining the referenced item, each entry including a link to the item source, as well as such relevant information as cost, time to delivery, and format. These lists might look like figure 4 or 5:


Figure 4: a list of movie sources for a user in the Berkeley, California vicinity


     Figure 5: a list of resources for items in a page of unknown origin (i.e., with a single GET-IT button)

Application components: the browser plug-in includes these component parts:

    ; Personal configuration

    ; Domain page list parser

    ; Item look-up

    ; Source list html constructor

    ; Logging agent

    ; Intelligent profiler

Component details:

    1. Personal configuration / Profiling service:

    This component collects and stores data about the user preferences through dialog with

    the user during the installation process. There is also a mechanism by which the user

    can add to or modify this information after installation has been completed. Note that it

    needs to be determined whether this information will be stored on the user’s workstation

    or on a remote server. Also note that initially, during the pilot, this information might

    consist of just the user’s zip code. As the service becomes more full developed, a fuller

    set of data could be supported, as described in the user-object below.

    In order to serve users who use multiple libraries, it will be necessary to eventually

    develop a profiling service as one part of the framework. It is possible that this service


    can be implemented as part of the plug-in, but it may be necessary or expedient to implement it using a remote server. The profiling service would store and maintain the user-object.

    2. Domain page list parser:

    When a browser receives a new page from an http request, the returned page is parsed to identify items with handles that can be used in locating sources for the items.

    When the page has come from a known domain, every item it contains for which a handle is identified, a link, based on the handle. is generated that will, when activated, perform a look-up action (described in the item look-up section below) on the referenced item. The generated link will be displayed at the end of the web page entry as the “GET-IT” button

    (see examples above in the service summary).

    When the page has come from an unknown domain, a single GET-IT button is created for the entire page. When the button is activated, a single list will be created, containing entries for any handles that have been identified in the page along with links to resources for each handle.

    By differentiating between certain heavily-used, known domains, it is possible to maintain the visual integrity of pages from those domains.

    3. Item look-up:

    When a “GET-IT” button is clicked, elements of the user-object are used to identify

    sources that would be relevant for the user. These sources will be identified through the criteria in the user’s profile data, and could include such services as libraries within the user’s service area, commercial supply services, information sources (online help, for example), and request services. The data in the user profile thus determines which services will be queried to find sources for the item. Each service thus identified is queried using elements of the item-object (as identified by the handle from the domain page list parsing), to see if it can provide the item and under what terms. A list is created of all relevant sources that can supply the item, along with the terms of use, and these are passed to the source list html constructor. The item look-up component requires a list or database of possible services and suppliers in which the item can be searched. This list or database might include

    ; For-fee-services to be queried

    ; OPAC, OpenURL resolver, and/or other registries containing sources to be

    searched for the item

    4. Source list html constructor:

    A browser window is constructed that displays the list of all sources identified by the profile and item look-up components as being relevant for the user. Where there might be a large number of potential sources for any given item, the number is reduced by applying the criteria contained in the user’s profile to list only those that meet those criteria. Each item in the list is a deep link into the specific source. An example of this page is shown in Figure 3.

    5. Logging agent:

    The logging agent reports click actions to a server that gathers the data for statistical analysis. Two types of click actions are reported:

    ; A click on the “GET-IT” button

    ; A click on a link in the resulting pop-up page

    6. Intelligent profiler:


    This component records in the user-object the recent sources that the user has selected.

    As the “GET-IT” service is more fully developed, this information can be used to sort a list

    of item links in the source list html so that the user’s preferred sources are at the top.

    GET-IT service objects: the above described application components use the following objects:

    1. User-object - this is populated at the time of plug-in installation and thereafter as needed;

    it includes such elements as those listed in NCIP documentation on circulation person

    information. This object might be stored on the device that houses the browser, but the

    user must be given a method (the Profiling service) for modifying and maintaining the

    data in the object regardless of where it is stored.

    2. Item-object this would include metadata information used to describe the item in the

    domains in which it may be located.

3. Supplier-object - refers to a potential supply agent that can provide the named item-


    4. Message-object as-yet-to-be-defined communication regarding the request/order and

    tracking it’s status

Report this document

For any questions or suggestions please email