X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=doc%2Fzoom.xml;h=deb2f23837d7c1a82b3395b237a7027015b32a96;hb=95f63a31caa5781768463548b676819aa4c93cc7;hp=b80df073130548b33af924fc2fcedd3cfdb3f15a;hpb=30006392c5d236b5da322842855bd246b2ccfdd8;p=metaproxy-moved-to-github.git diff --git a/doc/zoom.xml b/doc/zoom.xml index b80df07..deb2f23 100644 --- a/doc/zoom.xml +++ b/doc/zoom.xml @@ -1,4 +1,4 @@ - @@ -9,27 +9,27 @@ Metaproxy Index Data - + zoom 3mp Metaproxy Module - + zoom Metaproxy ZOOM Module - + DESCRIPTION This filter implements a generic client based on ZOOM of YAZ. The client implements the protocols that ZOOM C does: Z39.50, SRU - (GET, POST, SOAP) and SOLR . + (GET, POST, SOAP) and Solr . - + This filter only deals with Z39.50 on input. The following services are supported: init, search, present and close. The backend target @@ -56,9 +56,10 @@ CONFIGURATION - The configuration consists of five parts: torus, + The configuration consists of six parts: torus, fieldmap, cclmap, - contentProxy and log. + contentProxy, log + and zoom. torus @@ -71,15 +72,54 @@ attribute url - URL of Web service to be used to fetch target profile - for a given database (udb). The special sequence - %db of the URL is replaced by the - actual database specified as part of Search. + URL of Web service to be used when fetch target profiles from + a remote service (Torus normally). + + + The sequence %query is replaced with a CQL + query for the Torus search. The special sequence %realm is replaced by value of attribute realm or by realm DATABASE argument. + + The special sequence %db is replaced with + a single database while searching. Note that this sequence + is no longer needed, because the %query can already + query for a single database by using CQL query + udb==.... + + + + + attribute content_url + + + URL of Web service to be used to fetch target profile + for a given database (udb) of type content. Semantics otherwise like + url attribute above. + + + + + attribute auth_url + + + URL of Web service to be used to for auth/IP lookup. If this + defined, all access is granted or denied as part of Z39.50 Init + by the ZOOM module and the use of database parameters realm and + torus_url is not allowed. If this setting is not defined, + all access is allowed and realm and/or torus_url may be used. + + + + + attribute auth_hostname + + + Limits IP lookup to a given logical hostname. + @@ -87,7 +127,7 @@ The default realm value. Used for %realm in URL, unless - specified in DATABASE argument. + specified in DATABASE parameter. @@ -134,6 +174,29 @@ + attribute explain_xsl + + + Specifies a stylesheet that converts one or more Torus records + to ZeeExplain records. The content of recordData is assumed to be + holding each Explain record. + + + + + attribute record_xsl + + + Specifies a stylesheet that converts retrieval records after + transform/literal operations. + + + When Metaproxy creates a content proxy session, the XSL parameter + cproxyhost is passed to the transform. + + + + element records @@ -190,6 +253,17 @@ + attribute config_file + + + Specifies the file that configures the cf-proxy system. Metaproxy + uses setting sessiondir and + proxyhostname from that file to configure + name of proxy host and directory of parameter files for the cf-proxy. + + + + attribute server @@ -197,6 +271,12 @@ host[:port]. That is without a method (such as HTTP) and optional port number. + + + This setting is deprecated. Use the config_file (above) + to inform about the proxy server. + + @@ -209,6 +289,12 @@ using the mkstemp(3) system call. The default value of this setting is /tmp/cf.XXXXXX.p. + + + This setting is deprecated. Use the config_file (above) + to inform about the session file area. + + @@ -234,6 +320,35 @@ + + + zoom + + The zoom element controls settings for the + ZOOM. + + + + attribute timeout + + + Is an integer that specifies, in seconds, how long an operation + may take before ZOOM gives up. Default value is 40. + + + + + attribute proxy_timeout + + + Is an integer that specifies, in seconds, how long an operation + a proxy check will wait before giving up. Default value is 1. + + + + + + QUERY HANDLING @@ -252,8 +367,9 @@ Step 1: for CCL, the query is converted to RPN via - cclmap elements part of - the target profile as well as + cclmap + elements part of + the target profile as well as base CCL maps. @@ -267,19 +383,23 @@ Step 2: If the target is Z39.50-based, it is passed verbatim (RPN). If the target is SRU-based, the RPN will be converted to CQL. - If the target is SOLR-based, the RPN will be converted to SOLR's query + If the target is Solr-based, the RPN will be converted to Solr's query type. - + SORTING The ZOOM module actively handle CQL sorting - using the SORTBY parameter which was introduced in SRU version 1.2. The conversion from SORTBY clause - to native sort for some target is driven by the two parameters: - sortStrategy - and sortmap_field. + to native sort for some target is driven by the two parameters: + + sortStrategy + + and + sortmap_field + . If a sort field that does not have an equivalent @@ -287,7 +407,7 @@ conversion. It doesn't throw a diagnostic. - + TARGET PROFILE @@ -300,19 +420,38 @@ - authentication + authentication Authentication parameters to be sent to the target. For Z39.50 targets, this will be sent as part of the - Init Request. + Init Request. Authentication consists of two components: username + and password, separated by a slash. If this value is omitted or empty no authentication information is sent. - - + + + authenticationMode + + Specifies how authentication parameters are passed to server + for SRU. Possible values are: url + and basic. For the url mode username and password + are carried in URL arguments x-username and x-password. + For the basic mode, HTTP basic authentication is used. + The settings only takes effect + if authentication + is set. + + + If this value is omitted HTTP basic authencation is used. + + + + + cclmap_field This value specifies CCL field (qualifier) definition for some @@ -323,7 +462,7 @@ - + cfAuth @@ -336,7 +475,7 @@ - cfProxy + cfProxy Specifies HTTP proxy for the target in the form host:port. @@ -352,7 +491,16 @@ - + + contentAuthentication + + Specifies authentication info to be passed to a content connector. + This is only used if content-user and content-password are omitted. + + + + + contentConnector Specifies a database for content-based proxy'ing. @@ -371,7 +519,7 @@ element_raw from the configuration. By default that is the element sets pz2 and raw. - If record transform is not enabled, this setting is + If record transform is not enabled, this setting is not used and the element set specified by the client is passed verbatim. @@ -391,7 +539,7 @@ - + piggyback @@ -402,7 +550,7 @@ - + queryEncoding @@ -412,7 +560,7 @@ - + recordEncoding @@ -435,16 +583,16 @@ - + sortmap_field This value the native field for a target. The form of the value is - given by sortStrategy. + given by sortStrategy. - - + + sortStrategy Specifies sort strategy for a target. One of: @@ -456,7 +604,7 @@ - + sru @@ -468,7 +616,17 @@ - + + sruVersion + + Specifies the SRU version to use. It unset, version 1.2 will be + used. Some servers do not support this version, in which case + version 1.1 or even 1.0 could be set it. + + + + + transform Specifies a XSL stylesheet filename to be used if record @@ -479,7 +637,7 @@ - + udb This value is required and specifies the unique database for @@ -493,25 +651,20 @@ The value of this field is a string that generates a dynamic link based on record content. If the resulting string is non-zero in length - a new field, metadata with attribute - type="generated-url". + a new field, metadata with attribute + type="generated-url" is generated. The contents of this field is the result of the URL recipe conversion. The urlRecipe value may refer to an existing metadata element by ${field[pattern/result/flags]}, which will take content of field and perform a regular expression conversion using the pattern given. For example: ${md-title[\s+/+/g]} takes - metadadata element title and converts one or more + metadata element title and converts one or more spaces to a plus character. - - If the contentConnector - setting also defined, the resulting value is - augmented with a session string as well as the content proxy server. - - - + + zurl This is setting is mandatory and specifies the ZURL of the @@ -525,7 +678,7 @@ DATABASE parameters - Extra information may be carried in the Z39.50 Datbase or SRU path, + Extra information may be carried in the Z39.50 Database or SRU path, such as authentication to be passed to backend etc. Some of the parameters override TARGET profile values. The format is @@ -535,36 +688,42 @@ Where udb is the unique database recognised by the backend and parm1, value1, .. are parameters to be passed. The following describes the - supported parameters. + supported parameters. Like form values in HTTP the parameters and + values are URL encoded. The separator, though, between udb and parameters + is a comma rather than a question mark. What follows question mark are + HTTP arguments (in this case SRU arguments). + + + The database parameters, in alphabetical order, are: - + - user + content-password - Specifies user to be passed to backend. If this parameters is - omitted, the user will be taken from TARGET profile setting - authentication. + The password to be used for content proxy session. If this parameter + is not given, value of parameter password is passed + to content proxy session. - password + content-proxy - Specifies password to be passed to backend. If this parameters is - omitted, the password will be taken from TARGET profile setting - authentication. + Specifies proxy to be used for content proxy session. If this parameter + is not given, value of parameter proxy is passed + to content proxy session. - proxy + content-user - Specifies proxy to be for backend. If this parameters is - omitted, the proxy will be taken from TARGET profile setting - cfProxy. + The user to be used for content proxy session. If this parameter + is not given, value of parameter user is passed + to content proxy session. @@ -572,8 +731,46 @@ cproxysession - Session ID for content proxy. This parameter is, generally, - not used by anything but the content proxy itself. + Specifies the session ID for content proxy. This parameter is, generally, + not used by anything but the content proxy itself when invoking + Metaproxy via SRU. + + + + + nocproxy + + + If this parameter is specified, content-proxying is disabled + for the search. + + + + + password + + + Specifies password to be passed to backend. It is also passed + to content proxy session unless overriden by content-password. + If this parameter is omitted, the password will be taken from + TARGET profile setting + + authentication + + . + + + + + proxy + + + Specifies one or more proxies for backend. If this parameter is + omitted, the proxy will be taken from TARGET profile setting + + cfProxy. + The parameter is a list of comma-separated host:port entries. + Bost host and port must be given for each proxy. @@ -583,7 +780,51 @@ Session realm to be used for this target, changed the resulting URL to be used for getting a target profile, by changing the - value that gets substituted for the %realm string. + value that gets substituted for the %realm string. This parameter + is not allowed if access is controlled by + auth_url + in configuration. + + + + + retry + + + Optional paramater. If the value is 0, retry on failure is + disabled for the ZOOM module. Any other value enables retry + on failure. If this parameter is omitted, then the value of + retryOnFailure + from the Torus record is used (same values). + + + + + + torus_url + + + Sets the URL to be used for Torus records fetch - overriding value + of url attribute of element torus + in zoom configuration. This parameter is not allowed if access is + controlled by + auth_url in configuration. + + + + + + user + + + Specifies user to be passed to backend. It is also passed + to content proxy session unless overriden by content-user. + If this parameter is omitted, the user will be taken from TARGET + profile setting + + authentication + + . @@ -596,26 +837,30 @@ - + SCHEMA - + EXAMPLES - The following configuration illustrates most of the - facilities: + In example below Target definitions (Torus records) are fetched + from a web service via a proxy. A CQL profile is configured which + maps to a set of CCL fields ("no field", au, tu and su). Presumably + the target definitions fetched maps the CCL to their native RPN. + A CCL "ocn" is mapped for all targets. Logging of APDUs are enabled, + and a timeout is given. @@ -623,7 +868,7 @@ - + @@ -631,13 +876,43 @@ + ]]> - - - + + + Here is another example with two locally defined targets: A + Solr target and a Z39.50 target. + + + + + + ocs-test + t=z + u=title t=z + solr + ocs-test.indexdata.com/solr/select + + + loc + t=l,r + u=4 t=l,r + lx2.loc.gov:210/LCDB + + + + + + +]]> + + + + SEE ALSO @@ -653,7 +928,7 @@ - + ©right;