<reference id="ref.hwapi"> <title>Hyperwave API functions</title> <titleabbrev>Hyperwave API</titleabbrev> <partintro> <section id="hwapi-intro"> <title>Introduction</title> <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 (If I remember properly it was in 1996). </para> <para> Hyperwave is not free software. The current version, 5.5, is available at <ulink url="&url.hyperwave;">www.hyperwave.com</ulink>. A time limited version can be ordered for free (30 days). </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> </section> <section id="hwapi-requirements"> <title>Requirements</title> <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 and configure PHP with <option role="configure">--with-hwapi=<dir$gt;</option>. </para> </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 Extension but is close to the C++ API of the HW SDK. Instead of passing serval parameters they are all put into an associated array and passed as one paramter. 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> </section> <section id="hwapi-apache"> <title>Integration with Apache</title> <para> The integration with Apache and possible other servers is already described in the Hyperwave Modul which has been the first extension to connect a Hyperwave Server. </para> </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 -->