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 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213
|
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.16 $ -->
<!-- Purpose: remote.other -->
<!-- Membership: pecl, external -->
<reference id="ref.hwapi">
<title>Hyperwave API Functions</title>
<titleabbrev>Hyperwave API</titleabbrev>
<partintro>
<section id="hwapi.intro">
&reftitle.intro;
<para>
<productname>Hyperwave</productname> has been developed at
<ulink url="&url.iicm;">IICM</ulink> in Graz. It started with
the name <acronym>Hyper-G</acronym> and changed to Hyperwave when
it was commercialised (in 1996).
</para>
<para>
Hyperwave is not free software. The current version, 5.5, is
available at <ulink url="&url.hyperwave;">&url.hyperwave;</ulink>.
A time limited version can be ordered for free (30 days).
</para>
<para>
See also the <link linkend="ref.hw">Hyperwave</link> module.
</para>
<para>
Hyperwave is an information system similar to a database
(<acronym>HIS</acronym>, Hyperwave Information Server). Its focus
is the storage and management of documents. A document can be any
possible piece of data that may as well be stored in file. Each
document is accompanied by its object record. The object record
contains meta data for the document. The meta data is a list of
attributes which can be extended by the user. Certain attributes
are always set by the Hyperwave server, other may be modified by
the user.
</para>
<note>
<para>
&pecl.moved-ver;5.2.0.
</para>
</note>
</section>
<section id="hwapi.requirements">
&reftitle.required;
<para>
Since 2001 there is a Hyperwave SDK available. It supports Java,
JavaScript and C++. This PHP Extension is based on the C++ interface.
In order to activate the hwapi support in PHP you will have to install
the Hyperwave SDK first.
</para>
</section>
&reference.hwapi.configure;
<section id="hwapi.apache">
<title>Integration with Apache</title>
<para>
The integration with Apache and possible other servers is already
described in the <link linkend="ref.hw">Hyperwave module</link>
which has been the first extension to connect a Hyperwave Server.
</para>
</section>
&reference.hwapi.ini;
<section id="hwapi.resources">
&reftitle.resources;
&no.resource;
</section>
<section id="hwapi.constants">
&reftitle.constants;
&no.constants;
</section>
<section id="hwapi.classes">
<title>Classes</title>
<para>
The API provided by the HW_API extension is fully object oriented.
It is very similar to the C++ interface of the Hyperwave SDK.
It consist of the following classes.
<itemizedlist>
<listitem>
<simpara>
<classname>HW_API</classname>
</simpara>
</listitem>
<listitem>
<simpara>
<classname>HW_API_Object</classname>
</simpara>
</listitem>
<listitem>
<simpara>
<classname>HW_API_Attribute</classname>
</simpara>
</listitem>
<listitem>
<simpara>
<classname>HW_API_Error</classname>
</simpara>
</listitem>
<listitem>
<simpara>
<classname>HW_API_Content</classname>
</simpara>
</listitem>
<listitem>
<simpara>
<classname>HW_API_Reason</classname>
</simpara>
</listitem>
</itemizedlist>
Some basic classes like <classname>HW_API_String</classname>,
<classname>HW_API_String_Array</classname>, etc., which exist in the
Hyperwave SDK have not been implemented since PHP has powerful
replacements for them.
</para>
<para>
Each class has certain method, whose names are identical to its
counterparts in the Hyperwave SDK. Passing arguments to this function
differs from all the other PHP extensions but is close to the C++ API of
the HW SDK. Instead of passing several parameters they are all put into
an associated array and passed as one parameter. The names of the keys
are identical to those documented in the HW SDK. The common parameters
are listed below. If other parameters are required they will be
documented if needed.
<itemizedlist>
<listitem>
<simpara>
<classname>objectIdentifier</classname> The name or id of an object,
e.g. "rootcollection", "0x873A8768 0x00000002".
</simpara>
</listitem>
<listitem>
<simpara>
<classname>parentIdentifier</classname> The name or id of an object
which is considered to be a parent.
</simpara>
</listitem>
<listitem>
<simpara>
<classname>object</classname> An instance of class HW_API_Object.
</simpara>
</listitem>
<listitem>
<simpara>
<classname>parameters</classname> An instance of class HW_API_Object.
</simpara>
</listitem>
<listitem>
<simpara>
<classname>version</classname> The version of an object.
</simpara>
</listitem>
<listitem>
<simpara>
<classname>mode</classname> An integer value determine the way an
operation is executed.
</simpara>
</listitem>
<listitem>
<simpara>
<classname>attributeSelector</classname> Any array of strings, each
containing a name of an attribute. This is used if you retrieve the
object record and want to include certain attributes.
</simpara>
</listitem>
<listitem>
<simpara>
<classname>objectQuery</classname> A query to select certain object
out of a list of objects. This is used to reduce the number of objects
which was delivered by a function like
<function>hw_api->children</function> or <function>hw_api->find</function>.
</simpara>
</listitem>
</itemizedlist>
</para>
<note>
<para>
Methods returning <type>boolean</type> can return &true;, &false; or
<classname>HW_API_Error</classname> object.
</para>
</note>
</section>
</partintro>
&reference.hwapi.functions;
</reference>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
|