Advances in OpenSearch Definitions

Posted on 1 minute read

× This article was imported from this blog's previous content management system (WordPress), and may have errors in formatting and functionality. If you find these errors are a significant barrier to understanding the article, please let me know.

[caption id="osul-opensearch" align="alignright" width="375" caption="Screenshot of adding the OSU Libraries Catalog Search"][/caption] Earlier this month, Ohio State University Libraries launched the OSUL Labs area. (Congratulations and kudos to Eric Schnell and the others at OSU that have taken this step to "include customers as active participants in the development and/or testing of new products and services.") Their first release is an OpenSearch definition for the library catalog. It has been ages since I've messed with OpenSearch, and I didn't remember (or didn't know it was possible) to have the function add the OpenSearch definition right from the OpenSearch menu, as shown in this figure from the OSUL announcement of this feature. (What I remember is the "programatic" way of doing this.) The autodiscovery is done with a special tag in the head of the HTML:

<link rel="search"
  type="application/opensearchdescription+xml"
  href="http://library.osu.edu/opensearch.xml"
  title="Add OSU Libraries Catalog search" />

But, in perusing the documentation for OpenSearch definitions, I did learn that the next version of Firefox (3.1, 3.5, whatever) is introducing an automatic update function for OpenSearch definitions:

<url type="application/opensearchdescription+xml"
  rel="self"
  template="http://www.foo.com/mysearchdescription.xml"></url>

Although it isn't clear how this is going to manifest itself in user interface (there are no clues in the Mozilla bug for this feature; does the update happen automatically without the user doing anything? -- that seems dangerous. Is the user prompted to update like in the Themes/Plug-ins Add-ons listing?), this sounds like something we should be supporting in order to future-proof our OpenSearch definitions. (It is part of the OpenSearch specification.)