|
XXXIX. Функции Hyperwave APIHyperwave был разработан 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
Некоторые базовые классы вроде HW_API_String, HW_API_String_Array, etc., которые имеются в
Hyperwave SDK, не реализованы, поскольку PHP имеет для них полноценную замену.Каждый класс имеет метод, имя которого идентично имени его двойника из 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 и, возможно, другими серверами уже описана в модуле 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 пользователей
| |