COinS for the Link Trail

COinS brings OpenURL linking to the rest of the world by letting anyone who publishes connect to local link resolvers without having to track resolver locations and network ranges, explains Daniel Chudnov

Like the “Long Tail,” which connects people through content both popular and obscure, COinS (ContextObjects in Spans) provides a sort of “Long Trail,” which connects people to subscribed library content from remote resources both popular and obscure. Any small publisher or individual can add COinS to items referenced in material on their site, and any library users with a COinS-configured browser can follow those references through their local library.

COinS was developed to give patrons and researchers an easier way to link OpenURLs into library subscription resources. The library developers who invented it hoped to broaden participation in the marketplace for OpenURL links and resolver services.

If you haven't worked with OpenURL before, the OpenURL specification and the many institutional “link resolver” systems on the market help solve the “appropriate copy” problem in libraries—the need to help patrons go from item references to items and related services as quickly as possible.

Over 1000 libraries, hundreds of publishers, and dozens of vendors have implemented OpenURL since 1999. To see how quickly resolvers have become a critical service, imagine the research process without one. Would you take the necessary time to find all the references at the end of an important article—online in their diverse interfaces, in print in the library stacks, or through the interlibrary loan (ILL) office, as you might have ten years ago? Would your patrons?

The potential benefits of OpenURL and OpenURL-based systems remain only partially realized, however. The greatest problem with OpenURL today is that the world of its links and services effectively functions like a gated community. If you are using your library's network, if you are a privileged user, if you visit a compliant source, if the local librarians have configured their resolver and the source adequately, and if you click the right link, the gates open for you. If any of these conditions are not met, you—and, more important, your patrons—remain locked out.

Also, the world of online material outside the narrow band of what your library licenses is completely shut out from your local resources. If you are a researcher who blogs about your work, or a small publisher without the resources to configure OpenURL for hundreds of subscribing libraries, or a small library without the resources to work with every one of your content providers to configure linking, you are similarly locked out. OpenURL-enabled resources must know which OpenURL resolver is appropriate for every potential user.

COinS brings OpenURL linking to the rest of the world by letting publishers connect to local link resolvers without having to track resolver locations and network ranges. For small publishers and the blogging world, COinS is a natural fit. Anyone with a blog for book reviews or research can use COinS to let their readers connect references to appropriate copies through their own local libraries, too. Many libraries with resolvers have already seen statistics showing that one particular unlicensed resource—Google Scholar—is a top source of links into their local resolver. With COinS, remote, unlicensed, and little-known sources like blogs that can drive patrons from those obscure sites back in through the local library may increase dramatically. On the other hand, individuals may also use their blogs to embed a COinS link to a Harry Potter book at their local library.

How COinS works

The Context Object (“CO” in COinS) is the technical name for the part of an OpenURL that describes the item somebody wants to find. Spans (“S” in COinS) refers to the HTML tag. A typical OpenURL is an HTTP link with two parts: a server location (the resolver address) and ContextObject information about the referenced item. For example, an OpenURL might look like this:

You can visit an HTTP URL directly in a web browser. While an Open URL specifies a full, visitable URL, a COinS just takes the ContextObject part (everything after the “?”):

ctx_ver=Z39.88-2004&rft_val_fmt=info:ofi/fmt:kev:mtx:journal& rft.issn=1045-4438. It places that inside an HTML SPAN element title attribute near a class attribute that references the OpenURL (NISO Z39.88) specification name.

What makes this different? First, the COinS is not a direct link like the full OpenURL. It cannot be directly visited. Second, because it does not already specify the resolver location, it can be combined with any resolver location or Base URL very easily so that it becomes a full OpenURL that might be directly visited. Because it must be combined with a resolver location to turn it into a full OpenURL, some additional software that works with your own resolver must be used.

The COinS user experience

At first, OpenURL was optimized for large publishers and scholarly researchers. Now, as online services have become important in libraries, OpenURL targets like Ask-A-Librarian, remote storage requests, and ILL requests are increasingly configured into many resolvers. Since these mainstream services are showing up in more online locations, COinS is an important component of improving the patron experience with library services.

Library patrons must first install something into their browser to make this final connection to their own browser. Yet once they do, whenever they visit a page with COinS, their browser can automatically turn those COinS into full OpenURL links to their local resolver, even if:

  • The patron is not using the library's network.
  • The patron visits a COinS publishing site that has not been configured to know about his/her library.
  • Patrons visit any site on the web with COinS—even if it is not a licensed library resource.

In many ways, linking to nonlibrary resources with OpenURL using COinS may have the largest impact of all.

Getting started with COinS

