X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=tools%2Fhtdocs%2FREADME;fp=tools%2Fhtdocs%2FREADME;h=bcd492cbc6df235c066388206293bf490b40c5cd;hb=5892f41b7ff37f6017d0e2baf7ce8db5d9266bd3;hp=0000000000000000000000000000000000000000;hpb=42817d6acf66914b063e362ad1b888c0ad89d849;p=mkws-moved-to-github.git diff --git a/tools/htdocs/README b/tools/htdocs/README new file mode 100644 index 0000000..bcd492c --- /dev/null +++ b/tools/htdocs/README @@ -0,0 +1,128 @@ +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 + + +Note: the mkws_config object which must be loaded before the mkws.js and pz2api.js files. + +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