XLV. Hyperwave API

Introduction

Hyperwave a été développé à l'IICM à Graz. Le projet a commencé avec le nom de Hyper-G, puis il est devenu Hyperwave, lors de sa commercialisation en 1996.

Hyperwave n'est pas un logiciel libre. Sa version courante, la 5.5, est disponible à http://www.hyperwave.com/. Une version limitée dans le temps est commandable gratuitement (30 jours).

Voir aussi le module Hyperwave.

Hyperwave est un système d'information comparable à une base de données (HIS, Hyperwave Information Server). Il se concentre sur le stockage et la gestion de documents. Un document peut être n'importe quelle pièce de données qui soit stockable dans un fichier. Chaque document est accompagné de son propre enregistrement. L'enregistrement contient les méta-données du document. Les méta-données sont des listes d'attributs qui peuvent être manipulés par l'utilisateur. Certains attributs sont gérés par le serveur Hyperwave, les autres peuvent être modifiés par l'utilisateur.

Pré-requis

Depuis 2001, il y a un SDK Hyperwave disponible. Il supporte Java, JavaScript et C++. Cette extension PHP est basée sur l'interface C++. Pour activer le support hwapi de PHP, vous devez installer le SDK d'abord.

Installation

Après avoir installé le SDK Hyperwave, compilez PHP avec l'option --with-hwapi[=DIR].

intégration dans Apache

L'intégration dans Apache et éventuellement d'autres serveurs est déjà décrite dans le module Hyperwave, qui a été la première extension à se connecter au serveur Hyperwave.

Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Tableau 1. Options de configuration

NomPar défautModifiable
hwapi.allow_persistent"0"PHP_INI_SYSTEM
Pour plus de détails sur les constantes PHP_INI_*, reportez-vous à ini_set().

Types de ressources

Cette extension ne définit aucune ressource.

Constantes pré-définies

Cette extension ne définit aucune constante.

Classes

L'API fournie avec l'extension HW_API est complètement orientée objet. Elle est très similaire à l'interface C++ du SDK Hyperwave. Elle est constituée des classes suivantes :

  • HW_API

  • HW_API_Object

  • HW_API_Attribute

  • HW_API_Error

  • HW_API_Content

  • HW_API_Reason

Certains classes basiques comme HW_API_String, HW_API_String_Array, etc., qui existent dans le SDK Hyperwave SDK n'ont pas été implémentées, car PHP a de puissants ersatz pour elles.

Chaque classe dispose de certaines méthodes, dont les noms sont identiques à leur alter ego du SDK Hyperwave SDK. Le passage des arguments à ces fonctions diffère de toutes les autres extensions PHP, mais est proche de l'API C++ du SDK Hyperwave. Au lieu de passer plusieurs paramètres, ils sont tous placés dans un tableau associatif, et transmis sous la forme d'un seul paramètre. Les paramètres les plus communs sont listés ci-dessous. Si d'autres paramètres sont nécessaires, ils seront documentés à chaque cas.

  • objectIdentifier Le nom ou l'identifiant de l'objet, e.g. "rootcollection", "0x873A8768 0x00000002".

  • parentIdentifier Le nom ou l'identifiant de l'objet qui est considéré comme parent.

  • object Une instance de la classe HW_API_Object.

  • parameters Une instance de la classe HW_API_Object.

  • version La version de l'objet.

  • mode Un entier qui détermine la méthode d'exécution de l'opération.

  • attributeSelector Un tableau de chaînes de caractères, chacun contenant le nom d'un attribut. C'est le cas si vous lisez des enregistrements d'objets, et que vous voulez inclure certains attributs.

  • objectQuery Une requête pour sélectionner certains objets dans une liste. Elle est utilisée pour réduire le nombre d'objets qui a été livré par une fonction comme hw_api->children() ou hw_api->find().

Note : Les méthodes retournant un booléen peuvent retourner TRUE, FALSE ou un objet HW_API_Error.

Table des matières
hw_api_attribute->key -- Retourne la clé d'un attribut
hw_api_attribute->langdepvalue -- Retourne la valeur d'un attribut dans une langue
hw_api_attribute->value -- Retourne la valeur d'un attribut
hw_api_attribute->values -- Retourne toutes les valeurs de l'attribut
hw_api_attribute -- Crée une nouvelle instance de la classe hw_api_attribute
hw_api->checkin -- Archive un objet
hw_api->checkout -- Extrait un objet
hw_api->children -- Retourne le fils d'un objet
hw_api_content->mimetype -- Retourne le type MIME
hw_api_content->read -- Lit le contenu
hw_api->content -- Retourne le contenu d'un objet
hw_api->copy -- Copie physique
hw_api->dbstat -- Retourne des statistiques sur le serveur de bases
hw_api->dcstat -- Retourne des statistiques sur le serveur de cache de document
hw_api->dstanchors -- Liste toutes les ancres de destination
hw_api->dstofsrcanchor -- Retourne la destination d'une ancre source
hw_api_error->count -- Retourne le nombre de raisons d'erreurs
hw_api_error->reason -- Retourne la première raison d'erreur
hw_api->find -- Recherche des objets
hw_api->ftstat -- Retourne des statistiques sur le serveur de textes
hwapi_hgcsp -- Retourne un objet de classe hw_api
hw_api->hwstat -- Retourne les statistiques sur le serveur Hyperwave
hw_api->identify -- S'identifie auprès du serveur Hyperwave
hw_api->info -- Retourne des informations sur la configuration du serveur
hw_api->insert -- Insère un nouvel objet
hw_api->insertanchor -- Insère un nouvel objet de type ancre
hw_api->insertcollection -- Insère un nouvel objet de type collection
hw_api->insertdocument -- Insère un nouvel objet de type document
hw_api->link -- Crée un lien avec un objet
hw_api->lock -- Verrouille un objet
hw_api->move -- Déplace un objet d'une collection à l'autre
hw_api_content -- Crée une nouvelle instance de la classe hw_api_content
hw_api_object->assign -- Clone un objet
hw_api_object->attreditable -- Vérifie si un attribut est éditable
hw_api_object->count -- Retourne le nombre d'attributs
hw_api_object->insert -- Insère un nouvel attribut HyperWave
hw_api_object -- Crée une nouvelle instance de la classe hw_api_object
hw_api_object->remove -- Supprime un attribut HyperWave
hw_api_object->title -- Retourne le titre de l'attribut
hw_api_object->value -- Retourne la valeur de l'attribut
hw_api->object -- Lit les informations d'attribut
hw_api->objectbyanchor -- Retourne l'objet propriétaire d'une ancre
hw_api->parents -- Retourne le parent d'un objet
hw_api_reason->description -- Retourne la description d'une raison
hw_api_reason->type -- Retourne le type de raison
hw_api->remove -- Efface un objet
hw_api->replace -- Remplace un objet
hw_api->setcommittedversion -- Valide une version autre que la dernière
hw_api->srcanchors -- Retourne la liste de toutes les ancres
hw_api->srcsofdst -- Retourne les sources d'un objet de destination
hw_api->unlock -- Déverrouille un objet HyperWave verrouillé
hw_api->user -- Retourne le propriétaire d'un objet
hw_api->userlist -- Retourne la liste des utilisateurs connectés