X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=doc%2Fzoom.xml;h=3f2849a4167284b3f112131d5319ea5b065ab8c4;hb=f22c5866171577fa6a27f07a784e8b1b84a331e1;hp=50a468221cd25ac7aec0ea7b39a1569887d8e04b;hpb=bf6a5858e2c8839a5f8a4bdf087bcb94c54084bb;p=metaproxy-moved-to-github.git diff --git a/doc/zoom.xml b/doc/zoom.xml index 50a4682..3f2849a 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 @@ -312,8 +432,26 @@ - - + + + 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 @@ -324,7 +462,7 @@ - + cfAuth @@ -372,7 +510,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. @@ -392,7 +530,7 @@ - + piggyback @@ -403,7 +541,7 @@ - + queryEncoding @@ -413,7 +551,7 @@ - + recordEncoding @@ -436,16 +574,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: @@ -457,7 +595,7 @@ - + sru @@ -469,7 +607,7 @@ - + sruVersion Specifies the SRU version to use. It unset, version 1.2 will be @@ -479,7 +617,7 @@ - + transform Specifies a XSL stylesheet filename to be used if record @@ -490,7 +628,7 @@ - + udb This value is required and specifies the unique database for @@ -504,7 +642,7 @@ 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 + 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 @@ -514,16 +652,10 @@ 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 host name of the - content proxy server. - - - + + zurl This is setting is mandatory and specifies the ZURL of the @@ -552,17 +684,56 @@ 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 parameter 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. + + + + + content-proxy + + + 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. + + + + + content-user + + + 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. + + + + + cproxysession + + + 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. @@ -570,8 +741,10 @@ password - Specifies password to be passed to backend. If this parameters is - omitted, the password will be taken from TARGET profile setting + 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 @@ -583,31 +756,66 @@ proxy - Specifies proxy to be for backend. If this parameters is + Specifies one or more proxies for backend. If this parameter is omitted, the proxy will be taken from TARGET profile setting - cfProxy - - . + cfProxy. + The parameter is a list of comma-separated host:port entries. + Bost host and port must be given for each proxy. - cproxysession + realm - Session ID for content proxy. This parameter is, generally, - not used by anything but the content proxy itself. + 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. This parameter + is not allowed if access is controlled by + auth_url + in configuration. - realm + retry - 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. + 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 + + . @@ -620,26 +828,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. @@ -647,7 +859,7 @@ - + @@ -655,13 +867,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 + z3950.loc.gov:7090/voyager + + + + + + +]]> + + + + SEE ALSO @@ -677,7 +919,7 @@ - + ©right;