 |
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 ïîëüçîâàòåëåé
|  |