CVS update: php3/doc/functions
| From: | steinm | Date: | Wed, 12 Aug 1998 12:05:30 +0000 |
| Subject: | CVS update: php3/doc/functions | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-123@lists.php.net to get a copy of this message | ||
Date: Wednesday August 12, 1998 @ 8:05
Author: steinm
Update of /repository/php3/doc/functions
In directory asf:/tmp/cvs-serv14642/doc/functions
Modified Files:
hw.sgml
Log Message:
Hyperwave module: more documentation, renaming of functions but old
names still work.
Fixed an error in doc/chapters/install.sgml
Index: php3/doc/functions/hw.sgml
diff -c php3/doc/functions/hw.sgml:1.1 php3/doc/functions/hw.sgml:1.2
*** php3/doc/functions/hw.sgml:1.1 Wed Aug 12 05:37:34 1998
--- php3/doc/functions/hw.sgml Wed Aug 12 08:05:30 1998
***************
*** 4,9 ****
--- 4,11 ----
<partintro>
+ <sect1>
+ <title>Introduction</title>
<para>
Hyperwave has been developed at
<ulink url="http://www.iicm.edu">IICM</ulink> in Graz. It
started
***************
*** 114,121 ****
--- 116,185 ----
PresentationHints set to FullCollectionHead.</simpara></listitem>
<listitem><simpara>Total: Number of object
records.</simpara></listitem>
</itemizedlist>
+ </sect1>
+ <sect1>
+ <title>Integration with Apache</title>
<para>
+ The Hyperwave module is best used when PHP3 is compiled as an
+ apache module. In such a case the underlying Hyperwave server
+ can be hidden from users almost completely if apache uses its
+ rewriting engine. The following instructions will explain this.
+
+ <para>
+ Since PHP3 with Hyperwave support build into apache is intended
+ to replace the native Hyperwave solution based on wavemaster I
+ will assume that the apache server will only serve as a Hyperwave
+ web interface. This is not necessary but it simplifies the configuration.
+ The concept is quite simple. First of all you need a PHP3 script which
+ evaluates the PATH_INFO variable and treats its value as the name of
+ a Hyperwave object. Let's call this script 'Hyperwave'.
+ The URL http:/your.hostname/Hyperwave/name_of_object
would than return
+ the Hyperwave object with the name 'name_of_object'. Depending on
+ the type of the object the script has to react accordingly. If it
+ is a collection, it will probably return a list of children. If it
+ is a document it will return the mime type and the content. A slight
+ improvement can be achieved if the apache rewriting engine is used.
+ From the users point of view it would be more straight forward if
+ the URL http:/your.hostname/name_of_object
would return the object.
+ The rewriting rule is quite easy:
+ <programlisting>
+ RewriteRule ^/(.*) /usr/local/apache/htdocs/HyperWave/$1 [L]
+ </programlisting>
+ Now every URL relates to an object in the Hyperwave server. This
+ causes a simple to solve problem. There is no way to execute a
+ different script, e.g. for searching, than the 'Hyperwave' script.
+ This can be fixed with another rewriting rule like the following:
+ <programlisting>
+ RewriteRule ^/hw/(.*) /usr/local/apache/htdocs/hw/$1 [L]
+ </programlisting>
+ This will reserve the directory /usr/local/apache/htdocs/hw for
+ additional scripts and other files. Just make sure this rule is
+ evaluated before
+ the one above. There is just a little drawback: all Hyperwave objects
+ whose name starts with 'hw/' will be shadowed. So, make sure
+ you don't use such names. If you need more directories, e.g. for
+ images just add more rules or place them all in one directory.
+ Finaly, don't forget to turn on the rewriting engine with
+ <programlisting>
+ RewriteEngine on
+ </programlisting>
+ My experiences have shown that you will need
+ the following scripts:
+ <itemizedlist>
+ <listitem><simpara>to return the object itself</simpara></listitem>
+ <listitem><simpara>to allow searching</simpara></listitem>
+ <listitem><simpara>to identify yourself</simpara></listitem>
+ <listitem><simpara>to set your profile</simpara></listitem>
+ <listitem><simpara>one for each additional function like to show
+ the object attributes, to show information about users,
+ to show the status of the server, etc.</simpara></listitem>
+ </itemizedlist>
+ </sect1>
+
+ <sect1>
+ <title>Todo</title>
+ <para>
There are still some things todo:
<itemizedlist>
<listitem><simpara>The hw_InsertDocument has to be split into
***************
*** 129,134 ****
--- 193,199 ----
connection. A default connection will
improve this.</simpara></listitem>
</itemizedlist>
+ </sect1>
</partintro>
<refentry id="function.hw-changeobject">
***************
*** 307,365 ****
<refentry id="function.hw-documentattributes">
<refnamediv>
! <refname>hw_Document_Attributes</refname>
<refpurpose>object record of hw_document</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
! <funcdef>string <function>hw_document_attributes</function></funcdef>
<paramdef>hw_document <parameter>document</parameter></paramdef>
</funcsynopsis>
<para>
Returns the object record of the document.
<para>
! See also <function>hw_Document_BodyTag</function>,
! <function>hw_Document_Size</function>.
</refsect1>
</refentry>
<refentry id="function.hw-documentbodytag">
<refnamediv>
! <refname>hw_Document_BodyTag</refname>
<refpurpose>body tag of hw_document</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
! <funcdef>string <function>hw_document_bodytag</function></funcdef>
<paramdef>hw_document <parameter>document</parameter></paramdef>
</funcsynopsis>
<para>
Returns the BODY tag of the document. If the document is an HTML
document the BODY tag should be printed before the document.
<para>
! See also <function>hw_Document_Attributes</function>,
! <function>hw_Document_Document_Size</function>.
</refsect1>
</refentry>
<refentry id="function.hw-documentsize">
<refnamediv>
! <refname>hw_Document_Size</refname>
<refpurpose>size of hw_document</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
! <funcdef>int <function>hw_document_size</function></funcdef>
<paramdef>hw_document <parameter>document</parameter></paramdef>
</funcsynopsis>
<para>
Returns the size in bytes of the document.
<para>
! See also <function>hw_Document_BodyTag</function>,
! <function>hw_Document_Document_Attributes</function>.
</refsect1>
</refentry>
--- 372,430 ----
<refentry id="function.hw-documentattributes">
<refnamediv>
! <refname>hw_DocumentAttributes</refname>
<refpurpose>object record of hw_document</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
! <funcdef>string <function>hw_documentattributes</function></funcdef>
<paramdef>hw_document <parameter>document</parameter></paramdef>
</funcsynopsis>
<para>
Returns the object record of the document.
<para>
! See also <function>hw_DocumentBodyTag</function>,
! <function>hw_DocumentSize</function>.
</refsect1>
</refentry>
<refentry id="function.hw-documentbodytag">
<refnamediv>
! <refname>hw_DocumentBodyTag</refname>
<refpurpose>body tag of hw_document</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
! <funcdef>string <function>hw_documentbodytag</function></funcdef>
<paramdef>hw_document <parameter>document</parameter></paramdef>
</funcsynopsis>
<para>
Returns the BODY tag of the document. If the document is an HTML
document the BODY tag should be printed before the document.
<para>
! See also <function>hw_DocumentAttributes</function>,
! <function>hw_DocumentSize</function>.
</refsect1>
</refentry>
<refentry id="function.hw-documentsize">
<refnamediv>
! <refname>hw_DocumentSize</refname>
<refpurpose>size of hw_document</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<funcsynopsis>
! <funcdef>int <function>hw_documentsize</function></funcdef>
<paramdef>hw_document <parameter>document</parameter></paramdef>
</funcsynopsis>
<para>
Returns the size in bytes of the document.
<para>
! See also <function>hw_DocumentBodyTag</function>,
! <function>hw_DocumentAttributes</function>.
</refsect1>
</refentry>
***************
*** 878,884 ****
<para>
Returns information about the current connection. The returned string
has the following format: <Serverstring>, <Host>,
! <Port>, <Username>, <Port of Client>
</refsect1>
</refentry>
--- 943,950 ----
<para>
Returns information about the current connection. The returned string
has the following format: <Serverstring>, <Host>,
! <Port>, <Username>, <Port of Client>,
! <Byte swapping>
</refsect1>
</refentry>
***************
*** 982,988 ****
<refentry id="function.hw-object2array">
<refnamediv>
<refname>hw_Object2Array</refname>
! <refpurpose>convert attributes from object record to array</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
--- 1048,1054 ----
<refentry id="function.hw-object2array">
<refnamediv>
<refname>hw_Object2Array</refname>
! <refpurpose>convert attributes from object record to object array</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
--
PHP Development Mailing List http://www.php.net/
To unsubscribe send an empty message to php-dev-unsubscribe@lists.php.net
For help: php-dev-help@lists.php.net