configurable facets
[mkws-moved-to-github.git] / experiments / spclient / README
index 16b3bc3..c10fbb5 100644 (file)
@@ -18,7 +18,7 @@ can have MasterKey searching with minimal effort.
 The following files must be hosted on mkws.indexdata.com:
        mkws.js
        mkwsStyle.css
 The following files must be hosted on mkws.indexdata.com:
        mkws.js
        mkwsStyle.css
-       /libjs-pz2/pz2api.1.js
+       /libjs-pz2/pz2api.1.js (*)
 
 The following files make up the application:
        index.html
 
 The following files make up the application:
        index.html
@@ -29,6 +29,9 @@ The following files make up the application:
 Alias for /service-proxy/, to avoid cross-site scripting issues. We
 will fix this.)
 
 Alias for /service-proxy/, to avoid cross-site scripting issues. We
 will fix this.)
 
+(*) if you don't have already installed libjs-pz2 on the machine, you can
+do it by installing a debian package or check it out from GIT:
+$ git clone ssh://git.indexdata.com:222/home/git/pub/libjs-pz2
 
 Configuring a client
 --------------------
 
 Configuring a client
 --------------------
@@ -38,6 +41,9 @@ whatever makes up the application itself:
 
 Prerequisites:
     <link rel="stylesheet" href="mkwsStyle.css" />
 
 Prerequisites:
     <link rel="stylesheet" href="mkwsStyle.css" />
+    <script type="text/javascript">
+       var mkws_config = { };
+    </script>
     <script type="text/javascript" src="http://code.jquery.com/jquery-1.10.0.min.js"></script>
     <script type="text/javascript" src="/libjs-pz2/pz2api.1.js"></script>
     <script type="text/javascript" src="mkws.js"></script>
     <script type="text/javascript" src="http://code.jquery.com/jquery-1.10.0.min.js"></script>
     <script type="text/javascript" src="/libjs-pz2/pz2api.1.js"></script>
     <script type="text/javascript" src="mkws.js"></script>
@@ -49,6 +55,7 @@ do so many things, but that's not quite trivial.)
 Then the following special <div>s can be added (with no content), and
 will be filled in by MKWS:
     <div id="mkwsSwitch"></div> -- switch between record and target views
 Then the following special <div>s can be added (with no content), and
 will be filled in by MKWS:
     <div id="mkwsSwitch"></div> -- switch between record and target views
+    <div id="mkwsLang"></div>   -- switch between English, Danish and German
     <div id="mkwsSearch"></div> -- search box and button
     <div id="mkwsRecords"></div> -- result list, including pager/sorting
     <div id="mkwsTargets"></div> -- target list, including status
     <div id="mkwsSearch"></div> -- search box and button
     <div id="mkwsRecords"></div> -- result list, including pager/sorting
     <div id="mkwsTargets"></div> -- target list, including status
@@ -59,6 +66,57 @@ missing. One of the TODOs is to fix it so that it doesn't try to use
 whatever is not there, and just uses what is.
 
 
 whatever is not there, and just uses what is.
 
 
+You can configure and control the client with the JavaScript mkws_config object.
+
+Here is an example of all possible options
+    <script type="text/javascript">
+        var mkws_config = {
+                use_service_proxy: false,   /* true, flase */
+               switch_menu: true,          /* true, false: show/hide Records|Targets menu */
+               lang_menu: true,            /* true, false: show/hide language menu */
+               lang_display: ["en", "de", "da"], /* display languages links for given 
+                                                    languages, [] for all */
+               facets: ["sources", "subjects", "authors"], /* display facets, in this order, [] for none */
+                sort_default: "relevance",  /* "relevance", "title:1", "date:0", "date:1" */
+               query_width: 50,            /* 5..50 */
+                perpage_default: 20,       /* 10, 20, 30, 50 */
+                lang: "en",                 /* "en", "de", "da" */
+               debug: 0,                   /* debug level for development: 0..2 */
+
+               responsive_design: false    /* true, false: resize for smaller mobile devices */
+               pazpar2_url: "/pazpar2/search.pz2",        /* URL */
+               service_proxy_url: "/service-proxy/",      /* URL */
+               service_proxy_auth: "/service-proxy-auth", /* URL */
+         };
+    </script>
+
+
+Supported Browsers
+------------------
+
+Any modern HTML5 browser will work fine. JavaScript must be enabled.
+
+* IE8 or later
+* Firefox 17 or later
+* Google Chrome 27 or later
+* Safari 6 or later
+* Opera  12 or later
+* iOS 6.x (iPhone, iPad)
+* Android 4.x
+
+Not supported: IE6, IE7
+
+New Features since jsdemo
+--------------------------
+- multilinguality: English (default), Danish, German
+- depends on the new pazpar2 JS library libjs-pz2/pz2api.1.js
+  which will make the development of pazpar2 plugins faster and
+  easier to share code between projects
+- supports basic pazpar2 and service-proxy requests
+- simplified HTML
+- the search page is fully configurable by a JSON object
+
+
 What next?
 ----------
 
 What next?
 ----------
 
@@ -69,5 +127,3 @@ Main areas of work:
 * Make CSS prettier
 * Embed in a real, existing, site
 * Clean up the code
 * Make CSS prettier
 * Embed in a real, existing, site
 * Clean up the code
-
-