Sommaire
Hyperwave
Introduction
Intégration avec Apache
A faire
hw_Array2Objrec
hw_Children
hw_ChildrenObj
hw_Close
hw_Connect
hw_Cp
hw_Deleteobject
hw_DocByAnchor
hw_DocByAnchorObj
hw_DocumentAttributes
hw_DocumentBodyTag
hw_DocumentContent
hw_DocumentSetContent
hw_DocumentSize
hw_ErrorMsg
hw_EditText
hw_Error
hw_Free_Document
hw_GetParents
hw_GetParentsObj
hw_GetChildColl
hw_GetChildCollObj
hw_GetRemote
hw_GetRemoteChildren
hw_GetSrcByDestObj
hw_GetObject
hw_GetAndLock
hw_GetText
hw_GetObjectByQuery
hw_GetObjectByQueryObj
hw_GetObjectByQueryColl
hw_GetObjectByQueryCollObj
hw_GetChildDocColl
hw_GetChildDocCollObj
hw_GetAnchors
hw_GetAnchorsObj
hw_Mv
hw_Identify
hw_InCollections
hw_Info
hw_InsColl
hw_InsDoc
hw_InsertDocument
hw_InsertObject
hw_mapid
hw_Modifyobject
hw_New_Document
hw_Objrec2Array
hw_OutputDocument
hw_pConnect
hw_PipeDocument
hw_Root
hw_Unlock
hw_Who
hw_Username
|
6.38.2 Intégration avec Apache
L'extension Hyperwave est utilisée de manière optimale lorsque
PHP est compilé comme module Apache. Dans ce cas, le serveur Hyperwave
sous jacent peut être caché quasiment totalement aux utilisateurs,
si Apache utilise son moteur d'écriture. Les explications suivantes vous
éclaireront :
Etant donné que PHP avec l'extension Hyperwave et Apache tend à
remplacer la solution native basée sur Wavemaster, je vais supposer que
le serveur Apache servira seulement d'interface Hyperwave. Ce n'est pas
nécessaire, mais cela simplifie grandment la configuration. Le
concept est très simple. Premièrement, vous avez besoin d'un
script PHP qui évalue la variable PATH_INFO et
considère que cette valeur est un objet Hyperwave. Appelons ce script
'Hyperwave'. L'URL
http://votre.hote/Hyperwave/nom_objet
retourne alors l'objet Hyperwave dont le nom est 'nom_objet'. Le script doit
alors réagir suivant le type de l'objet. Si c'est un groupe, il devra
probablement retourner une liste de fils. Si c'est un document, il pourra
retourner son type MIME et son contenu. Une amélioration peut
être obtenue en utilisant le moteur de réécriture d'Apache.
D'un point de vue utilisateur, il est plus direct si l'URL
http://votre.hote/nom_objet
retourne l'objet. La règle de réécriture est simple :
|
RewriteRule ^/(.*) /usr/local/apache/htdocs/HyperWave/$1 [L]
|
Maintenant toutes les URL pointent sur un objet Hyperwave. Cela conduit à
un problème simple. Il n'y a pas d'autre façon d'exécuter,
c'est-à-dire rechercher, un autre script que ce script 'Hyperwave'.
Cela pourra être corrigé avec une autre règle telle que:
|
RewriteRule ^/hw/(.*) /usr/local/apache/htdocs/hw/$1 [L]
|
Le dossier /usr/local/apache/htdocs/hw
sera ainsi réservé pour d'autres scripts et fichiers. Assurez-vous que
cette règle est évaluée avant la première
règle que nous avons définie. Il y a juste un léger
inconvénient : tous les objets Hyperwave qui commencent par 'hw/' seront
cachés. Alors, assurez-vous que vous n'utilisez pas de tels noms. Si vous
avez besoin d'autres dossiers, par exemple, un dossier d'images, ajoutez
simplement d'autres règles. N'oubliez pas de lancer le moteur de
réécriture avec
Mon expérience m'a montré que vous aurez besoin
des scripts suivants :
Retourne l'objet lui-même
Pour autoriser la recherche
S'identifier
Choisir une configuration
Un script pour chaque fonction supplémentaire, comme afficher
un objet, afficher des informations sur les utilisateurs, afficher
le statut du serveur, etc...
|