X-Git-Url: http://sru.miketaylor.org.uk/?a=blobdiff_plain;ds=sidebyside;f=doc%2Fmkws-manual.markdown;h=d5332cb95ba1046e48ab2d5bf396120c18d64e62;hb=625d837d06d5922b6a63e2d7eddfec791d22a897;hp=37518eb840963237b22584d0e09ade088840e125;hpb=a633ffa2e4ee92043a2ee6fe90acc9e48ce6a907;p=mkws-moved-to-github.git diff --git a/doc/mkws-manual.markdown b/doc/mkws-manual.markdown index 37518eb..d5332cb 100644 --- a/doc/mkws-manual.markdown +++ b/doc/mkws-manual.markdown @@ -1,6 +1,6 @@ % The MKWS manual: embedded metasearching with the MasterKey Widget Set % Mike Taylor -% October 2014 +% November 2014 Introduction @@ -542,7 +542,7 @@ its own User Access record. When credential-based authentication is in use (username and password), it's necessary to pass these credentials into the Service -Proxy when establishing the session. This is done +Proxy when establishing the session. This is done by providing the `sp_auth_credentials` configuration setting as a string containing the username and password separated by a slash: @@ -842,11 +842,6 @@ default values are in footnotes to keep the table reasonably narrow. ---- Element Widget Type Default Description -------- ------ ----- --------- ------------ -auth_hostname _global_ string If provided, overrides the `pp2_hostname` setting when constructing the - Service Proxy authentication URL. This need only be used when authentication - is performed on a different host from the remaining operations (search, - retrieve, etc.) - autosearch facet, string If provided, this setting contains a query which is immediately run on behalf facets, of the team. Often used with an [indirect setting](#indirect-settings). record, @@ -870,7 +865,7 @@ facet_max_* facet int Specifies how many terms a facets _team_ array *Note 1* Ordered list of names of facets to display. -lang _team_ string Two-letter ISO code of the default language to display the UI in. Supported +lang _team_ string The code of the default language to display the UI in. Supported language codes are `en` = English, `de` = German, `da` = Danish, and whatever additional languages are configured using `language_*` entries (see below). @@ -937,8 +932,8 @@ sentences reference int Limits the number of sente service_proxy_auth _global_ url If defined, this is the URL which, when `use_service_proxy` is true, is fetched once at the beginning of each session to authenticate the user and establish a session that encompasses a defined set of targets to search - in. When not defined, the URL is assembled from `auth_hostname` or - `pp2_hostname`, `sp_auth_path`, `sp_auth_query` and + in. When not defined, the URL is assembled from `sp_auth_hostname` or + `pp2_hostname`, `pp2_path` or `sp_auth_path`, `sp_auth_query` and `sp_auth_credentials`. See the [Assembling Pazpar2 URLs](#assembling-pazpar2-urls) section below. @@ -974,10 +969,15 @@ sp_auth_credentials _global_ string If defined, this must be a initialisation. See the [Assembling Pazpar2 URLs](#assembling-pazpar2-urls) section below. -sp_auth_path _global_ string *Note 6* Part of the URL used for authentication. See the [Assembling Pazpar2 +sp_auth_hostname _global_ string If provided, overrides the `pp2_hostname` setting when constructing the + Service Proxy authentication URL. This need only be used when authentication + is performed on a different host from the remaining operations (search, + retrieve, etc.) + +sp_auth_path _global_ string Part of the URL used for authentication. See the [Assembling Pazpar2 URLs](#assembling-pazpar2-urls) section below. -sp_auth_query _global_ string *Note 7* Part of the URL used for authentication. See the [Assembling Pazpar2 +sp_auth_query _global_ string *Note 6* Part of the URL used for authentication. See the [Assembling Pazpar2 URLs](#assembling-pazpar2-urls) section below. target facet, string One of three ways to select which targets an auto-searching widgets uses. See @@ -1034,13 +1034,11 @@ customise the display than by providing a full HTML structure. 3. The default for `pp2_hostname` is `"sp-mkws.indexdata.com"` -4. The default for `pp2_path` is `"service-proxy"` +4. The default for `pp2_path` is `"service-proxy/"` 5. The default for `sort_options` is `[["relevance"], ["title:1", "title"], ["date:0", "newest"], ["date:1", "oldest"]]` -6. The default for `sp_auth_path` is `"service-proxy/"`. - -7. The default for `sp_auth_query` is `"command=auth&action=perconfig"`. +6. The default for `sp_auth_query` is `"command=auth&action=perconfig"` ### Indirect settings @@ -1069,8 +1067,19 @@ invoked from the URL `http://example.com/magic/lookup/dinosaur` ### Assembling Pazpar2 URLs -FIXME describe how `pazpar2_url` is assembled from `pp2_hostname` and `pp2_path`; and how `service_proxy_auth` is assembled from -`auth_hostname` or `pp2_hostname`, `sp_auth_path`, `sp_auth_query` and `sp_auth_credentials`. +Most of MKWS's functionality is achieved by use of the Pazpar2 middleware. This is accessed on an endpoint URL which is usually +assembled from the two configuration sessings `pp2_hostname` and `pp2_path`. However, if for some reason an unusual Pazpar2 +endpoint must be used, that endpoint can be specified in the `pazpar2_url` setting, and that will be used instead. + +In the common case where Pazpar2 is accessed via the Service Proxy, an authentication call is made during initialisation. The call +is generally made to the same endpoint as the other requests. However, the hostname used for authentication may if necessary be +overridden using the `sp_auth_hostname` setting, and the path overridden by `sp_auth_path`. In any case, the value of +`sp_auth_query` is appended; and if `sp_auth_credentials` is set, then it is used to add username and password parameters. + +So in the absence of any configuration added by an application, the Service Proxy authentication URL is made up of `pp2_hostname` +(sp-mkws.indexdata.com) since `sp_auth_hostname` is undefined; and `pp2_path` (service-proxy/) since `sp_auth_path` is undefined; +and `sp_auth_query` (command=auth&action=perconfig); and no credentials, since `sp_auth_credentials` is undefined. Therefore the +URL `http://sp-mkws.indexdata.com/service-proxy/?command=auth&action=perconfig` is generated. Language specification ---------------------- @@ -1091,46 +1100,64 @@ in the specified language. For example: } The following strings occurring in the UI can be translated: -`Displaying`, -`Next`, -`Prev`, -`Records`, -`Search`, -`Sort by`, -`Targets`, -`Facets`, -`and show`, -`found`, -`of`, -`per page` -and -`to`. + +* `Search complete: found` +* `records` +* `Displaying` +* `to` +* `of` +* `found` +* `Prev` +* `Next` +* `Sort by` +* `and show` +* `per page` +* `Search` +* `Active clients` +* `Retrieved records` +* `Records` +* `Targets` +* `Target ID` +* `Hits` +* `Diags` +* `Records` +* `State` In addition, facet names can be translated: -`Authors`, -`Sources` -and -`Subjects`. + +* `Authors` +* `Sources` +* `Subjects` + +and whatever field captions are defined by `facet_caption_*` settings. + +And sort-orders: + +* `relevance` +* `title` +* `newest` +* `oldest` + +and whatever sort-orders are defined by the `sort_options` setting. 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`. - +* `Title` +* `Date` +* `Author` +* `Links` +* `Subject` +* `Locations` jQuery UI popup invocation -------------------------- The MasterKey Widget Set can be invoked in a popup window on top of the page. -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: +Note that the `popup` widget uses facilities from the jQuery UI, so +it's necessary to include both CSS and JavaScript from that +toolkit. The relevant lines are: +Popup windows can contain any HTML, not just MKWS widgets. + +The properties of the `popup` widget are as follows: + ---- Element Type Default Description -------- ----- ------- ------------ -popup_width string 880 Width of the popup window (if used), in - pixels. +popup_width int 880 Width of the popup window, in pixels. -popup_height string 760 Height of the popup window (if used), in - pixels. +popup_height int 760 Height of the popup window, in pixels. -popup_button string `input.mkwsButton` A click on this selector will trigger the - popup to open +popup_button string `input.mkwsButton` A jQuery selector identifying the element which, which clicked, pops up the window. -popup_modal string 0 Modal confirmation mode. Valid values are 0 or 1 +popup_modal bool 0 Indicates whether the popup is modal (blocks access to the background page until + dismissed). Set to 1 if a modal popup is required. -popup_autoOpen string 1 Open popup window on load. Valid values are 0 or 1 +popup_autoOpen bool 1 Indictaes whether to pop up the window automatically when the page is loaded. ---- -You can have more than one mkws-popup widgets on a page. Please use a different -popup_button value to address the right ones. +Multiple `popup` widgets can co-exist on a page. In this case, different +`popup_button` values must be used for each. -The structure of the HTML generated by the MKWS widgets -------------------------------------------------------- +Structure of HTML generated by widgets +-------------------------------------- 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 widgets. This knowledge make it possible, for example, -to style each `