Skip to main content

Collective Opensearch Collective.opensearch adds the ability to produce search results in the simple OpenSearch format.

Project description

Project Description

Produce Open Search Feeds

collective.opensearch adds the possibility to add OpenSearch compatible search results to your Plone site.

  • site wide: this is a simple copy of the plone search so all option that you may pass to the standard /search will be recognized as well.
  • for a collection/topic: You can search inside a topic, i.e. you define a ‘base query’ as a topic and additional parameters of the query are applied additional.

OpenSearch is a collection of simple formats for the sharing of search results.

OpenSearch helps search engines and search clients communicate by introducing a common set of formats to perform search requests and syndicate search results. OpenSearch helps search engines and search clients communicate by introducing a common set of formats to perform search requests and syndicate search results. The OpenSearch description document format can be used to describe a search engine so that it can be used by search client applications. The OpenSearch response elements can be used to extend existing syndication formats, such as RSS and Atom, with the extra metadata needed to return search results

collective.opensearch enables you to syndicate the search results of your plone site by formatting them in the RSS or Atom formats, augmented with OpenSearch response elements.

Implemented extensions and conventions

  • opensearch
  • relevance
  • opensearch description for autodiscovery
  • suggestions so that browsers can autocomplete
  • response elements and first, previous, next, last links

Consume Open Search Feeds

collective.opensearch adds a view to the link type that lets you search OpenSearch (or other searches that return RSS or Atom, pretty much any other format feed parser supports and KML) compatible search providers within your site. The feeds do not need to implement the opensearch extensions it suffices that they are valid feeds (e.g you can query yahoo, bing, google site search or any plone site). When you add a link with an open search url this view will be automatically set. To search e.g. from your site add a Link with the url:{searchTerms}

You can combine several open search links as a metasearch. All OpenSearch links inside a folder will be queried and their results displayed when you change the view of a folder to ‘Open Search View’


2) search multiple sources at once

To build a simple metasearch create a folder and add your query links to it. Change the view of the folder to ‘Open Search View’. The view consist of a search form (currently only for full text search) which input will be appied to all open search links (i.e. any link that has ‘Open Search View’ set as its view). The results of the searches will be displayed in tabs beneath the form. The queries are executed asynchronously via AJAX, so you do not have to wait until the last query has finished.

Abusing collective.opensearch to display miscelaneous feeds

3) display an abritary ‘static’ feed

Allthough the main focus of this product is to produce and display search feeds you may use it to display any valid feed. If the url of the link you added does not contain the {searchTerms} parameter and ‘Open Search View’ (you have to select the view manually from the ‘display’ menu) is selected as the view of the link, the feed will be fetched regardless of the presence of a query parameter and its results will be displayed. The search form will not be displayed in the absence of the {searchTerms} parameter.

4) display multiple feeds

Add your feeds to display to a folder (as in [2]) and select ‘Open Search View’ as the display view of the folder All feeds that do not have a {searchTerms} parameter in their url will be fetched immediately, regardless if a search input was provided. The search form will only be displayed if at least one of the links inside the folder has a {searchTerms} parameter.

5) Use collective.opensearch to search inside your collections

As opensearch results are added to all collections you may use it as a searchform to search inside your collections. if you use a relative link (e.g. /mycollection/SearchableText={searchTerms}) you have to choose ‘Open Search View’ manually to display the search results.

Known limitations issues and caveats


1.6 (2017-11-20)

  • ElementTree fixes

1.5 (2014/01/08)

  • add JSON Results view

1.4 (2011/06/17)

  • plone 4.1 compatible
  • give diazo/deliverance a hint not to style the ajax response

1.3 (2011/05/19)

1.2 (2011/05/18)

  • catch all exceptions in AutoDiscovery viewlet

1.1 (2011/05/11)

  • cache feeds when fetching remote searchresults
  • display opensearch:totalresults when available
  • show different opensearchdescriptions for site and topic
  • add opensearch views to topics, search inside topics
  • add configuration what indexes to use for categorization, abstract atom
  • and rss view entries

1.0 (2011/03/29)

  • Created recipe with ZopeSkel
  • implement all functionality from PLOS and JaoP
  • add opensearch view for link
  • add opensearch view for folder, all opensearch links inside that folder act as a metasearch

JaoP 0.1 (Sep 23, 2008)

  • First Jaop release with the default opensearch properties
  • Added default autodiscovery page ( need some changes ) for Firefox / IE
  • Implemented the rss view
  • Implemented the alpha version of suggestions

PLOS 0.2 (Jul 21, 2007)

  • Enable Plone to search OpenSearch compliant search providers
  • added search feed content type
  • additions to the RSS and ATOM responses

PLOS 0.1 (May 24, 2007)

  • initial release

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
collective.opensearch-1.6.tar.gz (36.1 kB) Copy SHA256 hash SHA256 Source None Nov 20, 2017

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page