Merge branch 'master' of ssh://git.indexdata.com/home/git/pub/mkws
authorMike Taylor <mike@indexdata.com>
Fri, 7 Nov 2014 17:31:19 +0000 (17:31 +0000)
committerMike Taylor <mike@indexdata.com>
Fri, 7 Nov 2014 17:31:19 +0000 (17:31 +0000)
doc/mkws-manual.markdown
src/mkws-core.js

index 37518eb..b0107be 100644 (file)
@@ -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,
@@ -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
 ----------------------
index 1557d16..c331bc4 100644 (file)
@@ -155,9 +155,9 @@ mkws.setMkwsConfig = function(overrides) {
     use_service_proxy: true,
     pazpar2_url: undefined,
     pp2_hostname: "sp-mkws.indexdata.com",
-    pp2_path: "service-proxy",
+    pp2_path: "service-proxy/",
     service_proxy_auth: undefined,
-    sp_auth_path: "service-proxy/",
+    sp_auth_path: undefined,
     sp_auth_query: "command=auth&action=perconfig",
     sp_auth_credentials: undefined,
     lang: "",
@@ -246,7 +246,7 @@ mkws.pazpar2_url = function() {
     mkws.log("using pre-baked pazpar2_url '" + mkws.config.pazpar2_url + "'");
     return mkws.config.pazpar2_url;
   } else {
-    var s = document.location.protocol + "//" + mkws.config.pp2_hostname + "/" + mkws.config.pp2_path + "/";
+    var s = document.location.protocol + "//" + mkws.config.pp2_hostname + "/" + mkws.config.pp2_path;
     mkws.log("generated pazpar2_url '" + s + "'");
     return s;
   }
@@ -615,8 +615,9 @@ mkws.log("Using window.name '" + window.name + "'");
        return config.service_proxy_auth;
       } else {
        var s = '//';
-       s += config.auth_hostname ? config.auth_hostname : config.pp2_hostname;
-       s += '/' + config.sp_auth_path;
+       s += config.sp_auth_hostname ? config.sp_auth_hostname : config.pp2_hostname;
+       s += '/';
+       s += config.sp_auth_path ? config.sp_auth_path : config.pp2_path;
         var q = config.sp_auth_query;
         if (q) {
           s += '?' + q;