MasterKey: Drupal

MasterKey: Drupal (MkDru) is an open source module for the Drupal CMS that embeds a fully themable metasearch interface. It can perform queries against one or more Z39.50, SRU/SRW and SOLR targets via Pazpar2, our likewise open search daemon. More sophisticated target management and other functionality can be obtained through integration with the MasterKey platform.

Take it for a spin!

You can try it in your own Drupal installation by enabling the module and adding a metasearch node with the default settings. Read on to get a lay of the land and then delve into the documentation to get the details of the many integration possibilities.

New! You can use Index Data’s hosted MasterKey Connect service to easily integrate remote resources that are not directly accessible by Z39.50/SRU. Simply let us know which resources are of interest to you, and we will set up hosted connectors for you with a SRU/Z39.50 interface. We support most possible access methods, including native APIs, OAI-PMH harvesting, and screenscraping. Now you no longer have to rely on your data providers to support sensible interfaces: MasterKey Connect is the ultimate glue layer for your application.

Development of MkDru was sponsored by the Dansk BiblioteksCenter (DBC).


Enabling the MkDru module in Drupal adds a content type for a search interface. This makes it convenient to set up front ends to multiple metasearch target configurations and link them into a site. Upon creating a search node, blocks become available to position any configured facets and a block with a query form is exposed so users can search from other pages.

In MkDru the querying and presentation of results is done via JavaScript on the client browser that connects directly to the metasearch webservice (either Pazpar2 or Service Proxy). The first results display immediately and the server continues to be checked and results updated until all targets have reported. Bookmarking and use of the back button is still possible thanks to jQuery BBQ.


Drupal has conventions for theming via both PHP templates and Javascript theme functions. MkDru makes full use of both to provide complete customisation of the interface and search result output. PHP templates can be used to provide custom markup for the search forms and containers for search result and facet display. However, just as the JavaScript client is the core of MkDru, the bulk of theming is done in JavaScript. For example, there is a theme function that is called to render the markup for each result that is passed an object with all the data returned from the metasearch service. This gives you unlimited flexibility in how you present the information and enables seamless integration with your site’s design.


MkDru makes all of its text output available for use with the Drupal localisation infrastructure. If you are using this capability of the CMS to offer your site in several languages, the metasearch will fit into your translation workflow.

Latest: 1.7
Licence: GPL