LIV. Hyperwave API 関数

導入

Hyperwave は、グラーツにある IICM で開発されています。 当初は Hyper-G という名前でしたが、 商用化の際に (1996 年に) Hyperwave という名前に変わりました。

Hyperwave はフリーソフトウェアではありません。現在のバージョンである 5.5 は http://www.hyperwave.com/ で入手可能です。 期間限定 (30 日) のフリー版も注文できます。

Hyperwave モジュールも参照ください。

Hyperwave は、データベースに似た情報システム (HIS, Hyperwave Information Server) で、 文書の保存や管理に重点をおいています。 文書は、いくつかのデータに分割されてファイルに保存されます。 個々の文書にはオブジェクトレコードが付属し、 オブジェクトレコードには文書のメタデータが含まれます。 メタデータは属性のリストで、これはユーザが拡張することができます。 属性の中のいくつかは Hyperwave サーバが常に設定し、 それ以外についてはユーザによって変更されます。

要件

2001 年より、Hyperwave SDK が使用可能です。これは Java、 JavaScript そして C++ をサポートしています。この PHP 拡張モジュールは C++ 版のインターフェイスをもとにしています。 PHP で hwapi のサポートを有効にするには、まずはじめに Hyperwave SDK をインストールしなければなりません。

インストール手順

Hyperwave SDK をインストールしてから、 --with-hwapi[=DIR] を指定して PHP の configure を行います。

Apache との統合

Apache やその他のサーバと統合するための情報は、すでに Hyperwave モジュールで説明されています。 これは、Hyperwave サーバに接続するための最初の拡張モジュールでした。

実行時設定

php.ini の設定により動作が変化します。

表 1. Hyperwave API 設定オプション

名前デフォルト変更の可否変更履歴
hwapi.allow_persistent"0"PHP_INI_SYSTEM 
PHP_INI_* 定数の詳細および定義については 付録G を参照してください。

リソース型

リソース型は定義されていません。

定義済み定数

定数は定義されていません。

クラス

HW_API 拡張モジュールが提供する API は、完全にオブジェクト指向です。 Hyperwave SDK の C++ インターフェイスに非常によく似ています。 この API は、以下のクラスからなります。

  • HW_API

  • HW_API_Object

  • HW_API_Attribute

  • HW_API_Error

  • HW_API_Content

  • HW_API_Reason

Hyperwave SDK に含まれているクラスのうち、 HW_API_StringHW_API_String_Array のような基本的なクラスは実装されていません。 PHP には、それらに代わる強力な機能があるからです。

各クラスにはメソッドが含まれており、その名前は Hyperwave SDK の対応するメソッドと同じです。この関数に引数を渡す方法は PHP の他の拡張モジュールとは少し異なっており、HW SDK の C++ API に似ています。複数のパラメータを別々に渡すのではなく、 それらをひとつの連想配列にまとめて単一のパラメータとして渡します。 連想配列のキーの名前は、HW SDK に記述されている内容と同じです。 一般的なパラメータについては以下で説明します。 それ以外のパラメータが必要になる場合は、必要に応じて説明されます。

  • objectIdentifier オブジェクトの名前あるいは ID。 例 "rootcollection"、"0x873A8768 0x00000002"。

  • parentIdentifier 親オブジェクトの名前あるいは ID。

  • object HW_API_Object クラスのインスタンス。

  • parameters HW_API_Object クラスのインスタンス。

  • version オブジェクトのバージョン。

  • mode 実行される操作を定義する整数値。

  • attributeSelector 文字列の配列で、個々の要素は属性の名前となります。 オブジェクトレコードを取得する際に特定の属性を含めたい場合に使用します。

  • objectQuery オブジェクトのリストの中から特定のオブジェクトを選択するためのクエリ。 hw_api->children()hw_api->find() のような関数から返されるオブジェクトの数を減らすために使用します。

注意: boolean 型のメソッドは、 TRUEFALSE あるいは HW_API_Error オブジェクトを返します。

目次
hw_api_attribute->key -- 属性のキーを返す
hw_api_attribute->langdepvalue -- 指定した言語の値を返す
hw_api_attribute->value -- 属性の値を返す
hw_api_attribute->values -- 属性のすべての値を返す
hw_api_attribute -- hw_api_attribute クラスのインスタンスを作成する
hw_api->checkin -- オブジェクトをチェックインする
hw_api->checkout -- オブジェクトをチェックアウトする
hw_api->children -- オブジェクトの子を返す
hw_api_content->mimetype -- mimetype を返す
hw_api_content->read -- コンテンツを読み込む
hw_api->content -- オブジェクトのコンテンツを返す
hw_api->copy -- 物理的にコピーする
hw_api->dbstat -- データベースサーバの統計情報を返す
hw_api->dcstat -- 文書キャッシュサーバの統計情報を返す
hw_api->dstanchors -- すべての対象アンカーの一覧を返す
hw_api->dstofsrcanchor -- ソースアンカーの対象を返す
hw_api_error->count -- 原因の数を返す
hw_api_error->reason -- エラーの原因を返す
hw_api->find -- オブジェクトを検索する
hw_api->ftstat -- フルテキストサーバの統計情報を返す
hwapi_hgcsp -- hw_api クラスのオブジェクトを返す
hw_api->hwstat -- Hyperwave サーバについての統計情報を返す
hw_api->identify -- Hyperwave サーバにログインする
hw_api->info -- サーバ設定についての情報を返す
hw_api->insert -- 新しいオブジェクトを挿入する
hw_api->insertanchor -- アンカー型の新しいオブジェクトを挿入する
hw_api->insertcollection -- コレクション型の新しいオブジェクトを挿入する
hw_api->insertdocument -- 文書型の新しいオブジェクトを挿入する
hw_api->link -- オブジェクトへのリンクを作成する
hw_api->lock -- オブジェクトをロックする
hw_api->move -- コレクション間でオブジェクトを移動する
hw_api_content -- hw_api_content クラスの新しいインスタンスを作成する
hw_api_object->assign -- オブジェクトを複製する
hw_api_object->attreditable -- 属性が編集可能かどうかを調べる
hw_api_object->count -- 属性の数を返す
hw_api_object->insert -- 新しい属性を挿入する
hw_api_object -- hw_api_object クラスの新しいインスタンスを作成する
hw_api_object->remove -- 属性を削除する
hw_api_object->title -- title 属性を返す
hw_api_object->value -- 属性の値を返す
hw_api->object -- 属性の情報を取得する
hw_api->objectbyanchor -- アンカーが所属しているオブジェクトを返す
hw_api->parents -- オブジェクトの親を返す
hw_api_reason->description -- 原因の説明を返す
hw_api_reason->type -- 原因の型を返す
hw_api->remove -- オブジェクトを削除する
hw_api->replace -- オブジェクトを置き換える
hw_api->setcommittedversion -- 最後のバージョン以外のバージョンをコミットする
hw_api->srcanchors -- ソースアンカーの一覧を返す
hw_api->srcsofdst -- 対象オブジェクトのソースを返す
hw_api->unlock -- オブジェクトのロックを解除する
hw_api->user -- 自分自身のユーザオブジェクトを返す
hw_api->userlist -- ログイン中の全ユーザの一覧を返す