% MKWS: the MasterKey Widget Set Add metasearching to your web-site painlessly --------------------------------------------- The MasterKey Widget Set provides the easiest possible way to enhance an existing web-site with customised searching across multiple sources, ranking and merging the results. As much of the searching functionality as possible is hosted on so that very simple applications such as can have MasterKey searching with minimal effort. All you need to do is pull in our JavaScript and optional stylesheet, then add `
`s to your page that have special `class` attributes. We do the rest. Supported Browsers ------------------ Any modern browser will work fine. JavaScript must be enabled. * IE8 or later * Firefox 17 or later * Google Chrome 27 or later * Safari 6 or later * Opera 12 or later * iOS 6.x (iPhone, iPad) * Android 4.x Not supported: IE6, IE7 A minimal example ----------------- Here is a completely functional (though ugly) MKWS-based searching application:
That's it. A complete metasearching application. Everything else is refinement. Configuring a client (short version) ------------------------------------ The application's HTML must contains the following elements as well as whatever makes up the application itself: Prerequisites: ~~~ ~~~ Then the following special `
`s can be added (with no content), and will be filled in by MKWS: * `
` -- switch between record and target views * `
` -- switch between English, Danish and German * `
` -- search box and button * `
` -- result list, including pager/sorting * `
` -- target list, including status * `
` -- summary statistics You can configure and control the client by creating an `mkws_config` object before loading the widget-set. Here is an example showing how to use options to offer a choice between English and German UI languages, and to default to sorting by title ascending: ~~~ ~~~ For much more detail, see: [Embedded metasearching with the MasterKey Widget Set](mkws-manual.html) Documentation ------------- * This file. [PDF version] * The MKWS manual, including a reference section. [PDF version] * The MKWS developers' guide. [PDF version] Tools ----- Here are the files that this web-site provides: * mkws.js -- JavaScript code that powers the MasterKey Widget Set * pazpar2/js/pz2.js -- Low-level JavaScript library for access to the MasterKey web service. * handlebars-v2.0.0.js -- A local copy of the Handlebars templating library, since it doesn't like to be hotlinked. * Local copy of jquery-1.10.0.min.js * Local copy of jquery.json-2.4.js * mkws-complete.js -- A single large JavaScript file containing everything needed for MKWS to work: the widget-set itself, the API library, and the prerequisites jQuery and Handlebars. * mkws.css -- A stylesheet which styles only MasterKey widgets, and does not otherwise interfere with application-site's styles. * mkws-jquery.js -- An experimental jQuery plugin that provides an MKWS-based metasearching applet. Minified versions of the MKWS JavaScript files are also available: * mkws.min.js * mkws-complete.min.js ### Specific versions The links above to the various forms of the widget-set JavaScript (mkws.js, mkws-complete.js, mkws.min.js and mkws-complete.min.js) are always to the current versions of those files. Applications that rely on a particular version can instead use the specific numbered versions in the releases area, for example releases/mkws-0.9.1.js. The current version number is always in the VERSION file. Version history is in the NEWS file. Examples using the widget-set ----------------------------- It's worth viewing the source of these to see how small they are and how various things are done. ### Simple examples * A very simple application at //example.indexdata.com/simple.html. * The absolutely minimal application listed above. * A more detailed version that contains a configuration structure instead of accepting the defaults. Includes a custom translation option to present the application in Arabic. * A version suitable for mobile devices, with a responsive design that moves components around depending on the screen size. ### Advanced examples * An application that uses lower-level MKWS components rather than the all-in-one `#mkwsResults` division, allowing it to use a rather different layout. * An application that specifies how to display brief and full records using Handlebar templates. (Read about the templating language.) * An application that displays thumbnail images. * An application that uses a local authentication regime, and the corresponding Apache2 configuration stanza. * A version that uses a jQuery popup. ### Non-standard interfaces * An application that uses MKWS to find dictionary definitions of words when you highlight them. * An application that runs an automatic search on load. * An existing web-site, The Self-Appointed Grammar Police, which has been fitted with an MKWS searching widget. (See also the MKWS-widget customisations in that site's stylesheet.) Target selection ---------------- MKWS comes pre-configured to search in a set of a dozen or so open-access targets, as a proof of concept. But you'll want to use it to search your own selection of targets -- some open access, some subscription. We can set that up for you: email us on info@indexdata.com. - - - Copyright (©) 2013-2014 Index Data ApS. `http://indexdata.com`