Что такое код hw_api_object >insert

Содержание

FPublisher

Web-технологии: База знаний

Документация PHP

hw_api_object->insert

(No version information available, might be only in CVS)

hw_api_object->insert — Inserts new attribute

Описание

bool insert ( HW_API_Attribute $attribute )

Adds an attribute to the object.

Список параметров

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Смотрите также

Последние поступления:

ТехЗадание на Землю

Размещена 14 марта 2020 года

Пpоект Genesis (из коpпоpативной пеpеписки)

Шпаргалка по работе с Vim

Размещена 05 декабря 2020 года

Vim довольно мощный редактор, но работа с ним не всегда наглядна.
Например если нужно отредактировать какой-то файл например при помощи crontab, без знания специфики работы с viv никак.

Ошибка: Error: Cannot find a val >Размещена 13 сентабря 2020 года

Если возникает ошибка на centos 5 вида
YumRepo Error: All mirror URLs are not using ftp, http[s] or file.
Eg. Invalid release/

Linux Optimization

Размещена 30 июля 2012 года

Hyperwave API Функции

Integration with Apache

The integration with Apache and possible other servers is already described in the Hyperwave module which has been the first extension to connect a Hyperwave Server.

> The API prov > HW_API
  • HW_API_Object
  • HW_API_Attribute
  • HW_API_Error
  • HW_API_Content
  • HW_API_Reason
  • Some basic >HW_API_String, HW_API_String_Array, etc., which exist in the Hyperwave SDK have not been implemented since PHP has powerful replacements for them.

    Each > objectIdentifier The name or id of an object, e.g. «rootcollection», «0x873A8768 0x00000002».

  • parentIdentifier The name or id of an object which is considered to be a parent.
  • object An instance of class HW_API_Object.
  • parameters An instance of class HW_API_Object.
  • version The version of an object.
  • mode An integer value determine the way an operation is executed.
  • attributeSelector Any array of strings, each containing a name of an attribute. This is used if you retrieve the object record and want to include certain attributes.
  • objectQuery A query to select certain object out of a list of objects. This is used to reduce the number of objects which was delivered by a function like hw_api->children() or hw_api->find() .
  • Methods returning boolean can return TRUE, FALSE or HW_API_Error object.

    Пишем документацию API при помощи RAML

    Удобство работы с любым API во многом зависит от того, как написана и оформлена его документация. Cейчас мы ведём работу по стандартизации и унификации описания всех наших API, и вопросы документирования для нас особенно актуальны.
    После долгих поисков мы решили оформлять документацию в формате RAML. Так называется специализированный язык для описания REST API. О его возможностях и преимуществах мы расскажем в этой статье.

    Почему RAML

    Как нужно документировать API? Вопрос этот не так прост, как может показаться на первый взгляд.
    Первый и самый простой вариант, который приходит на ум — представить описание к API в виде обычного текстового документа. Так делают очень многие (в том числе и очень известные компании). Мы тоже не раз пользовались этим способом. При всей своей простоте он обладает следующими недостатками:

    • текстовую документацию сложно поддерживать в актуальном состоянии;
    • зачастую словесные описания API оказываются недостаточно наглядными;
    • сфера использования «словесной» документации очень ограничена (например, на её основе нельзя сгенерировать интерактивную тестовую страницу).

    Чтобы упростить процесс документирования, можно использовать специализированные инструменты и сервисы. Как правило, они генерируют документацию на основе описания в некотором стандартизованном формате — обычно это JSON или Markdown.

    Ни один из этих форматов для написания документации не подходит. JSОN был изначально создан для обмена данными в вебе. При использовании его для других целей поневоле приходится прибегать к помощи «костылей» — например, кастомных полей, начинающихся со знака $. Кроме того, составлять описания в формате JSON вручную — дело достаточно рутинное и утомительное (в особенности если речь идёт об описаниях большого размера).

    На описанные выше трудности обращали внимание многие пользователи популярного инструмента Swagger. Вскоре разработчики Swagger решили упростить работу по написанию спецификаций и создали фирменный редактор с поддержкой формата YAML.

    Конечно, YAML гораздо удобнее, чем JSON. Но и его использование сопряжено с определёнными трудностями. Дело в том, что в описаниях API всегда имеются повторяющиеся элементы (например, схема ответа, которая может быть одинаковой для разных типов HTTP-запросов), которые приходится всякий раз прописывать вручную. Вот если бы можно их было раз и навсегда прописать в отдельном файле и ссылаться на него в случае небходимости… Но, увы, пока что такой возможности нет.

    Что касается формата Markdown (он используется, например, в API BluePrint), то предназначен в первую очередь для оформления текста, а не для использования в качестве основы для генерирования. Приспособить его под документирование API очень сложно. По этой же причине не привели к каким-либо заметным результатам попытки cоздать формат описания API на базе XML — например, язык WADL (Web Application Desription Language), разработанный компанией Sun Microsystems ещё в 2009 году, но так и не получивший широкого распространения.

    Создатели проекта RAML (эта аббревиатура означает RESTful API Modeling Language — язык для моделирования REST API ) предприняли попытку разработать язык, предназначенный исключительно для описания API и исправить недочёты, свойственные другим форматам. Первая версия спецификации RAML была опубликована в 2013 году. Основным разработчиком RAML является компания MuleSoft; в проекте также принимают участие представители таких известных компаний, как Cisco, PayPal, ВoxInc. и других.

    Несомненными преимуществами RAML являются:

    • простой и логичный синтаксис, основанный на формате YAML;
    • поддержка наследования и возможность подключения внешних файлов спецификаций.

    Дополнительным плюсом является наличие большого количества конвертеров, парсеров и генераторов интерактивной документации. О некоторых из них мы расскажем ниже, а пока перейдём к обзору особенностей синтаксиса RAML.

    Краткое введение в RAML

    Структура документа

    Файл спецификаций на RAML состоит из следующих структурных элементов:

    • вводная часть («шапка»);
    • схема безопасности;
    • описание профилей;
    • описание объектов и методов;
    • описание ответов.

    Рассмотрим эти элементы подробнее.

    Вводная часть

    Каждый документ на RAML начинается с вводной части, которая включает четыре обязательных элемента:

    • версия RAML;
    • имя документа;
    • URI, по которому доступен API;
    • версия API, описываемая в документации.

    Выглядит это так:

    Вводная часть может также включать различную дополнительную информацию — например, сведения об используемом протоколе для связи с API:

    Можно во вводной части прописать и метаданные файла документации:

    Схемы безопасности

    Чтобы начать работать с любым API, нужно пройти процедуру авторизации. Она может осуществляться разными способами: через OAuth, с помощью токенов, либо посредством простой HTTP-аутентификации. Для описания этой процедуры в RAML используются схемы безопасности (security schemes).
    Рассмотрим в качестве примера, как описывается авторизация с использованием протокола OAuth2:

    Приведённый фрагмент содержит следующую информацию:

    • в параметре type указывается, что в API используется авторизация по протоколу OAuth2;
    • далее указывается, что авторизационные данные можно передавать либо в заголовке Authorization, либо в query-параметре access_token;
    • после этого следуют возможные коды ответов и их описания;
    • в конце раздела, в секции settings указываются URL для авторизации, URL для получения токена, а также необходимые для аутентификации параметры (authorization grants).

    Для удобства схемы безопасности можно сохранять в отдельных файлах .raml или .yml, и затем обращаться к ним в случае необходимости:

    Это помогает ускорить процесс документирования, избежать лишних повторений и сделать документацию менее громоздкой.

    Почитать более подробно о схемах безопасности и ознакомиться с конкретными примерами можно здесь(раздел Security).

    Объекты и методы

    Далее перечисляются основные объекты и пути к ним, а также HTTP-методы, которые используются с этими объектами:

    В приведённом примере описывается API, с помощью которого можно работать с документами. Мы можем скачивать документы на локальную машину (GET), изменять cуществующие документы (PUT) и загружать новые (POST). С каждым отдельным документом () мы можем также выполнять следующие операции: загрузка на локальную машину (GET) и удаление (DELETE).
    HTTP-заголовки, используемые с тем или иным методом, описываются при помощи свойства headers, например:

    Обратите внимание на свойство required: оно указывает, является ли заголовок обязательным (true) или необязательным (false).
    В описании объектов и методов могут использоваться многочисленные дополнительные параметры. Рассмотрим следующий пример:

    Здесь мы указываем, что каждый из документов, доступ к которым можно получить через API, имеет собственный идентификационный код в виде строки (type: string), а также описываем формат этого кода с помощью регулярных выражений.

    Свойства description, type и pattern можно использовать и в описаниях методов, например:

    В описании метода POST мы указываем параметры, которые нужно передать в теле запроса для добавления нового документа: ID, имя и имя автора. Каждый из этих параметров является строкой (type: string). Обратите внимание на свойство required: оно указывает, является ли параметр обязательным (true) или необязательным (false).

    Для каждого метода можно прописать индивидуальную схему безопасности:

    Query-параметры

    Для каждого метода в документации можно указать query-параметры, которые будут использоваться в запросе. Для каждого query-параметра указываются следующие характеристики: имя, тип, описание и пример:

    Профили

    Чтобы избежать лишних повторений в описаниях, в RAML используются профили (traits), которые прописываются во вводной части документа:

    В дальнейшем к профилю можно обращаться при описании любых методов:

    Более подробно о профилях и особенностях их использования можно почитать в официальной документации (раздел Traits).

    Описание ответа

    В описании ответа обязательно указывается его код. Также в описание можно добавить схему (schema) — перечисление входящих в ответ параметров и их типов. Можно также привести пример конкретного ответа (example).

    Cхемы ответов можно сохранять в отдельных файлах формата .yml или .raml и обращаться к ним в других частях документации:

    Визуализация и генерация документации

    RAML2HTML и другие конвертеры

    Несмотря на то, что RAML — формат относительно новый, для него уже разработано достаточное количество конвертеров и парсеров. В качестве примера можно привести ram2htmtl, генерирующий на основе описания в формате RAML статическую HTML-страницу.
    Устанавливается он при помощи менеджера пакетов npm:

    Чтобы сконвертировать RAML-файл в HTML, достаточно выполнить простую команду:

    Поддерживается возможность создания собственных шаблонов для HTML-файлов (подробнее об этом см. в документации на GitHub по ссылке выше).
    Из других конвертеров рекомендуем также обратить внимание на RAML2Wiki и RAML2Swagger.

    API Designer

    Компания Mulesoft (один из активных участников проекта RAML) создала специальный онлайн-инструмент, с помощью которого можно упростить работу по написанию документации и последующему тестированию API. Называется он API Designer.
    Чтобы начать им пользоваться, нужно сначала зарегистрироваться на сайте. После этого можно приступать к работе. API designer предоставляет, во-первых, удобный интерактивный редактор для написания документации онлайн, а во-вторых — платформу для тестирования.
    Выглядит всё это так:

    В правой части страницы автоматически генерируется интерактивная документация. Здесь же можно и протестировать API: для этого достаточно просто развернуть описание нужного запроса и нажать на кнопку Try it.

    API Designer позволяет также загружать RAML-файлы с локальной машины. Поддерживается импорт файлов описаний API для Swagger.
    Кроме того, API Designer хранит статистику тестовыx запросов к API.

    API console

    API console — полезный инструмент, разработанный всё той же компанией MuleSoft. С его помощью можно прямо в браузере генерировать документацию к API. Файлы спецификаций можно как загрузить с локальной машины, так и указать ссылку на внешний источник:

    В состав API Console входит несколько файлов-образцов, представляющих собой описания API популярных веб-сервисов: Twitter, Instagram, Box.Com, LinkedIn. Мы попробовали сгенерировать на основе одного из низ документацию — выглядит вполне симпатично:

    Документация, получаемая на выходе, является интерактивной: в ней можно не только прочитать описание API, но и выполнить тестовые запросы.

    Заключение

    В этой статье мы рассмотрели основные возможности RAML. Его несомненными преимуществами являются простота и логичность. Надеемся, что в скором будущем RAML получить ещё более широкое распространение и займёт достойное место в ряду инструментов для документирования API.
    Если у вас есть вопросы — добро пожаловать в комментарии. Будем также рады, если вы поделитесь собственным опытом использования RAML на практике.

    Если вы по тем или иным причинам не может оставлять комментарии здесь — добро пожаловать в наш блог.

    Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

    Команды для работы с API панели управления ISPmanager 5

    Ниже представлен список полезных команд для работы с API панели управления ISPmanager 5 версии. Список не полный, но самое нужное будет изложено.

    /usr/local/mgr5/sbin/mgrctl -m ispmgr –info – вывести список команд для работы с API ISPmanager

    /usr/local/mgr5/sbin/mgrctl -m ispmgr webdomain – вывести список всех добавленных www доменов с настройками и опциями

    /usr/local/mgr5/sbin/mgrctl -m ispmgr authlog – вывести лог всех авторизаций и входов в панель управления ISPmanager

    /usr/local/mgr5/sbin/mgrctl -m ispmgr db – вывести список всех баз данных с опциями и настройками

    hw_api->insert

    (PHP 4, PHP 5 hw_api->insert — Inserts a new object

    Description

    Insert a new object. The object type can be user, group, document or anchor. Depending on the type other object attributes has to be set.

    Parameters

    The parameter array contains the required elements ‘object’ and ‘content’ (if the object is a document) and the optional parameters ‘parameters’, ‘mode’ and ‘attributeSelector’. The ‘object’ must contain all attributes of the object. ‘parameters’ is an object as well holding further attributes like the destination (attribute key is ‘Parent’). ‘content’ is the content of the document. ‘mode’ can be a combination of the following flags:

    HW_API_INSERT_NORMAL The object in inserted into the server. HW_API_INSERT_FORCE_VERSION_CONTROL HW_API_INSERT_AUTOMATIC_CHECKOUT HW_API_INSERT_PLAIN HW_API_INSERT_KEEP_TIME_MODIFIED HW_API_INSERT_DELAY_INDEXING

    hw_api->insertdocument

    (PHP 4, PHP 5 hw_api->insertdocument — Inserts a new object of type document

    Описание

    This function is a shortcut for hwapi_insert() . It inserts an object with content and sets some of the attributes required for a document.

    Список параметров

    The parameter array contains the required elements ‘object’, ‘parentIdentifier’ and ‘content’ and the optional elements ‘mode’, ‘parameter’ and ‘attributeSelector’.

    See hwapi_insert() for the meaning of each element.

    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= .

    API, предоставляемый расширением HW_API, является полностью объектно-ориентированным. Он очень похож на интерфейс C++ Hyperwave SDK. Он состоит из следующих классов.



    Некоторые базовые классы вроде 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_object

    (PHP 4, PHP 5 hw_api_object — Creates a new instance of class hw_api_object

    Описание

    Creates a new instance of the >hw_api_object.

    Список параметров

    Возвращаемые значения

    Смотрите также

    НОВОСТИ ФОРУМА
    Рыцари теории эфира
    01.10.2020 — 05:20: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ — Upbringing, Inlightening, Education ->
    [center][Youtube]69vJGqDENq4[/Youtube][/center]
    [center]14:36[/center]
    Osievskii Global News
    29 сент. Отправлено 05:20, 01.10.2020 г.’ target=_top>Просвещение от Вячеслава Осиевского — Карим_Хайдаров.
    30.09.2020 — 12:51: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ — Upbringing, Inlightening, Education ->
    [center][Ok]376309070[/Ok][/center]
    [center]11:03[/center] Отправлено 12:51, 30.09.2020 г.’ target=_top>Просвещение от Дэйвида Дюка — Карим_Хайдаров.
    30.09.2020 — 11:53: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ — Upbringing, Inlightening, Education ->
    [center][Youtube]VVQv1EzDTtY[/Youtube][/center]
    [center]10:43[/center]

    интервью Раввина Борода https://cursorinfo.co.il/all-news/rav.
    мой телеграмм https://t.me/peshekhonovandrei
    мой твиттер https://twitter.com/Andrey54708595
    мой инстаграм https://www.instagram.com/andreipeshekhonow/

    [b]Мой комментарий:
    Андрей спрашивает: Краснодарская синагога — это что, военный объект?
    — Да, военный, потому что имеет разрешение от Росатома на манипуляции с радиоактивными веществами, а также иными веществами, опасными в отношении массового поражения. Именно это было выявлено группой краснодарцев во главе с Мариной Мелиховой.

    [center][Youtube]CLegyQkMkyw[/Youtube][/center]
    [center]10:22 [/center]

    Доминико Риккарди: Россию ждёт страшное будущее (хотелки ЦРУ):
    https://tainy.net/22686-predskazaniya-dominika-rikardi-o-budushhem-rossii-sdelannye-v-2000-godu.html

    Завещание Алена Даллеса / Разработка ЦРУ (запрещено к ознакомлению Роскомнадзором = Жид-над-рус-надзором)
    http://av-inf.blogspot.com/2013/12/dalles.html

    [center][b]Сон разума народа России [/center]

    [center][Youtube]CLegyQkMkyw[/Youtube][/center]
    [center]10:22 [/center]

    Доминико Риккарди: Россию ждёт страшное будущее (хотелки ЦРУ):
    https://tainy.net/22686-predskazaniya-dominika-rikardi-o-budushhem-rossii-sdelannye-v-2000-godu.html

    Завещание Алена Даллеса / Разработка ЦРУ (запрещено к ознакомлению Роскомнадзором = Жид-над-рус-надзором)
    http://av-inf.blogspot.com/2013/12/dalles.html

    [center][b]Сон разума народа России [/center]

    Hyperwave API Функции

    Integration with Apache

    The integration with Apache and possible other servers is already described in the Hyperwave module which has been the first extension to connect a Hyperwave Server.

    > The API prov > HW_API
  • HW_API_Object
  • HW_API_Attribute
  • HW_API_Error
  • HW_API_Content
  • HW_API_Reason
  • Some basic >HW_API_String, HW_API_String_Array, etc., which exist in the Hyperwave SDK have not been implemented since PHP has powerful replacements for them.

    Each > objectIdentifier The name or id of an object, e.g. «rootcollection», «0x873A8768 0x00000002».

  • parentIdentifier The name or id of an object which is considered to be a parent.
  • object An instance of class HW_API_Object.
  • parameters An instance of class HW_API_Object.
  • version The version of an object.
  • mode An integer value determine the way an operation is executed.
  • attributeSelector Any array of strings, each containing a name of an attribute. This is used if you retrieve the object record and want to include certain attributes.
  • objectQuery A query to select certain object out of a list of objects. This is used to reduce the number of objects which was delivered by a function like hw_api::children() or hw_api::find() .
  • Methods returning boolean can return TRUE , FALSE or HW_API_Error object.

    hw_api::insert

    Inserts a new object

    Description

    Insert a new object. The object type can be user, group, document or anchor. Depending on the type other object attributes has to be set.

    Parameters

    The parameter array contains the required elements ‘object’ and ‘content’ (if the object is a document) and the optional parameters ‘parameters’, ‘mode’ and ‘attributeSelector’. The ‘object’ must contain all attributes of the object. ‘parameters’ is an object as well holding further attributes like the destination (attribute key is ‘Parent’). ‘content’ is the content of the document. ‘mode’ can be a combination of the following flags: HW_API_INSERT_NORMAL The object in inserted into the server. HW_API_INSERT_FORCE_VERSION_CONTROL HW_API_INSERT_AUTOMATIC_CHECKOUT HW_API_INSERT_PLAIN HW_API_INSERT_KEEP_TIME_MODIFIED HW_API_INSERT_DELAY_INDEXING

    Илон Маск рекомендует:  Что такое spa или одностраничный портал
    Понравилась статья? Поделиться с друзьями:
    Кодинг, CSS и SQL