From 12ebc5bba30b95351e27b4bb59fe26d708ef5333 Mon Sep 17 00:00:00 2001 From: Mike Taylor Date: Thu, 3 Oct 2013 17:10:25 +0100 Subject: [PATCH] Complete! --- tools/htdocs/whitepaper.markdown | 156 +++++++++++++++++++++++++++++++++++++- 1 file changed, 153 insertions(+), 3 deletions(-) diff --git a/tools/htdocs/whitepaper.markdown b/tools/htdocs/whitepaper.markdown index 8339611..9345cba 100644 --- a/tools/htdocs/whitepaper.markdown +++ b/tools/htdocs/whitepaper.markdown @@ -362,15 +362,165 @@ use_service_proxy bool true If true, then a Service Proxy is used ### Language specification -TODO +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: + + var mkws_config = { + language_Arabic: { + "Authors": "الكتاب", + "Subjects": "المواضيع", + // ... and others ... + } + } + +The following strings occurring in the UI can be translated: +`Displaying`, +`Next`, +`Prev`, +`Records`, +`Search`, +`Sort by`, +`Targets`, +`Termlists`, +`and show`, +`found`, +`of`, +`per page` +and +`to`. + +In addition, facet names can be translated: +`Authors`, +`Sources` +and +`Subjects`. + +Finally, the names of fields in the full-record display can be +translated. These include, but may not be limited to: +`Author`, +`Date`, +`Location`, +`Subject` +and +`Title`. + + ### jQuery plugin invocation -TODO +The MasterKey Widget Set can be invoked as a jQuery plugin rather than +by providing an HTML skeleton explicitly. When this approach is used, +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: + +--- +Element Type Default Description +-------- ----- --------- ------------ +layout string popup Specifies how the user interface should + appear. Options are `table` (the default, + with facets at the bottom), `div` (with + facets at the side) and `popup` (to + obtain a popup window). + +width int 880 Width of the popup window (if used), in + pixels. + +height int 760 Height of the popup window (if used), in + pixels. + +id_button string input#mkwsButton (Never change this.) + +id_popup string #mkwsPopup (Never change this.) +--- + +Note that when using the `popup` layout, facilities from the jQuery UI +toolkit are used, so it's necessary to include both CSS and JavaScript +from that toolkit. The relevant lines are: + + + + ### The structure of the HTML generated by the MKWS widgets -TODO +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, +to style each `
` 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. + +The HTML structure is as follows. As in CSS, #ID indicates a unique identifier +and .CLASS indicates an instance of a class. + + #mkwsSwitch + a* + + #mkwsLang + ( a | span )* + + #mkwsSearch + form + input#mkwsQuery type=text + input#mkwsButton type=submit + + #mkwsBlanket + (no contents -- used only for masking) + + #mkwsResults + table + tbody + tr + td + #mkwsTermlists + div.title + div.facet* + div.termtitle + ( a span br )* + td + div#mkwsRanking + form#mkwsSelect + select#mkwsSort + select#mkwsPerpage + #mkwsPager + #mkwsNavi + #mkwsRecords + div.record* + span (for sequence number) + a (for title) + span (for other information such as author) + div.details (sometimes) + table + tbody + tr* + th + td + #mkwsTargets + #mkwsBytarget + table + thead + tr* + td* + tbody + tr* + td* + + #mkwsStat + span.head + span.clients + span.records - - - -- 1.7.10.4