X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=experiments%2Fspclient%2FREADME;h=c10fbb53d06d0b3ea4b19083692928357e6ffcdc;hb=a74c166733653fe3e5927405807382ab3d29383c;hp=8c24ef7648982b9531a9d64693705c16fddf643c;hpb=88ac49a1184d485fe9533d99f9d60fb6de9cba29;p=mkws-moved-to-github.git diff --git a/experiments/spclient/README b/experiments/spclient/README index 8c24ef7..c10fbb5 100644 --- a/experiments/spclient/README +++ b/experiments/spclient/README @@ -4,6 +4,10 @@ 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/ @@ -14,10 +18,112 @@ 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 + /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: +* Fix cross-site issues proper +* Make MKWS robust to missing widgets +* Make CSS more tightly targeted at MKWS elements only +* Make CSS prettier +* Embed in a real, existing, site +* Clean up the code