X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;ds=sidebyside;f=doc%2Fmkws-manual.markdown;h=7c0dd06776f9ee11d35474c342d666c6aaf552d3;hb=ea01fe1401838b2afade3d628c8b455a61fca8d5;hp=a315a22979efea4a1fbb910b09bea0923bf2b5ef;hpb=fda7da00419e8b5fdd051505c1073affa9690ae2;p=mkws-moved-to-github.git diff --git a/doc/mkws-manual.markdown b/doc/mkws-manual.markdown index a315a22..7c0dd06 100644 --- a/doc/mkws-manual.markdown +++ b/doc/mkws-manual.markdown @@ -150,7 +150,8 @@ To see all of these working together, just put them all into the HTML
The full set of supported widgets is described in the -reference guide below. +reference guide +[below](#widgets). Widget team ----------- @@ -567,19 +568,24 @@ containing the username and password separated by a slash: ### (Optional): conceal credentials from HTML source -Using a credential-based Service-Proxy authentication URL such as the -one above reveals the the credentials to public view -- to anyone who -does View Source on the MKWS application. This may be acceptable for -some libraries, but is intolerable for those which provide -authenticated access to subscription resources. - -In these circumstances, a more elaborate approach is necessary. The -idea is to make a URL local to the customer that is used for -authentication onto the Service Proxy, hiding the credentials in a -local rewrite rule. Then local mechanisms can be used to limit access -to that local authentication URL. Here is one way to do it when +Using credential-based authentication settings such as those above +reveals the the credentials to public view -- to anyone who does View +Source on the MKWS application. This may be acceptable for some +libraries, but is intolerable for those which provide authenticated +access to subscription resources. + +In these circumstances, a different approach is +necessary. Referer-based or IP-based authentication may be +appropriate. But if these are not possible, then a more elaborate +approach can be used to hide the credentials in a web-server +configuration that is not visible to users. + +The idea is to make a Service Proxy authentication URL local to the +customer, hiding the credentials in a rewrite rule in the local +web-server's configuration. Then local mechanisms can be used to limit +access to that local authentication URL. Here is one way to do it when Apache2 is the application's web-server, which we will call -yourname.com: +yourname.com`: Step 1: add a rewriting authentication alias to the configuration: @@ -587,9 +593,9 @@ Step 1: add a rewriting authentication alias to the configuration: RewriteRule /spauth/ http://sp-mkws.indexdata.com/service-proxy/?command=auth&action=check,login&username=U&password=PW [P] Step 2: set the MKWS configuration item `service_proxy_auth` to - +`http://yourname.com/spauth/`. -Step 3: protect access to the local path +Step 3: protect access to the local path `http://yourname.com/spauth/` (e.g. using a `.htaccess` file). @@ -632,6 +638,119 @@ attribute as follows: Reference guide =============== +Widgets +------- + +The following widgets are provided in the core set. (Others can be +added: see the [MKWS developers' guide](mkws-developer.html).) + +---- +Name Description +---- ----------- +`auth-name` Initially empty, it updates itself to shows the name + of the library that the application is logged in as + when authentication is complete. + +`builder` A button which, when pressed, analyses the current + settings of the team that it is a part of, and + generates the HTML for an auto-searching element + that will replicate the present search. This HTML is + displayed in an alert box: it is intended that this + widget be subclassed to store the generated widget + definitions in more useful places. + +`categories` Obtains from the Service Proxy a list of the target + categories associated with the library in use, and + displays them in a drop-down list. When a category + is selected, searches are limited to the targets + that are part of that category. + +`config` This widget has no functionality of its own, but its + configuration is copied up into its team, allowing + it to affect other widgets in the team. This is the + only way to set configuration items at the team + level. + +`console-builder` Like the `builder` widget, but emits the generated + HTML on the JavaScript console. This exists to + provide an example of how to subclass the `builder` + widget. + +`cover-art` Displays cover art for a book by searching in + Amazon. Often used with an `autosearch` attribute to + indicate what book to display. For example, + `
` + displays cover art for _All Yesterdays: Unique and + Speculative Views of Dinosaurs and Other Prehistoric + Animals_. + For this widget to work, a library that includes the + AmazonBooks target must be used. For example, the + "DEMO AmazonBooks for MKWS" account, which can be + selected with `sp_auth_credentials="mkws-amazon/mkws"`. + +`details` This widget is generated by the toolkit itself to + hold the full details of records that are initially + listed in summary form. + +`done` Initially empty, this widget is set to display + "Search complete: found _n_ records" when all + targets have completed their work, either returning + a hit-count or an error. The message displayed can + be changed by overriding the `done` template using + `