X-Git-Url: http://lists.indexdata.com/cgi-bin?a=blobdiff_plain;f=doc%2Fzoom.xml;h=5c4906af86ed890d728669f70f0727edf94f6fa0;hb=ce6cad45d436ad6f2eb32f288769a017f78f5ddf;hp=e9f44fdc2922893f4f3a4e2b9dba692fda379184;hpb=371a02c325fb4d7cdfc24a81c38e36077382e648;p=metaproxy-moved-to-github.git
diff --git a/doc/zoom.xml b/doc/zoom.xml
index e9f44fd..5c4906a 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,8 +607,8 @@
-
- SRUVersion
+
+ 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
@@ -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,25 +642,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
@@ -551,17 +684,53 @@
is a comma rather than a question mark. What follows question mark are
HTTP arguments (in this case SRU arguments).
-
+
- 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.
@@ -569,8 +738,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
@@ -582,31 +753,54 @@
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
+ torus_url
- 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.
+ 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
+
+ .
@@ -619,26 +813,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.
@@ -646,7 +844,7 @@
-
+
@@ -654,13 +852,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
@@ -676,7 +904,7 @@
-
+
©right;