Функции Hyperwave API
XXXIX. Функции Hyperwave API
Введение
Hyperwave был разработан IICM в Graz. Он начинался как Hyper-G и сменил название на Hyperwave при коммерциализации (насколько помню, это было в 1996).
Hyperwave это не бесплатная программа. Текущая версия, 5.5, доступна на www.hyperwave.com. Можно запросить оценочную версию с ограниченным временем использования (30 дней).
Hyperwave это информационная система, аналогичная database (HIS, Hyperwave Information Server). Она сфокусирована на хранении и обслуживании документов. Документом может быть любой блок данных, которые могут сохраняться в файле. Каждый документ сопровождается записью объекта. Запись объекта/object record содержит метаданные документа. Метаданные это список атрибутов, который может быть расширен пользователем. Некоторые атрибуты всегда устанавливаются Hyperwave-сервером, другие могут модифицироваться пользователем.
Требования
С 2001 г. доступен Hyperwave SDK. Он поддерживает Java, JavaScript и C++. Данное расширение PHP базируется на интерфейсе C++. Чтобы активировать поддержку hwapi в PHP, вы должны сначала установить Hyperwave SDK и сконфигурировать PHP с опцией --with-hwapi=<dir$gt;.
Классы
API, предоставляемый расширением HW_API, является полностью объектно-ориентированным. Он очень похож на интерфейс C++ Hyperwave SDK. Он состоит из следующих классов.
HW_API
HW_API_Object
HW_API_Attribute
HW_API_Error
HW_API_Content
HW_API_Reason
Каждый класс имеет метод, имя которого идентично имени его двойника из Hyperwave SDK. Передача аргументов такой функции отличается от всех других расширений PHP и напоминает C++ API пакета HW SDK. Вместо передачи различных параметров, они все помещаются в ассоциативный массив и передаются как один параметр. Имена ключей идентичны именам, задокументированным в 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().
Интеграция с Apache
Интеграция с Apache и, возможно, другими серверами уже описана в модуле Hyperwave Modul, который был первым расширением для соединения с Hyperwave Server.
- Содержание
- hw_api_attribute->key — возвращает ключ/key атрибута
- hw_api_attribute->langdepvalue — возвращает значение для данного языка
- hw_api_attribute->value — возвращает значение атрибута
- hw_api_attribute->values — возвращает все значения атрибута
- hw_api_attribute - создаёт экземпляр класса hw_api_attribute
- hw_api->checkin - проверяет in-объект
- hw_api->checkout - проверяет out-объект
- 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->dstofsrcanchors — возвращает назначение якоря-источника
- hw_api_error->count - возвращает количество причин/reasons
- hw_api_error->reason — возвращает reason ошибки
- hw_api->find - ищет объекты
- hw_api->ftstat — возвращает статистику fulltext-сервере
- hwapi_hgcsp — возвращает объект класса hw_api
- hw_api->hwstat — возвращает статистику о Hyperwave-сервере
- hw_api->identify - входит/Log в Hyperwave-сервер
- hw_api->info — возвращает информацию о конфигурации сервера
- hw_api->insert - вставляет новый объект
- hw_api->insertanchor - вставляет новый объект типа anchor
- hw_api->insertcollection - вставляет новый объект типа collection
- hw_api->insertdocument - вставляет новый объект типа document
- 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 — возвращает название атрибута
- hw_api_object->value — возвращает значение атрибута
- hw_api->object - запрашивает информацию атрибута
- hw_api->objectbyanchor — возвращает объект, к которому принадлежит anchor
- hw_api->parents — возвращает родителя объекта
- hw_api_reason->description — возвращает описание reason
- hw_api_reason->type — возвращает тип reason/причины
- hw_api->remove - удаляет объект
- hw_api->replace - заменяет объект
- hw_api->setcommitedversion - подтверждает версию, отличную от последней версии
- hw_api->srcanchors — возвращает список всех anchor-источников
- hw_api->srcsofdst — возвращает источник объекта назначения
- hw_api->unlock - разблокирует блокированный объект
- hw_api->user — возвращает пользователя объекта
- hw_api->userlist — возвращает список всех вошедших/logged in пользователей