It
started
with
the
name
Hyper-G
and
changed
to
Hyperwave
when
it
was
commercialised
(
If
I
remember
properly
it
was
in
1996
)
.
The
current
version
,
4.1
,
is
available
at
www.hyperwave.com
.
In
order
to
gain
the
original
document
you
will
have
to
retrieve
the
plain
document
without
the
links
and
the
list
of
links
and
reinsert
them
(
The
functions
hw_pipedocument(
)
and
hw_gettext(
)
do
this
for
you
.
Hyperwave
object
with
name
'
my_object
'
is
mapped
to
'http
:
/
/host
/
my_object
'
disregarding
where
it
resides
in
the
Hyperwave
hierarchy
.
An
object
with
name
'
parent
/
my_object
'
could
be
the
child
of
'my_object
'
in
the
Hyperwave
hierarchy
,
though
in
a
web
namespace
it
appears
to
be
just
the
opposite
and
the
user
might
get
confused
.
The
URL
http
:
/
/host
/
my_object
will
not
call
any
PHP
script
unless
you
tell
your
web
server
to
rewrite
it
to
e.g
.
'
http
:
/
/host
/
php3_script
/
my_object
'
and
the
script
'php3_script
'
evaluates
the
$PATH_INFO
variable
and
retrieves
the
object
with
name
'my_object
'
from
the
Hyperwave
server
.
Therefore
you
will
need
at
least
a
second
rewriting
rule
to
exclude
certain
URLS
like
all
e.g
.
starting
with
http
:
/
/host
/
Hyperwave
.
This
is
basically
sharing
of
a
namespace
by
the
web
and
Hyperwave
server
.
Therefore
'
/
'
has
to
be
replaced
by
another
character
,
e.g
.
'_
'
.
to
be
continued
.
-
-
-
An
associated
array
with
all
attributes
of
an
object
.
The
key
is
the
attribute
name
.
If
an
attribute
occurs
more
than
once
in
an
object
record
it
will
result
in
another
indexed
or
associated
array
.
Attributes
which
are
language
depended
(
like
the
title
,
keyword
,
description
)
will
form
an
associated
array
with
the
key
set
to
the
language
abbreviation
.
-
It
is
somewhat
optimised
for
HTML
documents
but
may
be
used
for
any
format
.
Several
functions
which
return
an
array
of
object
records
do
also
return
an
associated
array
with
statistical
information
about
them
.
- Hidden
-
- CollectionHead
-
- FullCollectionHead
-
- CollectionHeadNr
-
- FullCollectionHeadNr
-
- Total
-
Since
PHP
with
Hyperwave
support
built
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
.
First
of
all
you
need
a
PHP
script
which
evaluates
the
PATH_INFO
variable
and
treats
its
value
as
the
name
of
a
Hyperwave
object
.
The
URL
http
:
/
/your.hostname
/
Hyperwave
/
name_of_object
The
URL
http
:
/
/your.hostname
/
Hyperwave
/
name_of_object
would
than
return
the
Hyperwave
object
with
the
name
'
name_of_object
'
.
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
.
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:
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.
Finally, don't forget to turn on the rewriting engine with
My experiences have shown that you will need the following
scripts: