File: zoom.extendedservices.html

package info (click to toggle)
yaz 3.0.34-2
  • links: PTS, VCS
  • area: main
  • in suites: lenny
  • size: 13,404 kB
  • ctags: 12,108
  • sloc: xml: 116,075; ansic: 52,205; sh: 9,746; tcl: 2,043; makefile: 1,141; yacc: 347
file content (105 lines) | stat: -rw-r--r-- 11,539 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>6.�Extended Services</title><meta name="generator" content="DocBook XSL Stylesheets V1.73.2"><link rel="start" href="index.html" title="YAZ User's Guide and Reference"><link rel="up" href="zoom.html" title="Chapter�3.�ZOOM"><link rel="prev" href="zoom.scan.html" title="5.�Scan"><link rel="next" href="zoom.options.html" title="7.�Options"></head><body><link rel="stylesheet" type="text/css" href="common/style1.css"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">6.�Extended Services</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="zoom.scan.html">Prev</a>�</td><th width="60%" align="center">Chapter�3.�ZOOM</th><td width="20%" align="right">�<a accesskey="n" href="zoom.options.html">Next</a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="zoom.extendedservices"></a>6.�Extended Services</h2></div></div></div><p>
    ZOOM offers an interface to a subset of the Z39.50 extended services
    as well as a few privately defined ones:
   </p><div class="itemizedlist"><ul type="disc"><li><p>
      Z39.50 Item Order (ILL).
      See <a class="xref" href="zoom.extendedservices.html#zoom.item.order" title="6.1.�Item Order">Section�6.1, &#8220;Item Order&#8221;</a>.
     </p></li><li><p>
      Record Update. This allows a client to insert, modify or delete
      records.
      See <a class="xref" href="zoom.extendedservices.html#zoom.record.update" title="6.2.�Record Update">Section�6.2, &#8220;Record Update&#8221;</a>.
     </p></li><li><p>
      Database Create. This a non-standard feature. Allows a client
      to create a database.
      See <a class="xref" href="zoom.extendedservices.html#zoom.database.create" title="6.3.�Database Create">Section�6.3, &#8220;Database Create&#8221;</a>.
     </p></li><li><p>
      Database Drop. This a non-standard feature. Allows a client
      to delete/drop a database.
      See <a class="xref" href="zoom.extendedservices.html#zoom.database.drop" title="6.4.�Database Drop">Section�6.4, &#8220;Database Drop&#8221;</a>.
     </p></li><li><p>
      Commit operation. This a non-standard feature. Allows a client
      to commit operations.
      See <a class="xref" href="zoom.extendedservices.html#zoom.commit" title="6.5.�Commit Operation">Section�6.5, &#8220;Commit Operation&#8221;</a>.
     </p></li></ul></div><p>
    To create an extended service operation a <code class="literal">ZOOM_package</code>
    must be created. The operation is a five step operation. The
    package is created, package is configured by means of options,
    the package is send, result is inspected (by means of options),
    the package is destroyed.
   </p><pre class="synopsis">
    ZOOM_package ZOOM_connection_package(ZOOM_connection c,
                                         ZOOM_options options);

    const char *ZOOM_package_option_get(ZOOM_package p,
                                        const char *key);
    void ZOOM_package_option_set(ZOOM_package p, const char *key,
                                 const char *val);
    void ZOOM_package_send(ZOOM_package p, const char *type);

    void ZOOM_package_destroy(ZOOM_package p);
   </pre><p>
    The <code class="function">ZOOM_connection_package</code> creates a
    package for the connection given using the options specified.
   </p><p>
    Functions <code class="function">ZOOM_package_option_get</code> and
    <code class="function">ZOOM_package_option_set</code> gets and sets
    options.
   </p><p>
    <code class="function">ZOOM_package_send</code> sends
    the package the via connection specified in 
    <code class="function">ZOOM_connection_package</code>.
    The <em class="parameter"><code>type</code></em> specifies the actual extended service
    package type to be sent.
   </p><div class="table"><a name="zoom.extendedservices.options"></a><p class="title"><b>Table�3.5.�Extended Service Common Options</b></p><div class="table-contents"><table summary="Extended Service Common Options" border="1"><colgroup><col><col><col></colgroup><thead><tr><th>Option</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td>package-name</td><td>Extended Service Request package name. Must be specified
       as part of a request</td><td>none</td></tr><tr><td>user-id</td><td>User ID of Extended Service Package. Is a request option</td><td>none</td></tr><tr><td>function</td><td>
	Function of package - one of <code class="literal">create</code>,
	<code class="literal">delete</code>, <code class="literal">modify</code>. Is
	a request option.
       </td><td><code class="literal">create</code></td></tr><tr><td>waitAction</td><td>
	Wait action for package. Possible values:
	<code class="literal">wait</code>, <code class="literal">waitIfPossible</code>,
	<code class="literal">dontWait</code> or <code class="literal">dontReturnPackage</code>.
       </td><td><code class="literal">waitIfPossible</code></td></tr><tr><td>targetReference</td><td>
	Target Reference. This is part of the response as returned
	by the server. Read it after a successful operation.
       </td><td><code class="literal">none</code></td></tr></tbody></table></div></div><br class="table-break"><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="zoom.item.order"></a>6.1.�Item Order</h3></div></div></div><p>
     For Item Order, type must be set to <code class="literal">itemorder</code> in
     <code class="function">ZOOM_package_send</code>.
    </p><div class="table"><a name="zoom.item.order.options"></a><p class="title"><b>Table�3.6.�Item Order Options</b></p><div class="table-contents"><table summary="Item Order Options" border="1"><colgroup><col><col><col></colgroup><thead><tr><th>Option</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td>contact-name</td><td>ILL contact name</td><td>none</td></tr><tr><td>contact-phone</td><td>ILL contact phone</td><td>none</td></tr><tr><td>contact-email</td><td>ILL contact email</td><td>none</td></tr><tr><td>itemorder-item</td><td>Position for item (record) requested. An integer</td><td>1</td></tr></tbody></table></div></div><br class="table-break"></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="zoom.record.update"></a>6.2.�Record Update</h3></div></div></div><p>
     For Record Update, type must be set to <code class="literal">update</code> in
     <code class="function">ZOOM_package_send</code>.
    </p><div class="table"><a name="zoom.record.update.options"></a><p class="title"><b>Table�3.7.�Record Update Options</b></p><div class="table-contents"><table summary="Record Update Options" border="1"><colgroup><col><col><col></colgroup><thead><tr><th>Option</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td>action</td><td>
	 The update action. One of 
	 <code class="literal">specialUpdate</code>,
	 <code class="literal">recordInsert</code>,
	 <code class="literal">recordReplace</code>,
	 <code class="literal">recordDelete</code>,
	 <code class="literal">elementUpdate</code>.
	</td><td><code class="literal">specialUpdate (recordInsert for updateVersion=1 which does not support specialUpdate)</code></td></tr><tr><td>recordIdOpaque</td><td>Opaque Record ID</td><td>none</td></tr><tr><td>recordIdNumber</td><td>Record ID number</td><td>none</td></tr><tr><td>record</td><td>The record itself</td><td>none</td></tr><tr><td>syntax</td><td>The record syntax (transfer syntax). Is a string that
	 is a known record syntax.
	</td><td>no syntax</td></tr><tr><td>databaseName</td><td>Database from connection object</td><td>Default</td></tr><tr><td>correlationInfo.note</td><td>Correlation Info Note (string)</td><td>none</td></tr><tr><td>correlationInfo.id</td><td>Correlation Info ID (integer)</td><td>none</td></tr><tr><td>elementSetName</td><td>Element Set for Record</td><td>none</td></tr><tr><td>updateVersion</td><td>Record Update version which holds one of the values
	 1, 2 or 3. Each version has a distinct OID:
	 1.2.840.10003.9.5
	 (<a class="ulink" href="http://www.loc.gov/z3950/agency/markup/18.html#auxiliaryStatus4" target="_top">first version</a>) ,
	 1.2.840.10003.9.5.1 
	 (second version) and 
	 1.2.840.10003.9.5.1.1 
	 (<a class="ulink" href="http://www.loc.gov/z3950/agency/defns/update-es-rev1.html" target="_top">third and
	  newest version</a>).
	</td><td>3</td></tr></tbody></table></div></div><br class="table-break"></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="zoom.database.create"></a>6.3.�Database Create</h3></div></div></div><p>
     For Database Create, type must be set to <code class="literal">create</code> in
     <code class="function">ZOOM_package_send</code>.
    </p><div class="table"><a name="zoom.database.create.options"></a><p class="title"><b>Table�3.8.�Database Create Options</b></p><div class="table-contents"><table summary="Database Create Options" border="1"><colgroup><col><col><col></colgroup><thead><tr><th>Option</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td>databaseName</td><td>Database from connection object</td><td>Default</td></tr></tbody></table></div></div><br class="table-break"></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="zoom.database.drop"></a>6.4.�Database Drop</h3></div></div></div><p>
     For Database Drop, type must be set to <code class="literal">drop</code> in
     <code class="function">ZOOM_package_send</code>.
    </p><div class="table"><a name="zoom.database.drop.options"></a><p class="title"><b>Table�3.9.�Database Drop Options</b></p><div class="table-contents"><table summary="Database Drop Options" border="1"><colgroup><col><col><col></colgroup><thead><tr><th>Option</th><th>Description</th><th>Default</th></tr></thead><tbody><tr><td>databaseName</td><td>Database from connection object</td><td>Default</td></tr></tbody></table></div></div><br class="table-break"></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="zoom.commit"></a>6.5.�Commit Operation</h3></div></div></div><p>
     For Commit, type must be set to <code class="literal">commit</code> in
     <code class="function">ZOOM_package_send</code>.
    </p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="zoom.extended.services.behavior"></a>6.6.�Protocol behavior</h3></div></div></div><p>
     All the extended services are Z39.50-only.
    </p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>
      The database create, drop and commit services are privately defined
      operations.
      Refer to <code class="filename">esadmin.asn</code> in YAZ for the ASN.1
      definitions.
     </p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="zoom.scan.html">Prev</a>�</td><td width="20%" align="center"><a accesskey="u" href="zoom.html">Up</a></td><td width="40%" align="right">�<a accesskey="n" href="zoom.options.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">5.�Scan�</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">�7.�Options</td></tr></table></div></body></html>