X-Git-Url: http://git.indexdata.com/?p=mkws-moved-to-github.git;a=blobdiff_plain;f=tools%2Fhtdocs%2Fwhitepaper.markdown;h=3ff637cc4eaf135616b51a7d15600e7db5bcc780;hp=8cc4d427fb64c0a9827e227b9d4c1c246d8b321b;hb=5efe3e0da33faa330449e00546fb5e62aad2b4ae;hpb=0f999f7421d0ae0b6d5aae661dea27fd3ecef469
diff --git a/tools/htdocs/whitepaper.markdown b/tools/htdocs/whitepaper.markdown
index 8cc4d42..3ff637c 100644
--- a/tools/htdocs/whitepaper.markdown
+++ b/tools/htdocs/whitepaper.markdown
@@ -19,13 +19,13 @@ Index Data provides several different toolkits for communicating with
its metasearching middleware, trading off varying degrees of
flexibility against convenience:
-* libpz2.js -- a low-level JavaScript library for interrogating the
+* pz2.js -- a low-level JavaScript library for interrogating the
Service Proxy and Pazpar2. It allows the HTML/JavaScript programmer
to create JavaScript applications display facets, records, etc. that
are fetched from the metasearching middleware.
* masterkey-ui-core -- a higher-level, complex JavaScript library that
- uses libpz2.js to provide the pieces needed for building a
+ uses pz2.js to provide the pieces needed for building a
full-featured JavaScript application.
* MasterKey Demo UI -- an example of a searching application built on
@@ -128,7 +128,7 @@ Configuration
-------------
Many aspects of the behaviour of MKWS can be modified by setting
-parameters into the `mkws_config` hash. **This must be done *before*
+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:
@@ -137,7 +137,7 @@ this:
var mkws_config = {
lang: "da",
sort_default: "title",
- query_width: 60,
+ query_width: 60
};
@@ -205,6 +205,40 @@ day, a welcome message or a help page. This can be done by placing an
but will be hidden when a search is made.
+### Customised display using Handlebars templates
+
+Certain aspects of the widget-set's display can be customised by
+providing Handlebars templates with well-known IDs that begin with the
+string `mkwsTemplate`. At present, the supported templates are:
+
+* `mkwsTemplateSummary` -- used for each summary record in a list of
+ results.
+
+* `mkwsTemplateRecord` -- used when displaying a full record.
+
+For both of these the metadata record is passed in, and its fields can
+be referenced in the template. As well as the metadata fields
+(`md-*`), two special fields are provided to the `mkwsTemplateSummary`
+template, for creating popup links for full records. These are `_id`,
+which must be provided as the `id` attribute of a link tag, and
+`_onclick`, which must be provided as the `onclick` attribute.
+
+For example, an application can install a simple author+title summary
+record in place of the usual one providing the following template:
+
+
+
+For details of Handlebars template syntax, see
+[the online documentation](http://handlebarsjs.com/).
+
+
### Responsive design
Metasearching applications may need to appear differently on
@@ -269,10 +303,11 @@ Reference Guide
The configuration object `mkws_config` may be created before including
the MKWS JavaScript code to modify default behaviour. This structure
-is a hash, whose entries are described in the table below. All entries
-are options, but if specified must be given values of the specified
-type. If ommitted, each setting takes the indicated default value;
-long default values are in footnotes to keep the table reasonably narrow.
+is a key-value lookup table, whose entries are described in the table
+below. All entries are options, but if specified must be given values
+of the specified type. If ommitted, each setting takes the indicated
+default value; long default values are in footnotes to keep the table
+reasonably narrow.
---
Element Type Default Description
@@ -356,16 +391,16 @@ structure.
### Language specification
Support for another UI language can be added by providing an entry in
-the `mkws_config` hash whose name is `language_` followed by the name
-of the language: for example, `language_Arabic` to support
-Arabic. Then value of this entry must be a hash, mapping the
-English-language strings of the UI into their equivalents in the
-specified language. For example:
+the `mkws_config` object whose name is `language_` followed by the
+name of the language: for example, `language_French` to support
+French. Then value of this entry must be a key-value lookup table,
+mapping the English-language strings of the UI into their equivalents
+in the specified language. For example:
var mkws_config = {
- language_Arabic: {
- "Authors": "اÙÙتاب",
- "Subjects": "اÙÙ
ÙاضÙع",
+ language_French: {
+ "Authors": "Auteurs",
+ "Subjects": "Sujets",
// ... and others ...
}
}
@@ -414,9 +449,9 @@ the invocation is a single line of JavaScript:
This code should be inserted in the page at the position where the
metasearch should occur.
-When invoking this plugin, a hash of named options may be passed in to
-modify the default behaviour, as in the exaple above. The available
-options are as follows:
+When invoking this plugin, a key-value lookup table of named options
+may be passed in to modify the default behaviour, as in the exaple
+above. The available options are as follows:
---
Element Type Default Description