To try COinS for yourself, visit one of the sites listed in the sidebar (p. 10) for information about how to configure your browser to recognize COinS. Follow the instructions there to install the browser tool that is appropriate for your own library. You may be asked to close and restart your browser as part of installation; if you do, be sure to bookmark the site so you can return to the instructions and information about testing to see if your browser is properly configured. Many libraries are customizing a Firefox extension that offers COinS as well as local catalog information and more, using LibX, developed at Virginia Tech (see sidebar, below).

Once you have successfully installed a COinS “user agent” in your browser, visit any of the sites listed in “Sites Publishing COinS Today” (at right) to see COinS turn into OpenURL links to your own library. Perhaps the largest and most important of these is OCLC Open WorldCat, which presents millions of combined holdings records for many large and local libraries. An easy way to search Open WorldCat is through the Google or Yahoo! search interface, each of which will likely return top hits to Open WorldCat if you search with the phrase “find in a library harry potter” at either of these sites. The result hit will likely be a WorldCat link, and if you visit that link, the COinS tool you installed in your browser will activate the COinS in the Open WorldCat page into a link to your local library.

You will see the same effect if you visit Book Sources in Wikipedia, which are typically linked from Wikipedia articles with ISBN links to the Book Sources page. Similarly, if you use CiteULike, the social bookmarking service for academic researchers, nearly all shared links to books and articles embed COinS, so you should see many buttons linking you back to your own library's resolver.

COinS for publishers

If you are a publisher of any size—from publishing a library web site or web log to running a journal or just hosting an online bibliography to help others in your subject area—you can probably add COinS to your site very quickly and inexpensively. To get started, review the COinS specification (in the Link List, p. 9) for all the details, though there is really not much more to know than is described above. If you use a template-driven content management system, it should be fairly easy to change templates that list bibliographic references to add COinS at or near those references. If you write HTML by hand, COinS is still easy enough that marking it up yourself should be neither difficult nor time-consuming.

If you have a Movable Type or WordPress web log, visit the Structured Blogging site for information about how to add the Structured Blogging plugins to your web log. These allow blog authors to describe items discussed in their entries in more fine-grained detail. In addition to offering easy-to-use templates for describing events you might attend, such as a concert or film, these plugins also allow easy lookups of book information from and offer a template for referencing any journal article with easy lookups for PubMed articles in particular. The templates for both blog entries about books and journal articles will automatically produce COinS for the books and articles for you; simply write about the books or articles as you normally would, and your readers will be able to follow the COinS to their own libraries to find the items you discuss.

The best way to see how COinS can improve your library's ability to connect patrons to resources is to try it yourself and see how COinS can help get more people to take advantage of OpenURL to use the library more effectively.

Sites Publishing COinS Today
COPAC UK/Ireland Union Catalogue
OCLC Open WorldCat
Structured Blogging Templates for WordPress and MovableType
Wikipedia: Book Sources Wikipedia:Book_sources

COinS For You and Your Library
COinS Browser Extensions for Your Library
LibX—A Firefox Extension for Libraries
Openly Informatics OpenURL Referrer for Firefox

The Lure of Linking
OCLC Productworks: COinS
Opening Up OpenURLs with Autodiscovery
OpenURL COinS: A Convention To Embed Bibliographic Metadata in HTML


COinS with LibX

LibX is a framework for building Firefox extensions that can deliver library resources to users. In addition to functioning as a COinS processor, LibX provides users with direct access to their library catalog (or catalogs), OpenURL resolver, and other e-resources librarians can configure. Such access is supported in three ways: using a toolbar for simple and advanced searches, using a right-click menu for quick searches based on a text selection, and inserting links into the web pages a user visits. Such localized links are inserted either based on publisher-provided information (e.g., COinS), or automatically (e.g., for ISBNs or DOIs), or based on the site a user is visiting. For instance, LibX users who visit the New York Times Book Review pages will find a small cue on that page showing their library's logo and hyperlinked to the catalog entry corresponding to the book being reviewed.

By integrating the catalog, OpenURL, and web localization technologies, LibX provides a valuable infrastructure for both experimentation with and deployment of emergent services, such as COinS.

Developed jointly by Virginia Tech University Libraries and the Department of Computer Science at Virginia Tech, the open source LibX can be adapted for use by any library and can be hosted on or on the library's web server. Fifteen libraries in the United States and the United Kingdom are currently offering LibX editions to their users, and several dozen libraries are testing it. To adapt LibX, librarians must provide configuration information, such as the URL of the library's link resolver, library catalog, and library's logo. Based on this information, will create a downloadable extension branded for the library.

Godmar Back, Assistant Professor of Computer Science, and Annette Bailey, Digital Assets Librarian, are at Virginia Tech University, Blacksburg

Author Information
Daniel Chudnov is an independent librarian, programmer, and writer based in New Haven, CT, and a master's student in Computer Science at Southern Connecticut State University, New Haven