X-Git-Url: http://git.indexdata.com/?p=mkws-moved-to-github.git;a=blobdiff_plain;f=experiments%2Fspclient%2FREADME;h=e7bf64f10fab9d8423e8edd3d803ef39ada665dc;hp=4264068d5798a39c52057f6b7125ffd65ece421b;hb=9ccbdc833d4f70d551b0984b4745b32ef4fdaec8;hpb=fd0bd2707d3d643cdf83d8599afb1ae65baf0b70 diff --git a/experiments/spclient/README b/experiments/spclient/README index 4264068..e7bf64f 100644 --- a/experiments/spclient/README +++ b/experiments/spclient/README @@ -1,15 +1,126 @@ -In its current form, this is very close to -/usr/local/src/git/pazpar2/www/jsdemo/ - -- It uses indexdata_logo.png directly from that location -- It uses styles.css directly from that location -- It uses pz2.js directly from /usr/local/src/git/pazpar2/js -- Its HTML (index.html) differs only in a few lines: - diff /usr/local/src/git/pazpar2/www/jsdemo/index.html index.html - - It has a boolean indicating whether the SP is in use - - When that is set it performs simple authentication - (The username/pw are hardwired into the Apache2 config) -- Its JavaScript (example_client.js) differs more -- A simple favicon.ico is added to avoid spamming the error-log with 404s -- A simple robots.txt is added +An embryonic MasterKey Widget Set +================================= + +This directory contains an embryonic MasterKey Widget Set, based +initially on "jsdemo" though now far removed from those beginnnings. + + +How this works +-------------- + +The goal is to make it that as much of the searching functionality as +possible is hosted on + http://mkws.indexdata.com/ +so that very simple websites such as + http://somesite.indexdata.com/ +can have MasterKey searching with minimal effort. + +The following files must be hosted on mkws.indexdata.com: + mkws.js + mkwsStyle.css + /libjs-pz2/pz2api.1.js (*) + +The following files make up the application: + index.html + favicon.ico [optional] + robots.txt [optional] + +(At present, the client application's configuruation also needs an +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 +-------------------- + +The application's HTML must contains the following elements as well as +whatever makes up the application itself: + +Prerequisites: + + + + + +(Yes, we're using JQuery. We use it only in the most trivial ways, and +could probably get rid of it without too much pain. I'd like to have +mkws.js automatically pull in pz2api.1.js, too, so you don't need to +do so many things, but that's not quite trivial.) + +Then the following special
s can be added (with no content), and +will be filled in by MKWS: +
-- switch between record and target views +
-- switch between English, Danish and German +
-- search box and button +
-- result list, including pager/sorting +
-- target list, including status +
-- summary statistics + +At present, MKWS will not work correctly if any of these is +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. + + +You can configure and control the client with the JavaScript mkws_config object. + +Here is an example of all possible options + + + +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? +---------- + +Main areas of work: +* Make MKWS robust to missing widgets +* Clean up the code