Today I wrote a quick, basic OpenSearch module for Drupal. It implements the Amazon-originating spec for syndication and aggregation of search results.
The interesting part is that OpenSearch builds upon RSS and Atom, which means that the resulting feeds can be used in any news reader. Of course, an OpenSearch-aware reader can interpret the extra information that is present (total number of results, other search pages, search URL syntax, ...).
I've installed the module on Acko.net, so you can give it a try here:
OpenSearch description file (XML)
Search results for the query "Drupal" (RSS)
The module will be available on drupal.org as soon as CVS Contrib is repackaged in a couple of hours, though it will require Drupal CVS HEAD or 4.7-HEAD to work.

++
That sounds really cool. Looking forward to playing with it!
Wow Steven -- great tool
Wow Steven -- great tool (but get some sunshine!).
RSS-ising of search results will help Drupal grab news for aggregation purposes, and opens up possibilities for meta-aggregation and remixing of Drupal feeds with other sites.
Is there any work being done in the Drupal project on scraper additions to enable grabs of search results from sites which are not OpenSearch friendly (see the commercial product at: http://grouper.docs.geckotribe.com/plugins)?
One of the biggest issues with keyword RSS feeds at the moment (google, yahoo) is that supply is weighted towards anglophone media. Being able to grab search results from, say, the European Media Monitor, would enable RSS news to cross language barriers.
http://press.jrc.it/NewsBrief/dynamic?language=all&page=1&edition=search...
Pete
Failure of communication
Crap! I've been working on an opensearch module for some time now and am just about ready to release it. It can also parse the Open Search RSS from other feeds and offers an "opensearch" tab on the search page. Eventually I hope to extend it to search an arbitrary number of external feeds and either display them as sub local tasks or weave them together. I've also implemented the more complete description file format, as well as autodiscovery. I'm on vacation at the moment an will send you my module when I get back home.
-Robert
Nutch
it also has hooks for external namespaces, which I use to handle special feeds in Nutch's opensearch flavor.
Two modules?
Well, my module isn't very complicated so no loss there. Still, it might be useful to split the OpenSearch aggregation from the OpenSearch feeds.
two modules++
Good point. Especially since I decided to allow an external library dependency to handle the feeds (magpie).
format_rss_channel()
I'm glad you came up with a nice solution for this issue as a result of the module. I ran into this too, and like your patch better than mine, which just added a $fragment arg to format_rss_channel.
OpenSearch client module released
I checked in a basic version of the OpenSearch Client module, the perfect compliment to the OpenSearch module. I also added my extra features to the OpenSearch module. Now if I can only find a way to support multiple template URLs in the OpenSearch Client module, all will be well.
Post new comment