Remove obsolete section on SP service on mkws.indexdata.com
[mkws-moved-to-github.git] / doc / index.markdown
1 % MKWS: the MasterKey Widget Set
2 <!---% Mike Taylor
3 % June 2014-->
4
5
6 Add metasearching to your web-site painlessly
7 ---------------------------------------------
8
9 The MasterKey Widget Set provides the easiest possible way to enhance
10 an existing web-site with customised searching across multiple
11 sources, ranking and merging the results.
12
13 All you need to do is pull in our JavaScript and optional stylesheet,
14 then add `<div>`s to your page that have special `class` attributes. We
15 do the rest.
16
17 A minimal example
18 -----------------
19
20 Here is a completely functional (though ugly) MKWS-based
21 searching application:
22
23         <script type="text/javascript"
24           src="http://mkws.indexdata.com/mkws-complete.js"></script>
25         <div class="mkwsSearch"></div>
26         <div class="mkwsResults"></div>
27
28 That's it. A complete metasearching application. Everything
29 else is refinement.
30
31 Documentation
32 -------------
33
34 * The <a href="README.html">README</a> -- mostly technical details.
35 * The <a href="mkws-manual.html">MKWS manual, including a reference section.</a>
36   This is a much better introduction.
37
38 Tools
39 -----
40
41 Here are the files that this web-site provides:
42
43 * <a href="mkws.js">mkws.js</a> --
44   JavaScript code that powers the MasterKey Widget Set
45 * <a href="pazpar2/js/pz2.js">pazpar2/js/pz2.js</a> --
46   Low-level JavaScript library for access to the MasterKey web
47   service.
48 * <a href="handlebars-v2.0.0.js">handlebars-v2.0.0.js</a> --
49   A local copy of
50   <a href="http://handlebarsjs.com/">the Handlebars templating library</a>,
51   since it doesn't like to be hotlinked.
52 * Local copy of <a href="jquery-1.10.0.min.js">jquery-1.10.0.min.js</a>
53 * Local copy of <a href="jquery.json-2.4.js">jquery.json-2.4.js</a>
54 * <a href="mkws-complete.js">mkws-complete.js</a> --
55   A single large JavaScript file containing everything needed for
56   MKWS to work: the widget-set itself, the API library, and
57   the prerequisites jQuery and Handlebars.
58 * <a href="mkws.css">mkws.css</a> --
59   A stylesheet which styles only MasterKey widgets, and does not
60   otherwise interfere with application-site's styles.
61
62
63 Minified versions of the MKWS JavaScript files are also available:
64
65 * <a href="mkws.min.js">mkws.min.js</a>
66 * <a href="mkws-complete.min.js">mkws-complete.min.js</a>
67
68 Versions
69 --------
70
71 The links above to the various forms of the widget-set JavaScript
72 (<a href="mkws.js">mkws.js</a>,
73 <a href="mkws-complete.js">mkws-complete.js</a>,
74 <a href="mkws.min.js">mkws.min.js</a>
75 and
76 <a href="mkws-complete.min.js">mkws-complete.min.js</a>)
77 are always to the current versions of those
78 files. Applications that rely on a particular version can
79 instead use the specific numbered versions in
80 <a href="releases/">the releases area</a>,
81 for example
82 <a href="releases/mkws-0.9.1.js">releases/mkws-0.9.1.js</a>.
83
84 The current version number is always in
85 <a href="VERSION">the VERSION file</a>.
86
87 Version history is in
88 <a href="NEWS">the NEWS file</a>.
89
90 Examples using the widget-set
91 -----------------------------
92
93 It's worth viewing the source of these to see how small they
94 are and how various things are done.
95
96 ### Simple examples
97
98 * A very simple application at
99   <a href="//example.indexdata.com/simple.html"
100        >//example.indexdata.com/simple.html</a>.
101 * <a href="//example.indexdata.com/minimal.html"
102        >The absolutely minimal application</a>
103   listed above.
104 * <a href="//example.indexdata.com/language.html"
105        >A more detailed version</a>
106   that contains a configuration structure instead of accepting the
107   defaults. Includes a custom translation option to present the
108   application in Arabic.
109 * <a href="//example.indexdata.com/mobile.html"
110        >A version suitable for mobile devices</a>,
111   with a responsive design that moves components around depending on
112   the screen size.
113
114 ### Advanced examples
115
116 * An application that
117   <a href="//example.indexdata.com/lowlevel.html"
118        >uses lower-level MKWS components</a>
119   rather than the all-in-one `#mkwsResults` division,
120   allowing it to use a rather different layout.
121 * An application that specifies how to display brief and full records
122   <a href="//example.indexdata.com/templates.html"
123        >using Handlebar templates</a>.
124   (Read about
125   <a href="http://handlebarsjs.com/"
126        >the templating language</a>.)
127 * An application that
128   <a href="http://example.indexdata.com/images.html?q=portrait"
129        >displays thumbnail images</a>.
130 * <a href="//example.indexdata.com/localauth.html"
131        >An application that uses a local authentication regime</a>,
132   and the corresponding
133   <a href="//example.indexdata.com/apache-config.txt"
134        >Apache2 configuration stanza</a>.
135 * <a href="//example.indexdata.com/popup.html"
136        >A version that uses a jQuery popup</a>.
137
138 ### Non-standard interfaces
139
140 * <a href="//example.indexdata.com/dict.html"
141        >An application that uses MKWS to find dictionary
142   definitions of words when you highlight them</a>.
143 * <a href="//example.indexdata.com/auto.html"
144        >An application that runs an automatic search on load</a>.
145 * An existing web-site,
146   <a href="http://sagp.miketaylor.org.uk/"
147        >The Self-Appointed Grammar Police</a>,
148   which has been fitted with an MKWS searching widget.
149   (See also the MKWS-widget customisations in
150   <a href="http://sagp.miketaylor.org.uk/style.css"
151        >that site's stylesheet</a>.)
152 <!---
153 * Another existing web-site,
154   <a href="http://zthes.z3950.org/"
155        >The Zthes specifications</a>,
156   which has been fitted with a popup MKWS search-box.
157 -->
158
159 Target selection
160 ----------------
161
162 MKWS comes pre-configured to search in a set of a dozen or so
163 open-access targets, as a proof of concept. But you'll want
164 to use it to search your own selection of targets -- some open
165 access, some subscription.
166
167 We can set that up for you: email us on
168 <a href="mailto:info@indexdata.com"
169                >info@indexdata.com</a>.
170
171 - - -
172
173 Copyright (&copy;) 2013-2014 Index Data ApS.
174 <a href="http://indexdata.com">`http://indexdata.com`</a>