Documentation of configuration object is complete.
authorMike Taylor <mike@indexdata.com>
Thu, 3 Oct 2013 11:41:39 +0000 (12:41 +0100)
committerMike Taylor <mike@indexdata.com>
Thu, 3 Oct 2013 11:41:39 +0000 (12:41 +0100)
tools/htdocs/whitepaper.markdown

index a91a7de..8339611 100644 (file)
@@ -273,7 +273,8 @@ 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.
+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
@@ -288,52 +289,80 @@ lang                     string  en        Code of the default language to displ
                                            English, `de` = German, `da` = Danish, and whatever additional languages are configured
                                            using `language_*` entries (see below).
 
-lang_display             array
+lang_display             array   []        A list of the languages to offer as options. If empty (the default), then all
+                                           configured languages are listed.
 
-lang_menu                bool
+lang_menu                bool    true      Indicates whether or not to display the language menu. ### We should get rid of this
+                                           setting, and simply display the menu if there's an `mkwsLang` element.
 
-language_*               hash
+language_*               hash              Support for any number of languages can be added by providing entries whose name is
+                                           `language_` followed by the code of the language. See the separate section below for
+                                           details.
 
-pazpar2_url              string  *Note 2*
+pazpar2_url              string  *Note 2*  The URL used to access the metasearch middleware if `use_service_proxy` is false. ###
+                                           It's silly that you have to provide a different setting depending on whether
+                                           `use_service_proxy` is set. Should just use pazpar2_url in all cases.
 
-perpage                  array   *Note 3*
+perpage                  array   *Note 3*  A list of candidate page sizes. Users can choose between these to determine how many
+                                           records are displayed on each page of results.
 
-perpage_default          string
+perpage_default          string  20        The initial value for the number of records to show on each page. ### The `perpage` and
+                                           `perpage_default` entries should be renamed `perpage_display` and `perpage`
+                                           respectively for consistency with the language-related settings.
 
-perpage_menu             bool    true
+perpage_menu             bool    true      Indicates whether or not to display the perpage menu. ### We should get rid of this
+                                           setting, and simply display the menu if an appropriate container is provided.
 
-query_width              int
+query_width              int     50        The width of the query box, in characters.
 
-responsive_design        bool
+responsive_design        bool    false     If true, then the facets display moves between two locations as the screen-width
+                                           varies, as described above. ### This entry should not exist: the design should be
+                                           responsive whenever `responsive_design_width` has a defined value.
 
-responsive_design_width  int     980
+responsive_design_width  int     980       If `responsive_design` is true, this is the threshhold width, in pixels, at which the
+                                           facets move between their two locations.
 
-service_proxy_auth       url
+service_proxy_auth       url     *Note 4*  A 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.
 
-service_proxy_url        string  *Note 4*  The URL on which the service proxy is accessed. This service must be configured to
-                                           provide search results, facets, etc.
+service_proxy_url        string  *Note 5*  The URL on which the service proxy is accessed if `use_service_proxy` is true. This
+                                           service must be configured to provide search results, facets, etc.
 
-sort                     array   *Note 5*
+sort                     array   *Note 6*  List of supported sort criteria. Each element of the list is itself a two-element list:
+                                           the first element of each sublist is a pazpar2 sort-expression such as `data:0` and
+                                           the second is a human-readable label such as `newest`.
 
-sort_default             string
+sort_default             string  relevance The label of the default sort criterion to use. Must be one of those in the `sort`
+                                           array.
 
-sort_menu                bool    true
+sort_menu                bool    true      Indicates whether or not to display the sort menu. ### We should get rid of this
+                                           setting, and simply display the menu if an appropriate container is provided.
 
-use_service_proxy        bool    true
+use_service_proxy        bool    true      If true, then a Service Proxy is used to deliver searching services rather than raw
+                                           Pazpar2. ### Do we even need this? Can't we just assume that the Service Proxy is in
+                                           use when and only when `service_proxy_auth` is defined? Alternatively, retain this, but
+                                           use the same entry to specify the URL in either case.
 ---
 
 #### Notes
 
-1: ["sources", "subjects", "authors"]
+1. ["sources", "subjects", "authors"]
 
-2: /pazpar2/search.pz2
+2. /pazpar2/search.pz2
 
-3: ###
+3. [10, 20, 30, 50]
 
-4: http://mkws.indexdata.com/service-proxy/
+4. http://mkws.indexdata.com/service-proxy-auth
 
-5: ###
+5. http://mkws.indexdata.com/service-proxy/
 
+6. [["relevance"], ["title:1", "title"], ["date:0", "newest"], ["date:1", "oldest"]]
+
+
+### Language specification
+
+TODO
 
 ### jQuery plugin invocation