Simple Example
==============
-The following is a complete MKWS-based searching application:
+The following is
+[a complete MKWS-based searching application](//example.indexdata.com/simple.html):
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>MKWS demo client</title>
- <script type="text/javascript" src="http://mkws.indexdata.com/mkws-complete.js"></script>
- <link rel="stylesheet" href="http://mkws.indexdata.com/mkws.css" />
+ <script type="text/javascript" src="//mkws.indexdata.com/mkws-complete.js"></script>
+ <link rel="stylesheet" href="//mkws.indexdata.com/mkws.css" />
</head>
<body>
<div class="mkwsSearch"></div>
</html>
Go ahead, try it! Simply put the above in a file (e.g index.html),
-drop it into a folder accessible with an ordinary web-server (e.g Apache)
-and load it in your web browser (and no, usually, you can't just load the file
-directly from disk as some browsers, e.g Chrome, won't allow storing cookies).
-Just like that, you have working metasearching.
+drop it into a folder accessible with an ordinary web-server (e.g
+Apache) and load it in your web browser. Just like that, you have
+working metasearching.
How the example works
---------------------
page, you can add MKWS elements.
These fall into two categories. First, the prerequisites in the HTML
-header, which are loaded from the tool site mkws.indexdata.com:
+header, which are loaded from the tool site `mkws.indexdata.com`:
* `mkws-complete.js`
contains all the JavaScript needed by the widget-set.
Second, within the HTML body, `<div>` elements with special IDs that
begin `mkws` can be provided. These are filled in by the MKWS code,
and provide the components of the searching UI. The very simple
-application above has only two such components: a search box and a
-results area. But more are supported. The main `<div>`s are:
+application above has only two such widgets: a search box and a
+results area. But more are supported. The main widgets are:
* `mkwsSearch` -- provides the search box and button.
paging for large results sets, facets for refining a search,
sorting facilities, etc.
-* `mkwsLang` -- provides links to switch between one of several
- different UI languages. By default, English, Danish and German are
- provided.
+* `mkwsStat` --provides a status line summarising the statistics of
+ the various targets.
* `mkwsSwitch` -- provides links to switch between a view of the
result records and of the targets that provide them. Only
when selected by the link in the `mkwsSwitch` area. Of interest
mostly for fault diagnosis rather than for end-users.
-* `mkwsStat` --provides a status line summarising the statistics of
- the various targets.
+* `mkwsLang` -- provides links to switch between one of several
+ different UI languages. By default, English, Danish and German are
+ provided.
To see all of these working together, just put them all into the HTML
`<body>` like so:
<div id="mkwsTargets"></div>
<div id="mkwsStat"></div>
+The full set of supported widgets is described in the
+reference guide below.
+
Configuration
=============
Many aspects of the behaviour of MKWS can be modified by setting
-parameters into the `mkws_config` object. **This must be done *before*
-including the MKWS JavaScript** so that when that code is executed it
-can refer to the configuration values. So the HTML header looks like
-this:
+parameters into the `mkws_config` object. So the HTML header looks
+like this:
<script type="text/javascript">
var mkws_config = {
`mkwsResults` area which contains record, facets, sorting options,
etc., customised layouts may wish to treat each of these components
separately. In this case, `mkwsResults` can be omitted, and the
-following lower-level components provided instead:
+following lower-level widgets provided instead:
* `mkwsTermlists` -- provides the facets
};
</script>
-If individual result-related components are in use in place of the
+If individual result-related widgets are in use in place of the
all-in-one mkwsResults, then the redesigned application needs to
specify the locations where the termlists should appear in both
cases. In this case, wrap the wide-screen `mkwsTermlists` element in a
----------------------------
The [jQuery UI library](http://en.wikipedia.org/wiki/JQuery_UI)
-can be used to construct MKWS applications in which the only component
+can be used to construct MKWS applications in which the only widget
generally visible on the page is a search box, and the results appear
in a popup. The key part of such an application is this invocation of
the MKWS jQuery plugin:
In order to override the default CSS styles provided by the MasterKey Widget
Set, it's necessary to understand that structure of the HTML elements that are
-generated within the components. This knowledge make it possible, for example,
+generated within the widgets. This knowledge make it possible, for example,
to style each `<div>` with class `term` but only when it occurs inside an
element with ID `#mkwsTermlists`, so as to avoid inadvertently styling other
elements using the same class in the non-MKWS parts of the page.
- - -
-Copyright (C) 2013-2014 by Index Data ApS, <http://www.indexdata.com>
+Copyright (C) 2013-2014 Index Data ApS. <http://indexdata.com>