Topic: Kete team releases External Search Sources open source Rails engine

Topic type:

The Kete team has whipped up a new Rails engine that will be used in Kete 1.3 for multiple site integration. It is an open source add on for the Ruby on Rails web framework and can be used by other Rails applications.

The Kete 1.3 release will have some exciting functionality for integrating content from multiple sites, say your Koha3 catalog and perhaps a national content metadata aggregation service like DigitalNZ, into your Kete site.

I'm happy to announce that this work has been bundled up into a standalone open source Ruby on Rails engine to be used by other applications to enjoy the same capabilities. The engine was funded by DigitalNZ and Katipo. It also includes work that was originally funded by Auckland City Libraries.

Here's the full announcement:

[ANN] External Search Sources Rails Engine

Announcing the release of the External Search Sources Rails Engine developed by Katipo Communications ( for Kete (, and funded by Digital New Zealand ( and Katipo.

What does it do?

The engine allows you to define search sources that are based on web services that return RSS feeds of their search results. An example search source is the Digital New Zealand content metadata aggregation service (

In your views, you can then call a helper method which is passed a search term string that is defined by your code. Your defined search sources will then be queried and their results will be presented.

This is an excellent way of displaying partner sites' related content along side your local search results.

There are a number of options that can be used to handle different search sources' boolean syntax and whether results should be cached locally.

If the results feed for a search source returns thumbnails, they will also be displayed.

How does it work?

The engine provides an administrative interface powered by ActiveScffold ( Administrators can add search sources which will be used to get results.

Put simply, a search source is an rss feed from another website. When it needs to get results, it adds the search term to the end of a base url. The base url needs to end in something similar to '&q=' . That resulting url is then fetched and parsed using a modified version of Feedzirra (, and output to html, which can then be styled using css to suit.


Because we chose to go with a Rails engine and I18n support in this case, Rails 2.3 or higher is required to run the engine.

The administrative interface requires ActiveScaffold be installed and working as well.

Finally, the modified version of Feedzirra is needed ( We have found cases where certain feed elements weren't being detected, so we have added these to our own version of the gem and sent pull requests to the maintainers of the original gem.


The engine has some assumptions for authorization that can be easily reconfigured to suit your application.

It assumes you are using the authorization plugin ( and acts as authenticated (

See the README.rdoc for more information.

So how do I install this?

Head on over to it's Github repository and checkout the README.rdoc file.

It has all the steps you need to get running with it as quickly as possible. It also has a heap of documentation about configurable settings, translating, styling id/classes, and testing.


This engine was co-designed by Kieran Pilkington ( and Walter McGinnis (

Kieran did the implementation and testing. Walter provided guidance and implementation feedback.


Discuss This Topic

There are 0 comments in this discussion.

join this discussion

Creative Commons Attribution-Share Alike 3.0 New Zealand License
Kete team releases External Search Sources open source Rails engine by Walter McGinnis is licensed under a Creative Commons Attribution-Share Alike 3.0 New Zealand License